MySQL(8.0.18)用户管理与DDL详解

一 、MySQL的用户管理

  1. 什么是用户管理?
    用户管理指的就是管理MySQL数据库中数据的操作权限。

  2. 如何创建用户?
    语法:create user 用户名;
    用cmd创建用户,如图所示:
    MySQL(8.0.18)用户管理与DDL详解

  3. 测试用户
    ⑴首先使用你的数据库,等你的数据库找到后,再去找到你需要的表,如图:
    MySQL(8.0.18)用户管理与DDL详解
    ⑵找到你需要的表后,显示出来会比较乱,你可以过滤查看用户信息,输入这行代码(select host,user,authentication_string from user;)
    显示效果如图:
    MySQL(8.0.18)用户管理与DDL详解

  4. 给新用户设置密码
    代码:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

显示结果如图:
MySQL(8.0.18)用户管理与DDL详解
这样用户可以输入密码 ,登录了!!!

  1. 接下来可以给用户设置权限、回收权限、查看用户权限
    首先了解下面一些解释词,好让看懂代码:
    ① privileges: 用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所有权限直接使用:all;
    ② databasename:数据库名;
    ③ tablename: 表名,如果要授予用户对所有数据库和表的操作权限直接使用:.;

设置权限(Grant)
语法:grant privileges on databasename.tablename to [email protected]‘host’;
MySQL(8.0.18)用户管理与DDL详解

撤销权限(Revoke)----也叫回收权限
语法:revoke privileges on databasename.tablename from [email protected]‘host’;
MySQL(8.0.18)用户管理与DDL详解
查看用户权限
命令(语法):show grants for 用户名;
MySQL(8.0.18)用户管理与DDL详解
执行结果:
MySQL(8.0.18)用户管理与DDL详解

二、 DDL(Data Definition Language)数据定义语言

<< DDL概念: 创建定义表(表、表列段、库…)

<< 数据库的管理

  • 创建------->create database 数据库名;
    MySQL(8.0.18)用户管理与DDL详解
  • 删除------>drop database 数据库名;
    MySQL(8.0.18)用户管理与DDL详解
  • 查看所有数据库------>use 数据库名;
    MySQL(8.0.18)用户管理与DDL详解
    << 数据表的管理
    ⑴ 表创建语法:Create table 表名(表列段 列段类型 [约束]);
    MySQL(8.0.18)用户管理与DDL详解
    ⑵ 六大约束(用可视化工具操作数据库简单快捷一些)
  • NOT NULL:非空,用于保证该字段的值不能为空
    MySQL(8.0.18)用户管理与DDL详解
  • DEFAULT默认值约束
    MySQL(8.0.18)用户管理与DDL详解
  • PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
    MySQL(8.0.18)用户管理与DDL详解
  • UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
    MySQL(8.0.18)用户管理与DDL详解
  • CHECK:检查约束
    MySQL(8.0.18)用户管理与DDL详解
  • FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中某列的值。
    MySQL(8.0.18)用户管理与DDL详解
    << 约束的添加方式
  • 创表时列段后添加约束----->在表的列段 列段类型添加约束
    MySQL(8.0.18)用户管理与DDL详解
  • 创表时在列段创建结束后添加约束
    MySQL(8.0.18)用户管理与DDL详解
    << 创表结束后,添加约束
  • alter table 表名 add 【constraint 约束名】 约束类型(字段名) 【外键的引用】;
    MySQL(8.0.18)用户管理与DDL详解
  • alter table 表名 modify column 字段名 字段类型 新约束;
    MySQL(8.0.18)用户管理与DDL详解
  • ALTER TABLE 表名 DROP [主键/唯一约束/外键约束]
    MySQL(8.0.18)用户管理与DDL详解
    << 查看表---->show tables