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

Posted 摘星族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的一些查询(表结构,表信息,库信息....)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 中同时更新和选择

PostgreSQ 连接问题 FATAL: no pg_hba.conf entry for host

NodeJS,将来自 MySQL 和 PostgreSQL 的数据存储在 SQLite 中

如何在mysql和sqlite之间同步数据?

为啥mysql和sqlite之间的SELECT结果不同?

Mysql和sqlite数据库操作心得