MySQL(8.0.18)用户管理与DDL详解
一 、MySQL的用户管理
-
什么是用户管理?
用户管理指的就是管理MySQL数据库中数据的操作权限。 -
如何创建用户?
语法:create user 用户名;
用cmd创建用户,如图所示: -
测试用户
⑴首先使用你的数据库,等你的数据库找到后,再去找到你需要的表,如图:
⑵找到你需要的表后,显示出来会比较乱,你可以过滤查看用户信息,输入这行代码(select host,user,authentication_string from user;)
显示效果如图: -
给新用户设置密码
代码:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
显示结果如图:
这样用户可以输入密码 ,登录了!!!
- 接下来可以给用户设置权限、回收权限、查看用户权限
首先了解下面一些解释词,好让看懂代码:
① privileges: 用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所有权限直接使用:all;
② databasename:数据库名;
③ tablename: 表名,如果要授予用户对所有数据库和表的操作权限直接使用:.;
⑴设置权限(Grant)
语法:grant privileges on databasename.tablename to [email protected]‘host’;
⑵撤销权限(Revoke)----也叫回收权限
语法:revoke privileges on databasename.tablename from [email protected]‘host’;
⑶查看用户权限
命令(语法):show grants for 用户名;
执行结果:
二、 DDL(Data Definition Language)数据定义语言
<< DDL概念: 创建定义表(表、表列段、库…)
<< 数据库的管理
- 创建------->create database 数据库名;
- 删除------>drop database 数据库名;
- 查看所有数据库------>use 数据库名;
<< 数据表的管理
⑴ 表创建语法:Create table 表名(表列段 列段类型 [约束]);
⑵ 六大约束(用可视化工具操作数据库简单快捷一些) - NOT NULL:非空,用于保证该字段的值不能为空
- DEFAULT默认值约束
- PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
- UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
- CHECK:检查约束
- FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中某列的值。
<< 约束的添加方式 - 创表时列段后添加约束----->在表的列段 列段类型添加约束
- 创表时在列段创建结束后添加约束
<< 创表结束后,添加约束 - alter table 表名 add 【constraint 约束名】 约束类型(字段名) 【外键的引用】;
- alter table 表名 modify column 字段名 字段类型 新约束;
- ALTER TABLE 表名 DROP [主键/唯一约束/外键约束]
<< 查看表---->show tables