6. COLUMN_PRIVILEGES
表COLUMN_PRIVILEGES
提供有关列权限的信息。它从mysql.columns_priv
系统表中获取其值 。
表COLUMN_PRIVILEGES
包含以下列:
-GRANTEE:授予权限的帐户的名称,格式为“user_name”@“host_name”。
- TABLE_CATALOG:包含该列的表所属的目录的名称。这个值总是如此def。
- TABLE_SCHEMA:包含该列的表所属的schema(数据库)名称。
- TABLE_NAME:包含该列的表的名称。
- COLUMN_NAME:列的名称
- PRIVILEGE_TYPE:授予的特权。 该值可以是可以在列级别授予的任何权限; 请参见第“GRANT语法”。 每行列出一个权限,因此被授权者拥有每列一行权限。
在SHOW FULL COLUMNS的输出中,权限全部在一列和小写中,例如,select,insert,update,references。 在COLUMN_PRIVILEGES中,每行有一个特权,大写。
mysql> SHOW FULL COLUMNS from test.account;
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| id | int(11) | NULL | YES | MUL | NULL | | select,insert,update,references | |
| name | char(30) | utf8mb4_general_ci | YES | | NULL | | select,insert,update,references | |
| balance | int(11) | NULL | YES | | NULL | | select,insert,update,references | |
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
3 rows in set (0.00 sec)
- IS_GRANTABLE:如果用户具有GRANT OPTION权限,则为YES,否则为NO。 输出不会将GRANT OPTION列为具有PRIVILEGE_TYPE =’GRANT OPTION’的单独行。
注意
- COLUMN_PRIVILEGES表是一个非标准的INFORMATION_SCHEMA表。
以下陈述不相同:
SELECT ... FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES
SHOW GRANTS ...