`

mysql数据导入、导出方法汇总

阅读更多

一、mysql远程导入

前言部分

  由于公司的MySQL是搭建在服务器上,为了避免对服务器进行直接改动,我选用了远程导出和导入MySQL的数据。

  

  让我们把目光看到上图,由于实际数据库中neem_hanyang下的两个表alarmdata_h和commerr是空表,我们要做的工作就是把neem_jabil下的两个表的数据导到neem_hamyang去。

2 导出

  要满足上面的需求,我们必须导出neem_jabil下的两个表alarmdata_h和commerr的数据,在此之前,先让我们把目录切换至MySQL的安装目录,笔者的是C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE。如果你装的是MySQL Server版,那么应该是类似这种C:\Program Files\MySQL\MySQL Server 5.5,这时请你进入到它的子文件夹bin下面。

  假设你现在用的是windows系统,那么让我们在dos下输入cd C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE,如果你是装的是Server版,那么输入cd C:\Program Files\MySQL\MySQL Server 5.5\bin。

  

  看到红圈圈出来的部分,这就是我们的两位主角mysql和mysqldump,导出数据用mysqldump,导入数据使用mysql

 

  接下来我们就可以在dos下使用mysql或是mysqldump命令来进行数据库的导入导出操作了。

2.1 mysqldump导出语法以及举例

  mysqldump的导出语法如下:

  mysqldump -h{hostname} [-P{port}] -u{username} -p{password} [--default-character-set=charset] database [tablename] > {you file path}
  注:-h和[hostname]之间并没有空格相连,后同之,[]扩起来的为可选项,可不填
  • hostname表示主机名,本地则填localhost,远程则填写你的远程IP,如192.168.0.3;
  • username是你的MySQL登录帐号,password则是登录密码;
  • default-character-set则是你的字符集编码,如gb2312、gbk和utf8(没有横杠哦);
  • dbname是你的数据库名称,tablename是你的表名,假如你不填写tablename的话则默认导出所有的表。
  mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 neem_jabil commerr > d:/jabil1.sql

  通过上面的导出语句,将会在d盘下面创建一个jabil.sql脚本文件,这个脚本文件是可运行的,它包含了commerr表的建表细节以及其所有的数据。这就是导出命令的特点,它不但会导出数据,还会导出表或者数据库的结构信息。另外如果不带"

> {you file path}"这一部分路径信息,mysqldump导出命令或把内容打印在dos界面。

  

2.2 mysql导入语法以及举例

  mysql的导入有两种语法要介绍,分别是mysql导入法和source导入法:

2.2.1 mysql导入

  顾名思义,这种方法则还是用mysql这个主角来导入,语法规范如下:

  mysql -h{hostname} [-P{port}] -u{username} -p{password} [--default-character-set=charset] database [tablename] < {you file path}
  (此处原文是错误的,在此修正,原文说的是通过mysqldump进行导入)

  这种导入方式实质就是运行前面所导出的那个sql脚本文件。

  mysql -h192.168.0.3 -unikey -p123456 -P3369 databasename tableName < d:/data.sql

2.2.2 source导入

  source导入不同于前面,它是一个SQL命令,必须登录进入MySQL在命令行那里才可以运行,而mysqldump实则是一个管理工具,无须登入MySQ在命令行那里运行,只须在dos下运行即可。回到上面例子所处的dos界面,我们可以用下面的命令来登入MySQL:

  mysql -h{hostname} [-p{port}] -u{username} -p{password}

  举例,我们登入一个远程MySQL可以用下面的命令:

  mysql -h192.168.0.3 -unikey -p123456

  登入之后,进入我们要作用的数据库:

  mysql > use neem_hanyang;

  然后我们可以使用source命令来运行前面导出的sql脚本实现数据的导入:

  mysql > source d:/jabil.sql;

2.2.3 二者对比

  mysqldump虽然好用,但它实际上也是运用先登录在运行脚本的策略,只是其中的细节我们无需关心,但是,因为其中有很多远程连接细节,我们有可能遭遇中文乱码问题。

  

  关于为何在使用mysqldump做导入时会出现中文乱码问题,我们先用mysql命令登入,然后输入下面的命令:

  mysql > show variables like 'character%';

  

  是否注意到红圈部分的编码是latin1?latin1是MySQL的默认字符集,可能由于某种原因你没有指定默认编码,它就会默认为latin1了,这就是你中文乱码出现的原因。

  所以笔者个人建议,如果是作数据导入的话,宁可多做一个步骤,先登录后使用source命令来导入。

3 mysqldump导出命令扩展

3.1 --opt命令

  在dos下使用mysqldump --help的命令我们可以看到mysqldump更多更详细的使用方法,下面挑几个命令进行讲解。

  • --opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过--opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。   
  • --quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。
  • --add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。 
  • --add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。 
  • --extended-insert或-e:此参数表示可以多行插入。

  例如--opt命令的使用,默认情况下--opt是会被调用:

  mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --opt neem_jabil commerr_h > d:/jabil3.sql

3.2 --where命令

  where命令的原理其实就是sql的where条件限定,格式规范是:--where="字段条件",如:--where="id>1",需要注意的是id这个字段必须是真实存在的,否则会报sql错误如下。

  

  具体的--where代码例子如下:

  mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --where="errtype>0" neem_jabil commerr_h > d:/jabil3.sql

3.3 --no-data命令

  顾名思义,--no-data的作用就是只导出表结构而不导出数据,举例如下:  

mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --no-data neem_jabil commerr_h > d:/jabil3.sql

4 参考文献

  1. Mysql导入导出工具Mysqldump和Source命令用法详解

 

二、MYSQL本地导入

 

 

 1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
  2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
  3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
  
备忘: mysqldump在linux下可直接使用 在windows下有时需要进入mysql/bin中使用 因为有时用的是类似appserv的套装软件 这样的话命令就不能直接使用 因为这些命令没在环境变量的目录里 而且用mysqldump导出的备份 必须先建立数据库才能导入
 
 
4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql
 
本文来自:http://www.cnblogs.com/jayzee/p/3171990.html
http://elick.blog.51cto.com/475186/98651

 

分享到:
评论

相关推荐

    linux下导入导出mysql数据库及其导出数据命令大汇总

    linux下操作mysql数据库,导出数据库,只导出表结构,只导出数据。大汇总,挺全面的。希望对linux下用mysql数据库导数据的使用提供帮助

    mysqldump命令导入导出数据库方法与实例汇总

    1、导出所有库 系统命令行 mysqldump -uusername -ppassword –all-databases &gt; all.sql 2、导入所有库 mysql命令行 mysql&gt;source all.sql; 3、导出某些库 系统命令行 mysqldump -uusername -ppassword –...

    php+mysql源码 在线报名系统 统计导出xls评分

    支持新注册提交、个人信息查看和修改,管理员对全局数据的查看、删除和修改,批量导出xls汇总表; 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都...

    php+mysql源码 在线报名系统 统计导出xls

    支持新注册提交、个人信息查看和修改,管理员对全局数据的查看、删除和修改,批量导出xls汇总表; 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都...

    Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法

    本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015...

    MySQL 5权威指南(第3版) 中文版 下载地址

     22.10 mysqldump程序(数据的备份/导出)  22.11 mysqlimport程序(文本导入、批量导入)  22.12 mysqlshow程序(查看信息)  22.13 myisamchk程序(修复MyISAM文件)  22.14 myisampack程序(压缩MyISAM...

    2021数据仓库服务常见问题汇总-华为-51页.pdf

    5 数据导入导出 5.1 OBS 外表与GDS 外表支持的数据格式有什么区别?.24 5.2 OBS 外表导入数据时如果OBS 数据有更新如何做增量更新导入? 5.3 数据如何存储到数据仓库服务? 5.4 数据仓库可以存储多少业务数据? 5.5 ...

    MySQL5 权威指南第3版中文版_part1

     22.10 mysqldump程序(数据的备份/导出)  22.11 mysqlimport程序(文本导入、批量导入)  22.12 mysqlshow程序(查看信息)  22.13 myisamchk程序(修复MyISAM文件)  22.14 myisampack程序(压缩MyISAM文件...

    MySQL命令大全

    MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程.txt

    ├─(54) 数据导入.xlsx ├─(55) 数据导出2.csv ├─(56) 熟悉dbeaver工具.sql (16)\SQL课程素材软件下载\SQL素材下载\第三章 数Ju库工具\SQL server 2008;目录中文件数:1个 ├─(57) SQL server 2008安装有关...

    mysql常用命令大全

    mysql常用命令汇总。数据库的导入、导出。

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    1.7.2 直接安装mysql5.5,采用数据导出/导入方式升级 59 1.8 性能测试:mysql5.5与mysql5.1 60 第2章 半同步复制 62 2.1 半同步复制简介 62 2.2 半同步复制安装配置 63 2.3 参数说明 63 2.4 功能测试 64 ...

    MYSQL常用命令大全

    MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    经典SQL脚本大全

    卷序列号码为 00000030 4489:1826 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql ...│ 数据导入导出基本方法.sql │ 用ASP上传&下载文件.sql

    sqlyog.rar

     强大的mysql管理工具,允许用户通过图形界面创建或编辑数据库对象,并提供通过sql语句管理用户和权限,通过图形界面建立sql语句,自动生成html格式的数据库文档,导入/导出数据,查看/编辑blob字段等功能。...

    学生报名系统 v2012.rar

    五, 汇总数据,导出数据,导出为excel数据。 系统安装:将压缩包内的文件解压,www目录为程序代码,放到本地目录即可,database目录内为mysql数据库,导入mysql中,数据库链接:www/manager/config目录下,...

    nessus-database-export:用于将Nessus结果导出到关系数据库以用于报告,分析或其他目的的脚本

    定期将Nessus结果导出到MySQL数据库的脚本,以方便分析/汇总。 用例 在整个扫描过程中(例如,在文件夹中)查找特定漏洞的发生,而不必将所有扫描都导出到CSV。 在所有扫描中搜索插件输出中的文本。 快速查看扫描...

    学生报名系统 v2012

    五, 汇总数据,导出数据,导出为excel数据。系统安装:将压缩包内的文件解压,www目录为程序代码,放到本地目录即可,database目录内为mysql数据库,导入mysql中,数据库链接:www/manager/config目录下,database...

Global site tag (gtag.js) - Google Analytics