MySQL之数据导入导出

日常开发中,经常会涉及到对于数据库中数据的导入与导出操作,格式也有很多: TXT,CSV,XLS,SQL等格式,所以,在此总结一下,省的总是百度查询.

一  导出

1) 常用的方式就是使用现成的工具例如: Navicat 或者phpmyadmin 当然这是在Windows下经常使用到的工具,如果是Mac当然也有比较好用的软件进行数据导出

  Navicat: 选择要导出的表/库 -> 导出向导->选择导出的格式 即可

MySQL之数据导入导出

  phpmyadmin: 选择表/库  ->  导出 -> 选择导出的格式即可

MySQL之数据导入导出

有些情况导入的时候报数据错误,可以使用这种方式进行尝试解决:

  xls   >  将xls文件另存为CSV格式  ->  打开CSV格式文件,另存为TXT格式,保存的时候使用utf8编码   -> 删除xls和CSV格式的文件  ->  将TXT文件后缀改成CSV格式   -> 使用工具进行导入(Navicat || phpadmin)

2) 命令导出  (如果是在linux中操作的话,使用命令的导出方式是最常用的了)

//导出完整数据:
mysqldump -u用户名 -p密码 库名 [表名] > 保存的文件名称
mysqldump -uroot -proot a user > user.sql(C:\Users\Administrator\Desktop\user.sql) //导出数据表结构:
mysqldump -u用户名 -p密码 -d 库名 表名 > 保存的文件名称
mysqldump -u用户名 -p密码 --no-data --databases d1 > 文件名 //导出数据表中数据:
mysqldump -u用户名 -p密码 -t 库名 表名 > 保存的文件名 //导出所有数据库中(包含系统数据库)的数据库
mysqldump -u用户名 -p密码 --all-databases >保存的文件名 //导出d1,d2两个数据库中的所有数据
mysqldump -u用户名 -p密码 --databases d1 d2 > 保存的文件名 //导出d1中的a1,a2表
mysqldump -u用户名 -p密码 --databases d1 --tables a1 a2 > 保存的文件名 //导出d1库 a1表中id=1的数据
mysqldump -u用户名 -p密码 --databases d1 --tables a1 --where='id=1' > 保存的文件名 //跨服务器导出导入数据
mysqldump --host=h1 -uroot -proot db1 |mysql --host=h2 -uroot -proot db2(可以指定不同数据库) //将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错(使用这种方式必须是相同的库名才可以)
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
//-C 进行传输压缩 //--single-transaction 保证备份的一致性(工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据)
//压缩备份
  mysqldump -uroot -proot --databases abc 2>/dev/null |gzip >/abc.sql.gz
//还原
  gunzip -c abc.sql.gz |mysql -uroot -proot abc
//常用参数: 
//生成新的binlog文件 -F参数 mysqldump -u用户 -p密码 --all-databases -l -F > all_databases.sql

  

注意点:

--databases: 如果使用这个参数默认会SQL语句中加入创建库,use库语句

使用mysql自带的命令执行操作

/usr/bin/mysql --default-character-set=utf8 --socket=/data/mysql/mysql.sock -u用户名 -p密码 -e " select email,score  from gwent.cm_survey  " > gwent.xlsm
//在数据库进入之前执行命令 select * from user into outfile 'C:/Users/Administrator/user.xls';
//在数据库中执行命令

    

二  导入

1) 使用相应的软件导入方法, 操作步骤同上

2) 使用命令行的方式

  

use database;

source E:\xampp\htdocs\SsCpc\djm.sql
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
上一篇:xdebug的安装和配置方法


下一篇:opal 将ruby代码转化成javascript