导出mysql转储时是否可以在所有表中添加一些文本。
例如:如果表名为chapters
,我希望将old_
添加到其中,使其成为old_chapters
答案 0 :(得分:0)
根据架构的复杂程度,您可以使用精心设计的sed
命令来完成此任务,该命令可查找所有表引用,并在表名前加上“old _”。
例如,此命令将转储您的架构和数据,并将old_前缀添加到drop / create table语句以及lock / alter table和insert语句中:
mysqldump your_schema | sed -e 's/DROP TABLE IF EXISTS `/DROP TABLE IF EXISTS `old_/' -e 's/CREATE TABLE `/CREATE TABLE `old_/' -e 's/INSERT INTO `/INSERT INTO `old_/' -e 's/LOCK TABLES `/LOCK TABLES `old_/' -e 's/ALTER TABLE `/ALTER TABLE `old_/'
但是,该命令不会为以下任何类型的表引用添加表前缀: