SELECT
COLUMN_NAME F_FIELD,
data_type F_DATATYPE,
CHARACTER_MAXIMUM_LENGTH F_DATALENGTH,
NUMERIC_PRECISION 精度,
NUMERIC_SCALE 小数位数,
IF
( IS_NULLABLE = 'YES', '1', '0' ) F_ALLOWNULL,
COLUMN_COMMENT F_FIELDNAME,
IF
( COLUMN_KEY = 'PRI', '1', '0' ) F_PRIMARYKEY,
column_default F_DEFAULTS,
CONCAT( upper( COLUMN_NAME ), '(', COLUMN_COMMENT, ')' ) AS 'F_DESCRIPTION'
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = '表名'
AND TABLE_SCHEMA = '库名'
TABLE_CATALOG | 表限定符 |
---|---|
TABLE_SCHEMA | 表格所属的库 |
TABLE_NAME | 表名 |
COLUMN_NAME | 字段名 |
ORDINAL_POSITION | 顺序 |
COLUMN_DEFAULT | 默认值 |
IS_NULLABLE | 是否为null |
DATA_TYPE | 数据类型 |
CHARACTER_MAXIMUM_LENGTH | 数据长度(字段的最大字符数) |
CHARACTER_OCTET_LENGTH | 存储长度(字段的最大字节数) |
NUMERIC_PRECISION | 数字精度 |
NUMERIC_SCALE | 小数位数 |
DATETIME_PRECISION | datetime类型和SQL-92interval类型数据库的子类型代码。 |
CHARACTER_SET_NAME | 字段字符集名称。比如utf8 |
COLLATION_NAME | 字符集排序规则 |
COLUMN_TYPE | 字段类型。比如varchar(50) |
COLUMN_KEY | 索引类型,可包含的值有PRI,代表主键,UNI,代表唯一键,MUL,可重复 |
EXTRA | 定义列的时候的其他信息,例如自增 |
PRIVILEGES | 操作权限有:select,insert,update,references |
COLUMN_COMMENT | 字段的备注 |
GENERATION_EXPRESSION | 组合字段的公式 |
索引
SHOW INDEX FROM <表名> [ FROM <数据库名>]
参数 | 说明 |
---|---|
Table | 表示创建索引的数据表名,这里是 tb_stu_info2 数据表。 |
Non_unique | 表示该索引是否是唯一索引。若不是唯一索引,则该列的值为 1;若是唯一索引,则该列的值为 0。 |
Key_name | 表示索引的名称。 |
Seq_in_index | 表示该列在索引中的位置,如果索引是单列的,则该列的值为 1;如果索引是组合索引,则该列的值为每列在索引定义中的顺序。 |
Column_name | 表示定义索引的列字段。 |
Collation | 表示列以何种顺序存储在索引中。在 MySQL 中,升序显示值“A”(升序),若显示为 NULL,则表示无分类。 |
Cardinality | 索引中唯一值数目的估计值。基数根据被存储为整数的统计数据计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL 使用该索引的机会就越大。 |
Sub_part | 表示列中被编入索引的字符的数量。若列只是部分被编入索引,则该列的值为被编入索引的字符的数目;若整列被编入索引,则该列的值为 NULL。 |
Packed | 指示关键字如何被压缩。若没有被压缩,值为 NULL。 |
Null | 用于显示索引列中是否包含 NULL。若列含有 NULL,该列的值为 YES。若没有,则该列的值为 NO。 |
Index_type | 显示索引使用的类型和方法(BTREE、FULLTEXT、HASH、RTREE)。 |
Comment | 显示评注。 |
视图
DESC 视图名;
mysql> DESCRIBE v_studentinfo;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| score | decimal(4,2) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
SHOW CREATE VIEW 视图名;
mysql> SHOW CREATE VIEW v_studentinfo \G
*************************** 1. row ***************************
View: v_studentinfo
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_studentinfo` AS select `studentinfo`.`NAME` AS `name`,`studentinfo`.`SCORE` AS `score` from `studentinfo`
character_set_client: gbk
collation_connection: gbk_chinese_ci
1 row in set (0.00 sec)