标签:update 启动 fill http hang pow 设置 rop 主机名
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
关系型数据库
关系型数据库和常见的表格比较相似,数据表与数据表之间是有很多复杂的关联关系的
大多数的关系型数据库都遵循SQL(结构化查询语言,Structured Query Language)
常见的关系型数据库有:MySQL,SQLserver
非关系型数据库
出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。
指的是分布式的、非关系型的、不保证遵循ACID(数据库事务正确执行的四个基本要素的缩写)原则的数据存储系统。
通常以数据集的方式,大量的数据集中存储在一起,类似于键值对、图结构或者文档。
常见的非关系型数据库有:Redis、MongoDB
安装
个人推荐使用安装包安装的形式安装MySQL数据库。省时省力,但是希望你们别遇到像我一样的数据库编码问题(my.ini配置了没用)。如果你们也遇到了数据库编码问题的话,解压包形式的数据库应该能够解决你们的问题。
卸载
如果是安装版的话会比较麻烦:
在cmd中使用mysql命令连接数据库,单纯使用mysql是以游客模式登陆,没有大部分功能。
mysql -u root -p
免安装版初始没有密码,直接回车。
使用-h 指定远程MySQL ip地址,使用-P指定端口号(MySQL默认使用3306端口)
mysql -h 127.0.0.1 -P 2206 -u root -p
退出数据库使用 exit 或 quit
使用 select user();
来查看当前登陆用户
所有的用户信息都在 mysql 数据库的user数据表中,使用select * from mysql.user
查看所有用户信息
创建用户
grant 权限 on 数据库.数据表 to 用户名@'主机名' identified by '密码';
# 如果账户不存在则创建该账户
撤销权限
revoke 权限 on 数据库.数据表 from 用户名@'主机名';
删除用户
drop user 用户名@'主机名';
登陆状态下:
update mysql.user set password = password(新密码) where user != '';
cmd命令:
mysqladmin -u root -p旧密码 -h域名 password 新密码
修改数据库编码是我的一大痛处
这个可以去看看别人的数据库编码怎么修改,没有什么成功的经验,这几次都是运气修改掉了。气
查看已存在数据库
show databases;
创建数据库
create databases 数据库名 charset=编码;
# 如果不设置数据库编码就使用默认编码
查看数据库的详细信息
show create database 数据库名;
选择数据库
use 数据库名;
查看数据库中的所有数据表
show tables;
创建数据表
create table 表名(
字段1 数据类型 约束
...
字段n 数据类型 约束
)charset = 编码 engine = innoDB;
# 一般引擎默认是innoDB
查看数据表详细信息
show create table 数据表名;
查看数据表结构
desc 数据表;
查看数据
select * from 表名;
# * 代表显示所有字段信息
# 可以将 * 替换成字段,指定字段信息显示
插入数据
insert into 表名(字段1,...字段n) values(字段值1,...字段值n);
insert into 表名 values(按照字段顺序填写);
更新数据
update 表名 set 字段 = 字段值 where 字段 = 字段值;
# 如果没有where后的语句会修改整个表的数据
删除数据
delete from 表名 where 字段 = 字段值;
# 如果没有where后的语句会删除整个表的数据
删除数据表
drop table 表名;
删除数据库(谨慎)
drop database 数据库名;
修改数据库编码
alter database 数据库名 charset=编码;
修改数据表名字
alter table 旧表名 rename 新表名;
修改数据表字段名
alter table 表名 change 旧字段 新字段 数据类型;
修改数据表字段数据类型
alter table 表名 modify 字段 新类型;
整型
浮点型
(M, D) => M为位数,D为小数位,M要大于等于D
float(255, 30):精度最低,最常用
double(255, 30):精度高,占位多
decimal(65, 30):字符串存,全精度
字符串型
char:定长,永远采用设置的长度存储数据
varchar:不定长,在设置的长度范围内,变长的存储数据
时间
year:yyyy(1901/2155)
date:yyyy-MM-dd(1000-01-01/9999-12-31)
time:HH:mm:ss
datetime:yyyy-MM-dd HH:mm:ss(1000-01-01 00:00:00/9999-12-31 23:59:59)
timestamp:yyyy-MM-dd HH:mm:ss(1970-01-01 00:00:00/2038-01-19)
枚举与集合
为某一个字段提供选项的 - 枚举只能单选(1个),集合可以多选(0-n个)
primary key:主键,唯一标识,表都会拥有,不设置为默认找第一个 不空,唯一 字段,未标识则创建隐藏字段
foreign key:外键
unique:唯一性数据, 该条字段的值需要保证唯一,不能重复
auto_increment:自增,只能加给key的int类型字段,作为辅助修饰,一个表中只能设置一个自增字段
not null:设置字段不为空 - 针对一些字段
default:默认值 - 对有默认值意外的字段进行赋值时,有默认值的字段会被赋默认值
unsigned:无符号 - 存储的数字从0开始对整型使用
zerofill:0填充 - 存整数时数据长度小于取值范围长度,会在数字左方用0填充
标签:update 启动 fill http hang pow 设置 rop 主机名
原文地址:https://www.cnblogs.com/Gredae/p/11580755.html