RDBMS术语:
 
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性
 
主键:主键是唯一的,一个数据表中只能包含一个主键,可以使用主键来查询数据
 
外键:外键用于关联两个数据表。
 
复合键(组合键):将多个列作为一个索引键,一般用于复合索引。
 
索引:使用索引可以快速访问数据库表中特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书的目录。
 
参照完整性:参照的完整性要求关系中不允许引用不存在是实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
 
添加用户:
 
mysql的用户数据存储在mysql数据库中的user表下
 
 
 
mysql添加用户的时候不要使用insert命令直接添加,可能会出现下面的错误:
Field 'ssl_cipher' doesn't have a default value
错语原因:
mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户是不能这样直接insert user表的。
解决方法:
 
正确的添加用户方法:
 
GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
 
用户:user01,密码:123456,这样就添加了一个新的用户,不会出以上的错误了。
 
我写此笔记时用的mysql版本是5.7.24,在添加用户时可能会出现这种错误:
Unknown column 'password' in 'field list'
这是因为5.7版本下的mysql没有password这个字段,password改成了authentication_string,用法一样。
password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。
 
 
 
查询当前用户:
select host, user, authentication_string from user;
host指此用户在哪里可以登录到此mysql数据库,localhost(127.0.0.1)表示本地,%表示所有ip,其他固定ip表示仅能通过此ip访问数据库
 
 
删除用户:
delete from user where user='user01' and host='localhost';
 
常用命令:
 
查看表的结构:
desc 表名;
 
显示表的详细索引信息(包括主键):
show index from 表名;
 
显示数据库所用表的信息:
SHOW TABLE STATUS FROM 数据库名;
 
显示以xxx开头的表的信息:
SHOW TABLE STATUS from 数据库名 LIKE 'xxx%';
 
加上\G,查询结构按列打印:
SHOW TABLE STATUS from 数据库名 LIKE 'xxx%'\G;
 posted on 2019-04-21 11:41  lemon_xu  阅读(80)  评论(0编辑  收藏  举报