MySQL数据的导出和导入工具:mysqldump

导出要用到MySQL的mysqldump工具,基本用法是:

shell> mysqldump [OPTIONS] database [tables]

如果
你不给定任何表,整个数据库将被导出。

通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。

注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

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使用可能制作整个数据库的一个备份:

mysqldump --opt database > backup-file.sql

但是它对用来自
于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump --opt database | mysql --host=remote-host -C database

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

shell> mysqladmin create target_db_name   

shell> mysql target_db_name < backup-file.sql  

就是  

shell> 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

4.导入数据库

  常用source 命令

  进入mysql数据库控制台,

  如mysql -u root -p 

  

  mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

  mysql>source d:/wcnc_db.sql

时间: 2024-10-22 20:41:02

MySQL数据的导出和导入工具:mysqldump的相关文章

MySQL数据的导出和导入

来源 : CCU的新闻组 | 整理修改:Hunte | 收录日期 : 2000-08-21导出要用到MySQL的mysqldump工具,基本用法是:shell> mysqldump [OPTIONS] database [tables]如果你不给定任何表,整个数据库将被导出.通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表.注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正

MySQL数据库结构和数据的导出和导入_DB2

正在看的db2教程是:MySQL数据库结构和数据的导出和导入. 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表. 注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据

将jsp页面的mysql数据表导出为excel文档

问题描述 将jsp页面的mysql数据表导出为excel文档 请问如何将jsp页面上的数据导出为文档,该数据表中的数据来自mysql数据库中的数据表,通过一个导出按钮导出,哪位大神可以给出示例代码,急求!! 解决方案 循环遍历你的数据,然后调用poi生成excel 例子http://blog.csdn.net/ptzrbin/article/details/8751293 解决方案二: 如何将MySQL数据表的结构导出到excel文件如何把JSP页面导出到Excel中?

MySQL数据库结构和数据的导出和导入

mysql|数据|数据库|数据库结构 作者:任我行导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表. 注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是

mysql数据与Hadoop之间导入导出之Sqoop实例

前面介绍了sqoop1.4.6的 如何将mysql数据导入Hadoop之Sqoop安装,下面就介绍两者间的数据互通的简单使用命令. 显示mysql数据库的信息,一般sqoop安装测试用 sqoop list-databases --connect jdbc:mysql://192.168.2.101:3306/ --username root --password root 显示数据库里所有表: sqoop list-tables --connectjdbc:mysql://192.168.2.

MYSQL数据库的导出和导入方法详解

方法一 SQL脚本形式 操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本. 2.1.1 用phpMyAdmin工具 导出选项中,选择导出"结构"和"数据",不要添加"Drop DATABASE"和"Drop TABLE"选项. 选中"另存为文件"选项,如果数据比较

MySQL命令行导出与导入数据库_Mysql

举例为大家介绍如何运用命令行实现MySQL导出导入数据库 一.命令行导出数据库 1.进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录  如:cd C:\Program Files\MySQL\MySQL Server 4.1\bin  (或者直接将windows的环境变量path中添加该目录)  2.导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名   如我输入的命令行:mysqldump -u root -p news > news.s

数据到导出、导入命令

导出 mysqldump -u root -p --default-character-set=utf8 databaseName > yourname.sql 导入 source yourname.sql 登录执行 IP.字符集 mysql -u root -h 127.0.0.1 -p --default-character-set=utf8 登录后退出命令 \q 或者 exit; mysql 数据库设置表名不区分大小写(默认区分大小写 0) vim /etc/my.cnf 添加 lower

mysql数据库常用导出导入命令的几个用例

mysql|数据|数据库 www.yiz.name================================几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名     mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users&g