使用mysqldump导出多表到一个文件

今天详细使用了MySQL导出导入工具mysqldump.exe和mysql.exe

mysqldump.exe默认导出为单insert语句的形式,当记录多时,mysql.exe导入不了,用--extended-insert=false显示关闭才可以;导出的表如果有触发器,会默认一起导出,导入会报告触发器重复了(mysql不允许一个表有多个同类触发器),也要用--triggers=false显示关闭;我的表用latin1存汉字,不管导出还是导入,要显示指定字符集,不然汉字会变乱码。
为了实现多个表不同条件导出到一个文件,可以写一个bat文件,在其中执行多次mysqldump,从第二个dump开始,使用>>作为重定向符即可。

@echo off
@echo 准备导出相关数据,导出的文件名为mydbname_bak.sql
pause
mysqldump --triggers=false --extended-insert=false --user=root --default-character-set=latin1 --password=mysql --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE -w "eid>1" mydbname table1 > mydbname_bak.sql
mysqldump --triggers=false --extended-insert=false --user=root --default-character-set=latin1 --password=mysql --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE -w "userid>0" mydbname table2 >> mydbname_bak.sql
mysqldump --triggers=false --extended-insert=false --user=root --default-character-set=latin1 --password=mysql --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE mydbname table3 table4 table5 >> mydbname_bak.sql
@echo 执行完毕!按任意键结束。
pause

mysql导入命令:


mysql -f --default-character-set=latin1 --user=root --password=msyql mydbname < mydbname_bak.sql

### 使用 `mysqldump` 导出数据为文本文件的方法或命令 `mysqldump` 是一个非常强大的工具,不仅可以用于备份数据库,还可以将数据导出为纯文本文件。通过指定特定的选项,可以实现将中的数据导出为逗号分隔(CSV)或其他格式的文本文件[^1]。 以下是使用 `mysqldump` 导出数据到文本文件的具体方法和命令: #### 命令示例 ```bash mysqldump -u 用户名 -p 数据库名 --tab=目标路径 --fields-terminated-by=',' --lines-terminated-by='\r\n' ``` - `-u 用户名`: 指定数据库的用户名。 - `-p`: 提示输入密码。 - `数据库名`: 要导出数据数据库名称。 - `名`: 要导出名称。 - `--tab=目标路径`: 指定导出文件的存储路径。该路径必须对 MySQL 服务有写权限。 - `--fields-terminated-by=','`: 指定字段之间的分隔符,例如逗号。 - `--lines-terminated-by='\r\n'`: 指定行尾符,例如 Windows 的换行符 `\r\n`。 #### 注意事项 1. 在使用 `--tab` 选项时,MySQL 服务需要对目标路径具有写权限。如果路径不存在,可能会导致导出失败[^4]。 2. 如果需要导出或整个数据库数据为文本文件,可以省略名参数,并确保目标路径有足够的空间存储所有文件[^3]。 #### 示例 假设需要将数据库 `testdb` 中的 `users` 导出为文本文件,字段以逗号分隔,行尾符为 `\r\n`,可以使用以下命令: ```bash mysqldump -u root -p testdb users --tab=/path/to/export --fields-terminated-by=',' --lines-terminated-by='\r\n' ``` 执行命令后,将在 `/path/to/export` 目录下生成两个文件: - `users.sql`: 包含结构的 SQL 文件。 - `users.txt`: 包含数据的文本文件。 #### 其他相关功能 除了导出为文本文件外,`mysqldump` 还支持导出格式和选项。例如,可以通过 `--result-file` 将输出重定向到文件[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值