设置root数据库及子数据库设置权限:
1.创建一个root数据库和一个子数据库。
2.查询子用户权限。
SELECT * FROM `user`;
3.创建用户jf。
create user jf`;
4.修改数据库jr密码。
ALTER USER 'jf'@'%' IDENTIFIED WITH
mysql_native_password BY '123456';
5.给 jf用户 赋予 数据库中所有表 所有权限。
grant all on db_xiaoli.* to jf@'%';
grant all on db_xxx.* to jf@'%';
6.查看jf的用户权限。
show grants for 'jf'@'%';
7.可以回收GRANT ALL PRIVILEGES ON db_xxx
.* TO jf
@%
这条赋权语句带来的权限。
revoke all on db_xxx.* from jf@'%';
8.给 jr用户 赋予 数据库db_xxx中所有表 修改权限、查询权限、插入操作。
grant UPDATE on db_xiaoli.t_p1_user to jf@'%';
grant SELECT,UPDATE,INSERT on db_xxx.*to jf@'%';
9.给 jf用户 赋予 数据库db_xxx中所有表 所有权限。
grant ALL on db_db_xxx.* to jf@'%';
10.可以回收GRANT ALL PRIVILEGES ON db_xiaoli
.* TO jf
@%
这条赋权语句带来的权限。
revoke all on db_xiaoli.* from jf@'%';
11.给 jf用户 赋予 数据库db_xiaoli中所有表 所有权限。
grant all on db_xiaoli.`user` to jf@'%';
具体如图:
数据库的管理:
1.创建数据库。
可在用户名为root的连接下看到book该数据库.(不刷新无法看到)
使用刚刚创建的数据库book.
2.创建表
六大约束:
NOT NULL:非空,用于保证该字段的值不能为空,比如姓名、学号等
DEFAULT:默认,用于保证该字段有默认值,比如性别
PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空 比如学号、员工编号等
UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空,比如座位号
CHECK:检查约束【mysql中不支持】比如年龄、性别
FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来 自于主表的关联列的值
3、表的修改
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
(1)修改列名
语法:ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
(2)修改列的类型或约束
语法:ALTER TABLE 表名 MODIFY COLUMN 列名 新类型;
(3)添加新列
语法:ALTER TABLE 表名 ADD COLUMN 新列名 类型;
(4)删除列
语法:ALTER TABLE 表名 DROP COLUMN 列名;
(5)修改表名
语法:ALTER TABLE 原表名 RENAME TO 新表名;
(6)显示所有的表
3、删除表
语法: DROP TABLE IF EXISTS 表名;
4.删除数据库
语法:DROP DATABASE 数据库名;
三、添加约束的情况
(1)创建表时添加约束
在写完每个字段名和类型之后添加约束条件
(2)添加表级约束
语法:在各个字段的最下面
【constraint 约束名】 约束类型(字段名)