|
mysql利用CONCAT方法生成批量修改表名sql语句
实现这个功能需知道mysql的CONCAT函数的使用: 实现将多个字符串连接成一个字符串 实现这个功能需知道mysql的substring函数的使用: substring(string, position, length)
1. 数据表准备
准备'ab_'开头的表名称,修改成'test_'开头

准备'ab_'开头的表名称,修改成'test_'开头
2.组织sql语句
简单介绍下substring用法
substring(string, position, length)
第一个参数string指的是要从中提取的字符串。
第二个参数position指的起始位置。可以是正数或负数。如果是正数,则此函数从字符串的开头提取。如果是负数,则此函数从字符串的结尾提取。(==注意:这个开始位置是从1开始不是从0开始==)
第三个参数length指的是要提取的字符数。如果省略,将返回整个字符串(从起始位置)。
例:substring(‘china’, 2, 2) 的结果为 ‘hi’
案例中应用
SELECT
*
FROM
information_schema.TABLES
WHERE
table_name LIKE 'ab_%'
AND TABLE_SCHEMA = "test";

查询结果
要实现的sql
SELECT
CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO test_', substring( table_name, 4 ), ';' )
FROM
information_schema.TABLES
WHERE
table_name LIKE 'ab_%'
AND TABLE_SCHEMA = "test";

结果如下 |
|