mysql 数据导出导入的方法...
1.load data
(windows系统。。表结构一致的情况下)
命令在DOS的mysql/bin目录下执行:
use test
导出:select * from aaa into outfile "e:/a.txt";
导入:load data local infile "e:/a.txt" into table aaa;
----------------------------------
2.转储sql文件&运行sql文件
----------------------------------
3.使用mysqldump实用程序
方法示例:
3.1 运行--CMD--mysqldump
3.2 mysqldump -uroot -proot -hlocalhost test aa>e:\testaa1.sql (-hlocalhost 可加可忽略;-proot 可输入为-p,后续再进行密码的输入;test为数据库名;aa为表名;>为输出标识符)
----------------
3.3 (dump.sql--直接存入当前用户的路径,如;C:\Documents and Settings\Administrator)
(1)导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql
(2)导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql
(3)导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
(4)导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
(5)
导入需使用
source命令:
mysql命令行下--
mysql -u root -p123
mysql的提示符>source c:\mjw83.sql
---------------------------------
4.中间介质..导出导入(access/txt/excel..等等)
-------------------------------------------------------------------
其他操作系统下,mysql:
备份:SELECT INTO OUTFILE
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt'
默认使用tab分割字段,记录使用/n分割。可以自定义三个参数。
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n';
即使用,分割字段,双引号限定字段内容,/n分割记录。
还可以指定某些条件的记录输出:
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'
还原:LOAD DATA INFILE
默认情况:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy
如果有指定界定符,则加上界定符的说明:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n'
如果db是GBK或utf-8等编码,需要在还原时指定CHARACTER SET参数,否则还原的数据是乱码。
如:load data infile '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy CHARACTER SET gbk;
注意事项 1.mysql必须要有权限访问生成文件的那个目录 2.由于安全方面的原因,不能覆盖已存在的文件,不管这个文件的权限是怎么分配的。 3.不能直接导出一个压缩文件。