当前位置:首页 > 开发 > 数据库 > 正文

Mysql基础之导出导入

发表于: 2014-02-10   作者:53873039oycg   来源:转载   浏览:
摘要:      最近QQ上有人问Mysql中怎么导出数据,顺便温习了下Mysql的导入操作,而是有了本篇博文,本博文的内容很基础。     先说明,我的Mysql版本是5.6.14,查看Mysql版本sql为:    select version();     我的示例数据库为

     最近QQ上有人问Mysql中怎么导出数据,顺便温习了下Mysql的导入操作,而是有了本篇博文,本博文的内容很基础。

    先说明,我的Mysql版本是5.6.14,查看Mysql版本sql为:

  

select version();

    我的示例数据库为test。

   为了节省你的时间,我先写总结。

   

 --导出数据库(创建数据库,表,数据)
 mysqldump -uroot -p test --databases --default-character-set=utf8>f:/saveFile/out_all_utf_db.sql

   直接在cmd命令行下运行即可,我的数据库编码设置是utf8,所以默认的编码是utf8,如果你的是gbk,请改成gbk,--default-character-set=utf8这行不写也行,不影响。

    --databases 作用是在文件中添加数据库的创建语句。

    如果不想要创建数据库,可以这样写。

   

--导出数据库(表,数据)
mysqldump -uroot -p test --default-character-set=utf8>f:/saveFile/out_with_utf8_db.sql
mysqldump -uroot -p test --default-character-set=gbk>f:/saveFile/out_with_gbk_db.sql

    上面的导出包含表创建语句,以及数据插入,如果只想要创建数据库和表,可以这样写。

   

--导出数据库(创建数据库,表)
mysqldump -uroot -p -d test  --databases --add-drop-table --default-character-set=utf8>f:/saveFile/out_with_db_table_db.sql

    如果只想要创建表,可以这样写:

   

--导出数据库(表)
mysqldump -uroot -p -d test  --add-drop-table --default-character-set=utf8>f:/saveFile/out_with_table_db.sql

    如只想要表的数据,可以这样:

   

--导出数据库(表数据)
mysqldump -uroot -p -t test --default-character-set=utf8>f:/saveFile/out_with_data_only_db.sql

    上面是导出数据库的整个表,插入语句中有以下内容:

   

LOCK TABLES `user_t3` WRITE;
insert into.....
UNLOCK TABLES;

    如果不想要lock表,可以这样:

   

--导出数据库(表数据,无Lock)
mysqldump -uroot -p -t test --add-locks=false --default-character-set=utf8>f:/saveFile/out_with_data_only_on_lock_db.sql

    导出单个表和上面的类似,如下:

  

--导出单个表
mysqldump -uroot -p test user_t3 --default-character-set=utf8>f:/saveFile/out_user_data.sql

    如果想一次导出多个表,表名请用空格隔开

   

--导出多个表
mysqldump -uroot -p test user_t2 user_t3  --default-character-set=utf8>f:/saveFile/out_user2_data.sql

    导出表结构:

  

--导出表结构
mysqldump -uroot -p -d test user_t3 --add-drop-table  --default-character-set=utf8>f:/saveFile/out_user_no_data.sql

   导出表数据:

  

--导出表数据
mysqldump -uroot -p -t test user_t3 --default-character-set=utf8>f:/saveFile/out_user_only_data.sql

   导出表数据,不含Lock语句

  

--导出表数据 无Lock
mysqldump -uroot -p -t test user_t3 --add-locks=false --default-character-set=utf8>f:/saveFile/out_user_no_lock_data.sql

    怎么导入呢?

    方法1直接在cmd下运行:

   

--导入
mysql -h localhost -u root -p test_tmp <f:/saveFile/out_user_data.sql

   方法2,先登录Mysql

  

--要登录
use test_tmp;
source f:/saveFile/out_user_data.sql

    重要部分已经写完,下面的内容不是很重要,可以选择忽略。

    1--databases只能用在导出整个数据库上面,不能用在导出单个或多个表上面。

    2 指定文件编码可以使用default-character-set参数,值可以为utf8,gbk。

    3取消Lock信息使用--add-locks=false。

    4如果想在导出的sql中自动提交,可以使用--no-autocommit。使用之后,导出的sql文件中将有如下内容:

  

set autocommit=0;
INSERT INTO....
commit;

    5导出表结构使用-d --add-drop-table,-d意思是no data,add-drop-table意思是在上drop table语句,我的是默认有的。

    6只导出数据,可以使用--no-create-info或者-t参数。

    7mysqldump中各个参数可以叠加,一次可以使用多个。

    最后如果不确定如何使用,请使用

  

mysqldump --help

   查看个参数的具体意思,我就是使用以上语句才写这篇博文的。

  

    如只想要数据,不想要任何sql语句,可以这样:

   

select * from user_t3 into outfile "f:/saveFile/test_load.sql"

    导入可以这样:

   

load data infile "f:/saveFile/test_load.sql" into table user_t3;

    详情请自行搜索load 命令使用。

  

     另一个导入导出的方法是使用图形工具,Oracle可以使用sql/plus,Mysql可以使用Navicat Premium,图形界面用起来很简单的,可以从Excel文件中导入,很方便。

  

      最后啰嗦一句,如果你的sql文件较大,个人推荐使用命令行,再推荐大家使用一个sql文件切割工具,SQLDumpSplitter,可以指定文件切割的大小,不会把一条sql切割到2个文件,很智能,再使用命令行导入,这样就很简单了。

     全文完。

    

    

 

     

Mysql基础之导出导入

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
目录结构: 运行db2csv,通过读取配置,将数据从数据库写入csv文件,存储到out目录下,并上传到FTP
mysql数据的导入,以导入数据库 erp.sql 为例 1.在mysql中,新建一个名为erp的空的数据库 2.进入到m
一 导入文本数据 1)mysql->load data infile 数据文件c:/mytable.txt 如下:(每一行为一条记录
Mysql数据导入导出的时候,注意下是否需要指定字符集,尤其是使用某些工具导出的时候,默认已经使用
首先,使用mysqldump命令的前提是,在Cmd中进入mysql安装目录下的bin目录下,才可以使用该命令。 我
首先,使用mysqldump命令的前提是,在Cmd中进入mysql安装目录下的bin目录下,才可以使用该命令。 我
今天从服务器上的Mysql数据库往我自己本地的测试环境导数据,开始想用phpMyadmin从网页直接导入,结
扫扫关注“茶爸爸”微信公众号 坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活。
导出: SELECT * INTO OUTFILE 'e:/test.txt' 数据保存的位置 FIELDS TERMINATED BY ',' OPTIONALLY
MySQL写入数据通常用insert语句,如 复制代码代码如下: insert into person values(张三,20),(李
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号