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

一  导出

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

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

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

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

  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

MySQL之数据导入导出的更多相关文章

  1. MySQL多线程数据导入导出工具Mydumper

    http://afei2.sinaapp.com/?p=456 今天在线上使用mysqldump将数据表从一个库导入到另外一个库,结果速度特别慢,印象中有个多线程的数据导入导出工具Mydumper,于 ...

  2. Mysql 的数据导入导出

    一. mysqldump工具基本用法,不适用于大数据备份   1. 备份所有数据库: mysqldump -u root -p --all-databases > all_database_sq ...

  3. mysql的数据导入导出

    1.Navicat for Mysql XML导出导入格式支持二进制数据:虽然同步数据人眼看不出区别,但是java尝试读取数据时,报datetime字段取出的值为“0000-00-00 00:00:0 ...

  4. Dokcer中Mysql的数据导入导出

    导出 1.首先进入容器,输入提取数据库文件命令 mysqldump -u root -p rw 数据库名> 输出.sql,提取到当前容器 2.退出容器,进入linux:输入拷贝命令 docker ...

  5. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  6. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  7. MySQL数据导入导出方法与工具mysqlimport

    MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...

  8. linux mysql 数据库操作导入导出 数据表导出导入

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

  9. mysql数据库的导入导出

    当我们在操作数据库的时候,难免会遇到数据导入导出的一些操作,今天突然学到了这个知识点,特意来给大家分享. 我用的是data的这条数据 1.使用数据 mysql> use data; Databa ...

随机推荐

  1. 如何解决make时报错crti. o: unrecognized relocation (0x2a) in section `.init

    这个问题困扰了我好长时间,网上查了好长时间,这个问题的解决方法,就是将binultils升级到2.26. 造成这个问题的原因是gcc和binultils版本不匹配,gcc对应的版本较高,gcc编译后, ...

  2. LeetCode算法题-Binary Watch(Java实现)

    这是悦乐书的第216次更新,第229篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第84题(顺位题号是401).二进制手表顶部有4个LED,代表小时(0-11),底部的6 ...

  3. vue使用JS的形式进行路由导航

    // 注意: 一定要区分 this.$route 和 this.$router 这两个对象, // 其中: this.$route 是路由[参数对象],所有路由中的参数, params, query ...

  4. 新近碰到的病毒(TR.Spy.Babonock.A)

    先来段Microsoft的说明: Worm:Win32/Babonock.A Alert level: Severe Detected with Windows Defender Antivirus ...

  5. VS2015应用NuGet

    一.什么是Nuget Nuget是 ASP .NET Gallery 的一员.NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库. 当需要分享开发的 ...

  6. c#窗体获取系统时间、回车触发按钮事件、实现验证码功能

    1.窗体上显示时间: 1)首先新建一个Timer,命名为timer,并在属性中修改Interval为1000: 2)在需要显示时间的地方添加一个label(假设设置名称为:timerLabel): 3 ...

  7. [Python] 练习代码

    # from random import randrange # num = int(input('摇几次骰子: ')) # sides=int(input('筛子有几个面: ')) # sum=0 ...

  8. 【angularjs】使用angularjs模拟淘宝首页-淘宝头条滚动效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 6.oop-类和对象

    一.如何抽象对象1.创建一个类2.给该描述属性 属性就是java中所有的数据类型3.给该类定义行为方法 方法的签名是:public void 方法名(){方法体} 公共的 无返回类型 二.如何使用类和 ...

  10. face detection[CNN casade]

    本文是基于< A convolutional neural network cascade for face detection>的解读,所以时间线是2015年. 0 引言 人脸检测是CV ...