我想搜索MySQL数据库的结构并替换包含或等于“xyz *”的结构...列名和表名是主要的,但我想搜索所有结构。
然后,我想用“abcdefg”替换“xyz *”。
答案 0 :(得分:0)
我怀疑用一个查询可以做到这一点。你可以做的是创建ALTER语句。我会写一个小程序(用你选择的语言)和 首先,我会得到这样的表名:
select table_name from information_schema.tables;
如果有一个名为" xyz *"的表,则必须在循环中检查结果集。然后创建一个ALTER语句:
RENAME TABLE tbl_name TO new_tbl_name
对于列,您必须再次获取每个表,然后是每个表的所有列:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tbl_name';
再次改变列名称的循环,这次使用ALTER TABLE
。
另见:
https://dev.mysql.com/doc/refman/5.1/en/alter-table.html https://dev.mysql.com/doc/refman/5.0/en/rename-table.html