`
zxl7049
  • 浏览: 30161 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysqldump 导入导出

阅读更多
MySQLdump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据,这时该怎么办呢?

mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,有了它,我们就可以从数据库中导出你需要的那部分数据了。

命令格式如下:

mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径

例子:

从meteo数据库的sdata表中导出sensorid=11 且 fieldid=0的数据到 /home/xyx/Temp.sql 这个文件中
mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.sql

另外你还可以直接导出 文本文件*.txt
mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.txt

以下是 mysqldump 的一些使用参数

备份数据库
#mysqldump 数据库名 >数据库备份名

#mysqldump -A -u用户名 -p密码 数据库名>数据库备份名

#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql


1.导出结构不导出数据

mysqldump -d 数据库名 -uroot -p > xxx.sql

2.导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql

3.导出数据和表结构

mysqldump 数据库名 -uroot -p > xxx.sql

4.导出特定表的结构

mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql



#mysqldump [OPTIONS] database [tables]

mysqldump支持下列选项:

--add-locks  
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。  
--add-drop-table  
在每个create语句之前增加一个drop table。  
--allow-keywords  
允许创建是关键词的列名字。这由表名前缀于每个列名做到。  
-c, --complete-insert  
使用完整的insert语句(用列名字)。  
-C, --compress  
如果客户和服务器均支持压缩,压缩两者间所有的信息。  
--delayed  
用INSERT DELAYED命令插入行。  
-e, --extended-insert  
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)  
-#, --debug[=option_string]  
跟踪程序的使用(为了调试)。  
--help  
显示一条帮助消息并且退出。  
--fields-terminated-by=...  
   
--fields-enclosed-by=...  
   
--fields-optionally-enclosed-by=...  
   
--fields-escaped-by=...  
   
--fields-terminated-by=...  
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。  
LOAD DATA INFILE语法。  
-F, --flush-logs  
在开始导出前,洗掉在MySQL服务器中的日志文件。  
-f, --force,  
即使我们在一个表导出期间得到一个SQL错误,继续。  
-h, --host=..  
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。  
-l, --lock-tables.  
为开始导出锁定所有表。  
-t, --no-create-info  
不写入表创建信息(CREATE TABLE语句)  
-d, --no-data  
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!  
--opt  
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。  
应该给你为读入一个MySQL服务器的尽可能最快的导出。  
-pyour_pass, --password[=your_pass]  
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。  
-P port_num, --port=port_num  
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)  
-q, --quick  
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。  
-S /path/to/socket, --socket=/path/to/socket  
与localhost连接时(它是缺省主机)使用的套接字文件。  
-T, --tab=path-to-some-directory  
对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和 --lines--xxx选项来定。  
-u user_name, --user=user_name  
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。  
-O var=option, --set-variable var=option设置一个变量的值。可能的变量被列在下面。  
-v, --verbose  
冗长模式。打印出程序所做的更多的信息。  
-V, --version  
打印版本信息并且退出。  
-w, --where='where-condition'  
只导出被选择了的记录;注意引号是强制的!  
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"


导入数据:

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

#mysql 数据库名 < 文件名

#source /tmp/xxx.sql

分享到:
评论

相关推荐

    mysqldump导入导出mysql数据库.docx

    MySQL数据库的导入导出是数据库管理中的基础操作,通常用于备份、迁移或复制数据。`mysqldump` 和 `source` 是两个主要的命令,分别用于导出和导入数据。 **mysqldump命令详解** `mysqldump` 是MySQL提供的一个...

    mysqldump备份还原和mysqldump导入导出语句大全详解

    MySQL的mysqldump工具是数据库管理中不可或缺的一部分,它用于数据库的备份、恢复以及数据的导入导出。本文将详细解析mysqldump的使用方法及其相关参数,帮助你更好地理解和操作MySQL数据库。 首先,mysqldump的...

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

    `mysqldump`是MySQL数据库管理系统中一个强大的工具,用于...注意,对于大型数据库,导出和导入可能需要较长时间,因此在操作时要考虑到服务器资源的使用情况。如果可能,可以考虑分批处理或在低峰时段执行这些操作。

    mysql mysqldump只导出表结构或只导出数据的实现方法

    本文将详细讲解如何使用`mysqldump`来只导出表结构或者只导出数据,以及如何导入这些备份。 ### 只导出表结构 如果你想从MySQL数据库中导出所有表的结构而不包含任何数据,可以使用以下命令: ```bash mysqldump ...

    MYSQL 数据库导入导出命令

    MYSQL 数据库导入导出命令 MySQL 数据库导入导出命令是数据库管理员和开发者经常使用的命令,用于将 MySQL 数据库导出到文件中,以便备份、还原或迁移到其他服务器。下面将详细介绍 MySQL 数据库导入导出的命令和...

    java调用mysql命令 导入导出数据库

    在这个过程中,Java通过JDBC(Java Database Connectivity)接口与MySQL进行交互,利用MySQL提供的命令行工具如`mysqldump`和`mysql`来实现数据的导入导出。 首先,我们需要了解JDBC。JDBC是Java平台上的一个标准...

    导入导出mysql数据

    知识点:MySQL 数据库的导入与导出操作及 Java 实现 在 IT 行业中,数据库的管理和维护是一项至关重要的工作。特别是在 MySQL 这样的流行关系型数据库管理系统中,数据的备份与恢复变得尤为重要。本篇文章将深入...

    mysql数据库的导入导出

    综上所述,MySQL数据库的导入导出操作,涉及到mysqldump工具和source命令的熟练使用,以及SQL语法中ALTER TABLE命令用于调整表结构。在操作过程中,还需要注意字符集的匹配问题,以及在多表查询时为派生表添加别名以...

    不同数据库之间的数据导入导出

    ### 不同数据库之间数据导入导出的深度解析 在企业级应用中,数据迁移是一个常见的需求,尤其是在系统升级、架构调整或数据整合等场景下。本文将深入探讨不同数据库之间进行数据导入导出的方法,特别关注两个具体...

    mysql数据库大数据量导入导出多种方法

    mysql数据库大数据量导入导出多种方法,该文档详述SELECT * INTO和mysqldump导出方法。导入方法中包括导入sql,txt文件和load data三种方法

    MySQL数据导入导出

    数据导入导出的目的多种多样,比如数据备份、数据迁移、数据整合等,因此掌握高效可靠的数据导入导出方法对于数据库管理员(DBA)来说至关重要。 首先,要明确数据导出的目的,它通常是将数据库中的数据转移到文件...

    mysql数据导入导出php版 mysql数据导入导出php版

    总结,使用PHP进行MySQL数据导入导出涉及到的知识点包括:PHP执行shell命令、PDO和MySQLi扩展的使用、`mysqldump`和`mysqlimport`工具、`SELECT INTO OUTFILE`和`LOAD DATA INFILE` SQL语句、数据分批处理、事务管理...

    MySql使用mysqldump 导入与导出方法总结

    本文将详细阐述如何使用mysqldump进行数据库的导出和导入。 一、mysqldump导出数据库数据 1. 导出单个表的数据和结构: ```bash mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] 数据库名 表名 &gt; 导出的文件名...

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

    Linux 下 MySQL 数据库导入导出命令大汇总 Linux 作为一个广泛应用于服务器操作系统的平台,MySQL 作为一个流行的关系数据库管理系统,在 Linux 下的使用非常广泛。因此,掌握 Linux 下 MySQL 数据库的导入导出命令...

Global site tag (gtag.js) - Google Analytics