mysql - 如何使用 SELECT 语句 mysqldump 一个表?

标签 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 查询转储表?或者我可以导入上述命令的输出吗?

这是一个生产数据库,因此我想避免在此数据库上创建新表或执行任何可能弄乱该数据库的操作。

最佳答案

SELECT * INTO OUTFILE 'dump.sql' from table_name where condition

关于mysql - 如何使用 SELECT 语句 mysqldump 一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38734631/

相关文章:

mysql - 如何找到连续重复的次数

php - 跟踪 For 循环的最后一个

php - CK 编辑器中的图像 url 不适用于多个页面

php - 按日期顺序查询连续结果

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - Codeigniter Right Join with Where 条件未给出结果

mysql - 如果我有用户的纬度/经度位置,如何找出用户的邮政编码?需要帮助编写查询

java - 如何创建Java桌面应用程序自动更新?

php - 缓存来自 API 的数十亿响应的最快/最有效的方法是什么?

mysql - 查找唯一的元组和列排列