MySQL元数据操作:查询 MySQL 空表,拥有某字段的表,等

1、查询MySQL库下所有表名,数据不为空的表,反之查询为空的表

SELECT
    table_name,
    table_rows
FROM
    information_schema. TABLES
WHERE
    table_schema = 'ahbo'
AND table_rows < 1;

 

 

 

 

2、查询指定库拥有某字段的表

SELECT DISTINCT
    TABLE_NAME
FROM
    information_schema. COLUMNS
WHERE
    COLUMN_NAME = 'columnName'
AND TABLE_SCHEMA = 'dbName'
AND TABLE_NAME NOT LIKE 'vw%';

 

 

3、修改指定数据库中所有varchar类型的表字段的字符集为UTF8,并将排序规则修改为utf8_general_ci

复制代码
SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET UTF8 COLLATE utf8_general_ci', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';')
别名
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'SchoolUserOnline_20170416'
AND DATA_TYPE = 'varchar'
AND
(
    CHARACTER_SET_NAME != 'utf8'
    OR
    COLLATION_NAME != 'utf8_general_ci'
);
复制代码

 

 

4、修改指定数据库中所有数据表的字符集为UTF8,并将排序规则修改为utf8_general_ci

SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET  utf8 COLLATE utf8_unicode_ci;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'databaseName'

 

本文作者:好Wu赖

本文链接:https://www.cnblogs.com/erlongxizhu-03/p/14299368.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   好Wu赖  阅读(1102)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起