MySQL导出数据
MySQL
中你可以使用SELECT...INTO OUTFILE
语句来简单的导出数据到文本文件上。
mysql> SELECT * FROM product
-> INTO OUTFILE 'product.txt';
导出表作为原始数据
mysqldump
是 mysql
用于转存储数据库的实用程序。它主要产生一个 SQL
脚本,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT
等。
使用 mysqldump
导出数据需要使用 --tab
选项来指定导出文件指定的目录,该目标必须是可写的
C:\Users\username> mysqldump -u root -p --no-create-info --tab=C:\Users\username\mysql\ sports orders
导出 SQL 格式的数据
命令行输入:
- 导出数据库某个表的数据
$ mysqldump -u root -p sports product > C:\Users\username\mysql\result.txt
- 导出整个数据库的数据
$ mysqldump -u root -p sports > C:\Users\username\mysql\database.txt
备份所有数据库,可以使用以下命令:
$ mysqldump -u root -p --all-databases > C:\Users\username\mysql\databaseCopy.txt
将数据表及数据库拷贝至其他主机
如果你需要将数据拷贝至其他的MySQL
服务器上, 你可以在 mysqldump
命令中指定数据库名及数据表。
在源主机上执行以下命令,将数据备份至 dump.txt 文件中:
$ mysqldump -u root -p [database_name] [table_name] > dump.txt
password *****
如果完整备份数据库,则无需使用特定的表名称。
如果你需要将备份的数据库导入到MySQL
服务器中,可以使用以下命令,使用以下命令你需要确认数据库已经创建:
$ mysql -u root -p [database_name] < dump.txt
password *****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:
$ mysqldump -u root -p [database_name] \
| mysql -h [IP] [database_name]
以上命令中使用了管道来将导出的数据导入到指定的远程主机上。
将指定主机的数据库拷贝到本地
如果你需要将远程服务器的数据拷贝到本地,你也可以在 mysqldump
命令中指定远程服务器的IP、端口及数据库名。
在源主机上执行以下命令,将数据备份到 dump.txt
文件中:
请确保两台服务器是相通的:
mysqldump -h [IP] -P [port] -u root -p [database_name] > dump.txt
password ****
MySQL导入数据
mysql> create database abc
mysql> use abc;
mysql> source C:\Users\htfeng\mysql\database.sql(database.txt);