我怎样才能用SELECT语句mysqldump一个表?

时间:2016-08-03 04:49:48

标签: mysql

我想转储一张桌子,但是使用蒙面电子邮件,而不是原样。

mysql -h <ip> -u <username> -P <port> -p --execute="
SELECT
    au.id,
    CASE WHEN (au.email NOT LIKE '%@abcd.com%' AND au.email NOT LIKE '%@abcd_test.com%') THEN CONCAT('user+', u.id, '@abcd_test.com') ELSE au.email END as email,
    au.user_id
    FROM <dbname>.<tablename> as au
    LEFT JOIN <dbname>.<tablename2> as u
" > ~/<tablename>.sql

我尝试运行此命令,但它没有创建可导入的转储。

实际上,还有一些其他表格需要同样屏蔽电子邮件列,理想情况下,我希望将整个数据库转储为匿名的电子邮件。

如果那不可能,我至少想要转储带有屏蔽电子邮件的表,例如上面shell命令的输出,可以单独导入mysql数据库。

如何使用SELECT查询转储表?或者我可以导入上述命令的输出吗?

这是一个生产数据库,所以我想避免在这个数据库上创建一个新表或做任何可能搞乱这个数据库的事情。

1 个答案:

答案 0 :(得分:0)

来自table_name的{​​{1}}

的SELECT * INTO OUTFILE'dup.sql'