MySQL数据库之DCL命令
时间:2023-06-29 04:37:00
一、DCL命令
GRANT:授予访问权
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理处理
SAVEPOINT:设置保存点
LOCK:锁定数据库的特定部分
查看用户权限
SHOW GRANTS FOR 表名;
给用户赋权
GRANT 数据库权限 ON 数据库对象 TO 用户名@用户地址 IDENTIFIED BY 用户口令;
二、数据库权限
:
1、SELECT:表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。
2、INSERT:表示授予用户可以使用 INSERT 将数据行的权限添加到特定数据库中的所有表中。
3、DELETE:表示授予用户可以使用 DELETE 删除特定数据库中所有表的数据行的权限。
4、UPDATE:表示授予用户可以使用 UPDATE 在特定数据库中更新所有数据表的权限。
5、REFERENCES:表示授予用户可以在特定数据库中创建表外键的权限。
6、CREATE:授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。
7、ALTER:表示授予用户可以使用 ALTER TABLE 修改特定数据库中所有数据表的权限。
8、SHOW VIEW:表示授予用户可以在特定数据库中查看现有视图定义的权限。
9、CREATE ROUTINE:表示授予用户可以为特定数据库创建存储过程和存储函数的权限。
10、ALTER ROUTINE:表示授予用户更新和删除数据库中现有存储过程和存储函数的权限。
11、INDEX:表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。
12、DROP:表示授予用户删除特定数据库中所有表和视图的权限。
13、CREATE TEMPORARY TABLES:授予用户在特定数据库中创建临时表的权限。
14、CREATE VIEW:表示授予用户可以在特定数据库中创建新的视图的权限。
15、EXECUTE ROUTINE:表示授予用户可以调用特定数据库的存储过程和存储函数的权限。
16、LOCK TABLES:表示授予用户可以锁定特定数据库中现有数据表的权限。
17、SHOW DATABASES:表示可以使用授权SHOW DATABASES查看现有数据库定义的所有权限。
18、ALL或ALL PRIVILEGES:表示上述所有权限。
三、数据表权限:
1、SELECT:允许用户使用 SELECT 语句进行访问特定表的权限。
2、INSERT:允许用户使用 INSERT 将数据行的权限添加到特定的表中。
3、DELETE:允许用户使用 DELETE 语句从特定表中删除数据行的权限。
4、DROP:授予用户删除数据表的权限。
5、UPDATE:允许用户使用 UPDATE 语句更新特定数据表的权限。
6、ALTER:允许用户使用 ALTER TABLE 修改语句数据表的权限。
7、REFERENCES:允许用户创建参考特定数据表的外键权限。
8、CREATE:授予用户使用特定名称创建数据表的权限。
9、INDEX:用户可以在表上定义索引的权限。
10、ALL或ALL PRIVILEGES:所有权限名。
四、权限级别:
1、*:表示当前数据库中的所有表。
2、*.*:表示所有数据库中的所有表。
3、db_name.*:表示某个数据库中的所有表,db_name指定数据库名称。
4、db_name.tbl_name:表示数据库中的表或视图,db_name指定数据库名,tbl_name指定表名或视图名。
5、tbl_name:表示表或视图,tbl_name指定表名或视图名。
6、db_name.routine_name:表示数据库中的存储过程或函数,routine_name指定存储过程名或函数名。