MySQL中批量前缀表的sql语句
1、批量删除前缀表sql语句
先查询生成需要操作的表
Select CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
Where table_name LIKE ''ngis20201201_%''; /* "'ngis20201201_"为要删除的表前缀*/
执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作
drop table ngis20201202_tx;
drop table ngis20201202_rx;
drop table ngis20201202_all;
drop table ngis20201202_all_link;
drop table ngis20201202_all_back;
drop table ngis20201202_all_red;
drop table ngis20201202_all_red_48_1;
drop table ngis20201202_all_red_48_5;
drop table ngis20201202_all_red_24_1;
拷贝生成的结果进行操作
2、批量修改前缀表sql语句
先查询需要操作的表数据
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )
FROM information_schema.tables
Where table_name LIKE 'dede_%';
执行此SQL语句,会生成如下语句:
ALTER TABLE de_bbb RENAME TO de_bbb;
在编辑器中将“RENAME TO de”批量改为想设置的表前缀,再执行此SQL语句即可批量修改表名
3.update批量修改表中字段
sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。
命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容')
如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'http://www.maidq.com','http://maidq.com')
举例说明:
1)把backupfile表里url的字段内容里为http://www.maidq.com的字符全部改为http://maidq.com。
2)根据条件增加字段的内容,如把file_number=1的记录的logical_name字段的内容前面加上tmp,后面加上end。
update
backupfile
set
logical_name=
REPLACE
(logical_name,logical_name,
'tmp'
+logical_name+
' end '
)
where
file_number=1
3)根据条件去掉指定记录的前面2个字符。
update
backupfile
set
logical_name=
REPLACE
(logical_name,logical_name,
SUBSTRING
(logical_name,3,len(logical_name)-2))
where
file_number=1
4)根据条件去掉指定记录的后面4个字符。
update
backupfile
set
logical_name=
REPLACE
(logical_name,logical_name,
SUBSTRING
(logical_name,1,len(logical_name)-4))
where
file_number=2
如有不清楚的可以先用select语句验证是否达成自己想要的效果再进行替换:
SELECT
REPLACE
(替换字段,
'原内容'
,
'新内容'
)
from
表名;
update
表名
set
替换字段=(
REPLACE
(替换字段,
'原内容'
,
'新内容'
))