分享一下工作中常见的mysql脚本,此次分享的内容如下:
- Databases
- tables
一、Databases and schemas
列出了 MySQL 实例上的用户数据库(模式):
selectschema_nameasdatabase_name
frominformation_schema.schemata
whereschema_namenotin('mysql','information_schema',
'performance_schema','sys')
orderbyschema_name
说明:database_name – 数据库(模式)名称。
二、Tables
1. 列出 MySQL 数据库中的表
下面的查询列出了当前或提供的数据库中的表。要列出所有用户数据库中的表
(1) 当前数据库
selecttable_schemaasdatabase_name,
table_name
frominformation_schema.tables
wheretable_type='BASE TABLE'
andtable_schema=database()
orderbydatabase_name, table_name;
说明:
- table_schema – 数据库(模式)名称
- table_name – 表名
(2) 指定数据库
selecttable_schemaasdatabase_name,
table_name
frominformation_schema.tables
wheretable_type='BASE TABLE'
andtable_schema='database_name'--enteryourdatabasenamehere
orderbydatabase_name, table_name;
说明:
- table_schema – 数据库(模式)名称
- table_name – 表名
2. 列出 MySQL 中所有数据库的表
下面的查询列出了所有用户数据库中的所有表:
selecttable_schemaasdatabase_name,
table_name
frominformation_schema.tables
wheretable_type='BASE TABLE'
andtable_schemanotin ('information_schema','mysql',
'performance_schema','sys')
orderbydatabase_name, table_name;
说明:
- table_schema – 数据库(模式)名称
- table_name – 表名
3. 列出 MySQL 数据库中的 MyISAM 表
selecttable_schemaasdatabase_name,
table_name
frominformation_schema.tablestab
whereengine='MyISAM'
andtable_type='BASE TABLE'
andtable_schemanotin ('information_schema', 'sys',
'performance_schema','mysql')
--andtable_schema='your database name'
orderbytable_schema,
table_name;
说明:
- database_name – 数据库(模式)名称
- table_name – 表名
4. 列出 MySQL 数据库中的 InnoDB 表
selecttable_schemaasdatabase_name,
table_name
frominformation_schema.tablestab
whereengine='InnoDB'
andtable_type='BASE TABLE'
andtable_schemanotin ('information_schema', 'sys',
'performance_schema','mysql')
--andtable_schema='your database name'
orderbytable_schema,
table_name;
说明:
- database_name – 数据库(模式)名称
- table_name – 表名
5. 识别 MySQL 数据库中的表存储引擎(模式)
selecttable_schemaasdatabase_name,
table_name,
engine
frominformation_schema.tables
wheretable_type='BASE TABLE'
andtable_schemanotin ('information_schema','mysql',
'performance_schema','sys')
--andtable_schema='your database name'
orderbytable_schema,
table_name;
说明:
(1)table_schema – 数据库(模式)名称
(2)table_name – 表名
(3)engine- 表存储引擎。可能的值:
- CSV
- InnoDB
- 记忆
- MyISAM
- 档案
- 黑洞
- MRG_MyISAM
- 联合的
6. 在 MySQL 数据库中查找最近创建的表
selecttable_schemaasdatabase_name,
table_name,
create_time
frominformation_schema.tables
wherecreate_time>adddate(current_date,INTERVAL-60DAY)
andtable_schemanotin('information_schema', 'mysql',
'performance_schema','sys')
andtable_type='BASE TABLE'
--andtable_schema='your database name'
orderbycreate_timedesc,
table_schema;
MySQL 数据库中最近 60 天内创建的所有表,按表的创建日期(降序)和数据库名称排序
说明:
- database_name – 表所有者,模式名称
- table_name – 表名
- create_time – 表的创建日期
7. 在 MySQL 数据库中查找最近修改的表
selecttable_schemaasdatabase_name,
table_name,
update_time
frominformation_schema.tablestab
whereupdate_time> (current_timestamp() -interval30day)
andtable_type='BASE TABLE'
andtable_schemanotin ('information_schema', 'sys',
'performance_schema','mysql')
--andtable_schema='your database name'
orderbyupdate_timedesc;
所有数据库(模式)中最近 30 天内最后修改的所有表,按更新时间降序排列
说明:
- database_name – 数据库(模式)名称
- table_name – 表名
- update_time – 表的最后更新时间(UPDATE、INSERT 或 DELETE 操作或 MVCC 的 COMMIT)
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/292968.html<

