怎么样批量修改一个Mysql数据库中数据表的前缀?
比方说安装了一个php程序,默认的数据库中表的形式为aaa_category_tags,现在我想全部改为abcd_category_tags的形式。比方说有160个表,要...
比方说安装了一个php程序,默认的数据库中表的形式为aaa_category_tags,现在我想全部改为abcd_category_tags的形式。比方说有160个表,要一次全部批量修改,怎么弄?
展开
展开全部
给你个方案:
php调用这个sql
select concat('rename table ',table_name,' to abc',right(table_name,14),';') from information_schema.tables where table_schema='dbname' and table_name like '%_category_tags'
生成的结果集如下:
+---------------------------------------------------------------------+
| concat('rename table ',table_name,' to abc',right(table_name,14),';') |
+---------------------------------------------------------------------+
| rename table 12_category_tags to abc_category_tags; |
| rename table t2_category_tags to abc_category_tags; |
| rename table df_category_tags to abc_category_tags; |
| rename table ts_category_tags to abc_category_tags; |
| rename table ttt_category_tags to abc_category_tags; |
| rename table u_category_tags to abc_category_tags; |
| rename table yu_category_tags to abc_category_tags; |
+---------------------------------------------------------------------+
这些是修改表名的一些sql,你把这些值保存在php数组中,然后循环调用
但是有个问题哦,表名不能都改成abc_category_tags的,要么就是在原有表名前追加abc,这样表名就不会重复了
有问题可以追问。
php调用这个sql
select concat('rename table ',table_name,' to abc',right(table_name,14),';') from information_schema.tables where table_schema='dbname' and table_name like '%_category_tags'
生成的结果集如下:
+---------------------------------------------------------------------+
| concat('rename table ',table_name,' to abc',right(table_name,14),';') |
+---------------------------------------------------------------------+
| rename table 12_category_tags to abc_category_tags; |
| rename table t2_category_tags to abc_category_tags; |
| rename table df_category_tags to abc_category_tags; |
| rename table ts_category_tags to abc_category_tags; |
| rename table ttt_category_tags to abc_category_tags; |
| rename table u_category_tags to abc_category_tags; |
| rename table yu_category_tags to abc_category_tags; |
+---------------------------------------------------------------------+
这些是修改表名的一些sql,你把这些值保存在php数组中,然后循环调用
但是有个问题哦,表名不能都改成abc_category_tags的,要么就是在原有表名前追加abc,这样表名就不会重复了
有问题可以追问。
追问
我只是打个比方,能不能告诉我直接查询的sql语句,我不懂这个。所有表就是把aaa_全部改为abcd_
追答
留个Q把,我教你弄
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
展开全部
给你个方案:
php调用这个sql
select
concat('rename
table
',table_name,'
to
abc',right(table_name,14),';')
from
information_schema.tables
where
table_schema='dbname'
and
table_name
like
'%_category_tags'
生成的结果集如下:
+---------------------------------------------------------------------+
|
concat('rename
table
',table_name,'
to
abc',right(table_name,14),';')
|
+---------------------------------------------------------------------+
|
rename
table
12_category_tags
to
abc_category_tags;
|
|
rename
table
t2_category_tags
to
abc_category_tags;
|
|
rename
table
df_category_tags
to
abc_category_tags;
|
|
rename
table
ts_category_tags
to
abc_category_tags;
|
|
rename
table
ttt_category_tags
to
abc_category_tags;
|
|
rename
table
u_category_tags
to
abc_category_tags;
|
|
rename
table
yu_category_tags
to
abc_category_tags;
|
+---------------------------------------------------------------------+
这些是修改表名的一些sql,你把这些值保存在php数组中,然后循环调用
但是有个问题哦,表名不能都改成abc_category_tags的,要么就是在原有表名前追加abc,这样表名就不会重复了
有问题可以追问。
php调用这个sql
select
concat('rename
table
',table_name,'
to
abc',right(table_name,14),';')
from
information_schema.tables
where
table_schema='dbname'
and
table_name
like
'%_category_tags'
生成的结果集如下:
+---------------------------------------------------------------------+
|
concat('rename
table
',table_name,'
to
abc',right(table_name,14),';')
|
+---------------------------------------------------------------------+
|
rename
table
12_category_tags
to
abc_category_tags;
|
|
rename
table
t2_category_tags
to
abc_category_tags;
|
|
rename
table
df_category_tags
to
abc_category_tags;
|
|
rename
table
ts_category_tags
to
abc_category_tags;
|
|
rename
table
ttt_category_tags
to
abc_category_tags;
|
|
rename
table
u_category_tags
to
abc_category_tags;
|
|
rename
table
yu_category_tags
to
abc_category_tags;
|
+---------------------------------------------------------------------+
这些是修改表名的一些sql,你把这些值保存在php数组中,然后循环调用
但是有个问题哦,表名不能都改成abc_category_tags的,要么就是在原有表名前追加abc,这样表名就不会重复了
有问题可以追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询