前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL常用SQL

MySQL常用SQL

原创
作者头像
DBM
发布2024-04-26 13:11:12
1410
发布2024-04-26 13:11:12
举报
文章被收录于专栏:MySQLMySQL
  • 查询数据库中所有表的磁盘占用情况
代码语言:sql
复制
SELECT 
table_schema AS "数据库",
table_name AS "表名",
table_rows AS "记录数", 
truncate(data_length / 1024 / 1024, 2) AS "数据容量(MB)",
truncate(index_length / 1024 / 1024, 2) AS "索引容量(MB)",
truncate(data_free / 1024 / 1024, 2) AS "碎片(MB)"
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys')
ORDER BY data_length DESC, index_length DESC;
  • 查看大写库名和大写的表名
代码语言:sql
复制
--database
SELECT SCHEMA_NAME
FROM information_schema.SCHEMATA
WHERE md5(SCHEMA_NAME) <> md5(lower(SCHEMA_NAME));

--table
SELECT table_schema, table_name
FROM information_schema.TABLES
WHERE table_schema NOT IN ('mysql', 'information_schema')
AND (md5(table_name) <> md5(lower(table_name))
OR md5(table_schema) <> md5(lower(table_schema)));
  • 查看所有的无主键表
代码语言:sql
复制
SELECT 
concat(t.table_schema, '.', 
t.TABLE_NAME) AS tablename,
ENGINE, 
TABLE_ROWS, DATA_LENGTH + INDEX_LENGTH + DATA_FREE AS table_size_MB
FROM information_schema.TABLES t
LEFT JOIN (
SELECT CONSTRAINT_SCHEMA, table_name
FROM information_schema.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY') p
ON t.table_name = p.table_name
AND t.TABLE_SCHEMA = p.CONSTRAINT_SCHEMA
WHERE t.table_schema NOT IN ('performance_schema', 'information_schema', 'mysql')
AND p.table_name IS NULL
AND t.TABLE_TYPE = 'BASE TABLE'
ORDER BY t.TABLE_ROWS DESC;
  • 查询出非innodb引擎,再组合成alter语句
代码语言:sql
复制
SELECT concat('alter table`', table_schema, '`.`', table_name, '`ENGINE=InnoDB ;')
FROM information_schema.tables
WHERE table_schema NOT IN ('sys', 'mysql', 'information_schema', 'performance_schema')
AND ENGINE <> 'InnoDB';
  • 查找出ROW_FORMAT非Dynamic的表组合语句
代码语言:sql
复制
SELECT concat('alter table`', table_schema, '`.`', table_name, '`ROW_FORMAT =DYNAMIC ;')
FROM information_schema.TABLES
WHERE table_schema NOT IN ('sys', 'mysql', 'information_schema', 'performance_schema')
AND ROW_FORMAT <> 'Dynamic';

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com