MySQL常用查询Databases和Tables
分享一下工作中常见的mysql脚本,此次分享的内容如下:
Databasestables
一、Databases and schemas
列出了 MySQL 实例上的用户数据库(模式):
select schema_name as database_name
from information_schema.schemata
where schema_name not in(mysql,information_schema,
performance_schema,sys)
order by schema_name
说明:database_name - 数据库(模式)名称。
二、Tables
1. 列出 MySQL 数据库中的表
下面的查询列出了当前或提供的数据库中的表。要列出所有用户数据库中的表
(1) 当前数据库
select table_schema as database_name,
table_name
from information_schema.tables
where table_type = BASE TABLE
and table_schema = database()
order by database_name, table_name;
说明:
table_schema - 数据库(模式)名称table_name - 表名
(2) 指定数据库
select table_schema as database_name,
table_name
from information_schema.tables
where table_type = BASE TABLE
and table_schema = database_name -- enter your database name here
order by database_name, table_name;
说明:
table_schema - 数据库(模式)名称table_name - 表名2. 列出 MySQL 中所有数据库的表
下面的查询列出了所有用户数据库中的所有表:
select table_schema as database_name,
table_name
from information_schema.tables
where table_type = BASE TABLE
and table_schema not in (information_schema,mysql,
performance_schema,sys)
order by database_name, table_name;
说明:
table_schema - 数据库(模式)名称table_name - 表名
3. 列出 MySQL 数据库中的 MyISAM 表select table_schema as database_name,
table_name
from information_schema.tables tab
where engine = MyISAM
and table_type = BASE TABLE
and table_schema not in (information_schema, sys,
performance_schema,mysql)
-- and table_schema = your database name
order by table_schema,
table_name;
说明:
database_name - 数据库(模式)名称table_name - 表名
4. 列出 MySQL 数据库中的 InnoDB 表select table_schema as database_name,
table_name
from information_schema.tables tab
where engine = InnoDB
and table_type = BASE TABLE
and table_schema not in (information_schema, sys,
performance_schema,mysql)
-- and table_schema = your database name
order by table_schema,
table_name;
说明:
database_name - 数据库(模式)名称table_name - 表名5. 识别 MySQL 数据库中的表存储引擎(模式)select table_schema as database_name,
table_name,
engine
from information_schema.tables
where table_type = BASE TABLE
and table_schema not in (information_schema,mysql,
performance_schema,sys)
-- and table_schema = your database name
order by table_schema,
table_name;
说明:
(1)table_schema - 数据库(模式)名称
(2)table_name - 表名
(3)engine- 表存储引擎。可能的值:
CSVInnoDB记忆MyISAM档案黑洞MRG_MyISAM联合的6. 在 MySQL 数据库中查找最近创建的表select table_schema as database_name,
table_name,
create_time
from information_schema.tables
where create_time