数据库表说明:
- 用户权限表
select * from mysql.user
- 获取表名和注释映射
- [x] TABLES:存储数据库中的表信息 表属于哪个数据库,表的类型、存储引擎、创建时间等信息
select
*
from
information_schema.tables
where
table_type like '%table%'
select
table_name as '数据表名称',
IFNULL(table_comment, table_name) as '表描述'
from
information_schema.tables
where
table_type like '%table%' and table_schema = '数据库名称'
order by table_name
- 获取获取表字段注释
- [x] COLUMNS:存储表中的列信息,包括表有多少列、每个列的类型等
SELECT
TABLE_SCHEMA AS '表所属的库',
TABLE_NAME AS '表名',
COLUMN_NAME AS '列名',
COLUMN_TYPE AS '字段类型',
ORDINAL_POSITION AS '字段排序',
COLUMN_default AS '字段默认值',
IS_NULLABLE AS '字段是否可以是NULL',
DATA_TYPE AS '数据类型',
CHARACTER_MAXIMUM_LENGTH AS '字段的最大字符数',
CHARACTER_OCTET_LENGTH AS '字段的最大字节数',
COLUMN_KEY AS '索引类型(PRI,代表主键,UNI,代表唯一键,MUL,可重复)',
EXTRA,
PRIVILEGES AS '权限',
COLUMN_COMMENT AS '字段注释'
FROM
information_schema. COLUMNS
WHERE
table_schema = '数据库名称' AND table_name = '表名'
information_schema说明:
-
[ ] schemata表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
-
[ ] tables表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
-
[ ] columns表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
-
[ ] statistics表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
-
[ ] user_privileges(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
-
[ ] schema_privileges(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
-
[ ] table_privileges(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
-
[ ] column_privileges(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
-
[ ] character_sets(字符集)表:提供了mysql实例可用字符集的信息。是show character set结果集取之此表。
-
[ ] collations表:提供了关于各字符集的对照信息。
-
[ ] collation_character_set_applicability表:指明了可用于校对的字符集。这些列等效于show collation的前两个显示字段。
-
[ ] table_constraints表:描述了存在约束的表。以及表的约束类型。
-
[ ] key_column_usage表:描述了具有约束的键列。
-
[ ] routines表:提供了关于存储子程序(存储程序和函数)的信息。此时,routines表不包含自定义函数(udf)。名为“mysql.proc name”的列指明了对应于information_schema.routines表的mysql.proc表列。
-
[ ] views表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。
-
[ ] triggers表:提供了关于触发程序的信息。必须有super权限才能查看该表