一.用户管理

1. 创建用户

基本格式

1
2
3
4
create user 'username'@'localhost' identified by 'password';
#'username'表示安创建的用尸的用尸名
#'localhost'表示用户可以通过连接到MySQL服务器的本地主机,用‘%’表示允许来自任何主机的连接。
#'password'表示要创建的用户的密码

2. 删除用户

基本格式

1
2
drop user 'username'@'localhost';
#'username'表示要删除的用户名

3. 赋予用户权限

基本格式

1
2
3
4
grant 权限 on 数据库名.表名 to 用户名@主机名
# 多个权限之间用逗号隔开
# 数据库名和表名用*代替分别代表所有数据库和所有表
# all privileges 表示赋予所有权限

实例

1
2
GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'localhost';
# 给予用户名=username的用户数据库database_name的表table_name的SELECTINSERT权限

4. 取消用户权限

基本格式

1
revoke 权限 on 数据库名.表名 from 用户名@主机名

实例

1
2
REVOKE SELECT, INSERT ON database_name.table_name FROM 'username'@'localhost';
# 取消用户名=username的用户数据库database_name的表table_name的SELECTINSERT权限

5. 查看用户权限

基本格式

1
show grants for 用户名@主机名

实例

1
2
SHOW GRANTS FOR 'username'@'localhost';
# 查看用户名=username的用户的所有权限

权限列表

权限 描述
all privileges 赋予所有权限
select 查询
insert 插入
update 更新
delete 删除
create 创建
drop 删除
alter 修改

二.数据的约束

1. 约束类型

约束 描述
not null 不允许为空
unique 唯一
primary key 主键
default(默认值) 当列为空时,显示默认值

2. 在创建表时添加约束

基本格式

1
2
3
4
5
create table 表名 (
列名 数据类型 约束,
列名 数据类型 约束,
...
);

3. 在表创建后修改约束

基本格式

1
alter table 表名 modify 列名 数据类型 约束;

删除约束

基本格式

1
2
alter table 表名 modify 列名 数据类型;
# 不加约束,默认为允许null