MySQL, SQLite 和 PostgreSQL 关于information_schema 的一些查询(表结构,表信息,库信息....)

显示(查询)所有的数据库

MySQL查询:

show databases

PostgreSQL查询:

select * from pg_database

查询当前数据库中所有的表信息

like后可写入模糊匹配的表名称

MySQL查询:

SELECT
    table_name tableName,
    ENGINE,
    table_comment tableComment,
    create_time createTime 
FROM
    information_schema.TABLES 
WHERE
    table_schema = ( SELECT DATABASE ( ) ) 
    AND table_name LIKE '%%' 
ORDER BY
    create_time DESC
show tables

PostgreSQL查询:

SELECT
    * 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'public' 
    AND table_name LIKE '%%'
SELECT
    n.nspname,
    relname 
FROM
    pg_class c,
    pg_namespace n 
WHERE
    c.relnamespace = n.oid 
    AND nspname = 'public' 
    AND relkind = 'r' 
ORDER BY
    relname;

SQLite 查询:

select * from sqlite_master where type = "table";

select * from sqlite_master where name = "表名称"

查询某一张表中的字段信息

MySQL查询:

SELECT
    column_name columnName,
    data_type dataType,
    column_comment columnComment,
    column_key columnKey,
    extra 
FROM
    information_schema.COLUMNS 
WHERE
    table_name = '表名称' 
    AND table_schema = ( SELECT DATABASE ( ) ) 
ORDER BY
    ordinal_position
desc 表名称

PostgreSQL查询:

SELECT
    * 
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'public' 
    AND table_name = 表名称;

复杂一点的

SELECT
    col.table_schema,
    col.table_name,
    col.ordinal_position,
    col.column_name,
    col.data_type,
    col.character_maximum_length,
    col.numeric_precision,
    col.numeric_scale,
    col.is_nullable,
    col.column_default,
    des.description 
FROM
    information_schema.COLUMNS col
    LEFT JOIN pg_description des ON col.table_name :: regclass = des.objoid 
    AND col.ordinal_position = des.objsubid 
WHERE
    table_schema = 'public' 
    AND table_name = 表名称 
ORDER BY
    ordinal_position;

SQLite 查询:


PRAGMA table_info(表名称)

你可能感兴趣的:(MySQL, SQLite 和 PostgreSQL 关于information_schema 的一些查询(表结构,表信息,库信息....))