-- 将数据库中的所有表名和列名转换为小写(适用于 MySQL)
-- 1. 将现有表的表名转换为小写
-- 注意:这需要手动操作,因为 MySQL 不直接支持批量修改表名大小写。
-- 你可以使用以下查询生成 ALTER TABLE 语句:
SELECT CONCAT('RENAME TABLE ', table_name, ' TO ', LOWER(table_name), ';')
FROM information_schema.tables
WHERE table_schema = 'your_database_name' AND table_name != LOWER(table_name);
-- 2. 将现有表中的列名转换为小写
-- 同样,这需要手动操作。你可以使用以下查询生成 ALTER TABLE 语句:
SELECT CONCAT('ALTER TABLE ', table_name, ' CHANGE ', column_name, ' ', LOWER(column_name), ' ', COLUMN_TYPE, ';')
FROM information_schema.columns
WHERE table_schema = 'your_database_name' AND column_name != LOWER(column_name);
-- 3. 设置新创建的表和列自动为小写
-- 修改 MySQL 配置文件 (my.cnf 或 my.ini) 中的 lower_case_table_names 参数
-- lower_case_table_names=1 表示所有表名和列名都将被强制转换为小写
[mysqld]
lower_case_table_names=1
-- 注意:修改此参数后需要重启 MySQL 服务,并且一旦设置为 1,就不能再更改回其他值。
-- 示例代码解释:
-- 1. 第一部分生成将现有表名转换为小写的 SQL 语句。
-- 2. 第二部分生成将现有列名转换为小写的 SQL 语句。
-- 3. 第三部分说明如何通过配置文件使新创建的表和列自动为小写。
如果你不需要这些详细的解释,只需要代码部分,以下是简化后的代码:
-- 生成将现有表名转换为小写的 SQL 语句
SELECT CONCAT('RENAME TABLE ', table_name, ' TO ', LOWER(table_name), ';')
FROM information_schema.tables
WHERE table_schema = 'your_database_name' AND table_name != LOWER(table_name);
-- 生成将现有列名转换为小写的 SQL 语句
SELECT CONCAT('ALTER TABLE ', table_name, ' CHANGE ', column_name, ' ', LOWER(column_name), ' ', COLUMN_TYPE, ';')
FROM information_schema.columns
WHERE table_schema = 'your_database_name' AND column_name != LOWER(column_name);
-- 设置新创建的表和列自动为小写
[mysqld]
lower_case_table_names=1
下一篇:mysql的delete语句
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站