有些站长喜欢把两个网站(A网站和B网站)放在同一台虚拟主机上,但是只有一个数据库,所以把两个网站的数据表都放在同一个数据库里,但是某天突然发现要修改、删除或重命名某个网站的数据表前缀,这该怎么办呢?
例如,A网站的数据表表前缀是c2c_,B网站的数据表表前缀是o2o_,下面来看看怎么进行查询、修改和删除相同数据表的表前缀吧。
1、查询表前缀为c2c_的数据表:
SELECT table_name, table_type,
ENGINE FROM information_schema.tables
WHERE table_schema = 'test' AND table_name LIKE 'c2c_%'
执行结果:
说明:test是数据库名称,c2c_是指定表前缀,只要把这两者换成自己的数据库和表前缀就可以查询。
2、把数据表前缀为c2c_改为uc_:
SELECT CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO uc_', SUBSTRING(table_name,5),';' )
FROM information_schema.tables
WHERE table_name LIKE 'c2c_%';
执行结果:然后复制执行结果的SQL语句到SQL查询框里执行即可。
说明:'RENAME TO uc_'是想要修改表前缀为uc_,SUBSTRING(table_name,5)是替换原先的表前缀,因为我的表前缀c2c_占用了4个长度,所以从第五个长度开始接着数据表名,因此这里是5。
3、删除表前缀为c2c_的数据表:
SELECT CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
WHERE table_name LIKE 'c2c_%';
执行结果:
然后把执行结果的SQL语句复制到SQL查询框里执行即可删除表前缀为c2c_的数据表。