我需要进行常规SQL转储以保存数据库,但是在“用户”表中必须存在必须匿名的列“名称”和“名字”(通过使用随机字符串或其他方式更改值)。 我想知道如何转储数据并同时更改这些列的值?
这是用于mySQL数据库
谢谢!
答案 0 :(得分:0)
您无法使用mysqldump
工具执行此操作。它没有任何用于转换输出的选项,它仅转储数据库中的数据。因此,如果您使用mysqldump
,则可以选择:
sed
并使用它来过滤mysqldump的输出。我 am 对sed真的很满意,我不会尝试。因此,您可以尝试在不使用mysqldump
的情况下转储数据,因此有更多选项可用于对数据进行自定义转换。
您可以向SELECT ... FROM MyTable;
编写脚本,基本上就是mysqldump
所做的事情。但是,如果您编写自己的工具,则可以使用表达式对名称和名字进行匿名处理,而不必按原样转储那些列的内容。
但是,编写自己的mysqldump
替代词比听起来困难。一些开发人员尝试了它,并把它弄错了。我之前已经回答过有关此问题: