MySQL常用SQL

MySQL常用SQL

根据库名获取所有表的信息

SELECT
    * 
FROM
    information_schema.`TABLES` 
WHERE
    TABLE_SCHEMA = 'srm';

获取指定数据库中所有表的名称和注释

SELECT
    TABLE_NAME,
    TABLE_COMMENT 
FROM
    information_schema.`TABLES` 
WHERE
    TABLE_SCHEMA = 'srm';

获取指定数据库中所有表的所有字段信息

SELECT
    TABLE_SCHEMA AS '库名',
    TABLE_NAME AS '表名',
    COLUMN_NAME AS '列名',
    ORDINAL_POSITION AS '列的排列顺序',
    COLUMN_DEFAULT AS '默认值',
    IS_NULLABLE AS '是否为空',
    DATA_TYPE AS '数据类型',
    CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    NUMERIC_PRECISION AS '数值精度(最大位数)',
    NUMERIC_SCALE AS '小数精度',
    COLUMN_TYPE AS '列类型',
    COLUMN_KEY AS 'KEY',
    EXTRA AS '额外说明',
    COLUMN_COMMENT AS '注释' 
FROM
    information_schema.`COLUMNS` 
WHERE
    TABLE_SCHEMA = 'srm' 
ORDER BY
    TABLE_NAME,
    ORDINAL_POSITION;

获取指定数据库中所有表和字段的基本信息

SELECT
    C.TABLE_SCHEMA AS '库名',
    T.TABLE_NAME AS '表名',
    T.TABLE_COMMENT AS '表注释',
    C.COLUMN_NAME AS '列名',
    C.COLUMN_COMMENT AS '列注释',
    C.ORDINAL_POSITION AS '列的排列顺序',
    C.COLUMN_DEFAULT AS '默认值',
    C.IS_NULLABLE AS '是否为空',
    C.DATA_TYPE AS '数据类型',
    C.CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    C.NUMERIC_PRECISION AS '数值精度(最大位数)',
    C.NUMERIC_SCALE AS '小数精度',
    C.COLUMN_TYPE AS '列类型',
    C.COLUMN_KEY AS 'KEY',
    C.EXTRA AS '额外说明' 
FROM
    information_schema.`TABLES` T
    LEFT JOIN information_schema.`COLUMNS` C ON T.TABLE_NAME = C.TABLE_NAME 
    AND T.TABLE_SCHEMA = C.TABLE_SCHEMA 
WHERE
    T.TABLE_SCHEMA = 'srm' 
ORDER BY
    C.TABLE_NAME,
    C.ORDINAL_POSITION;

评论

暂无

添加新评论