mysql数据导入导出使用

mysql数据导出和导入:
参考文章:MySQL数据导入导出方法与工具介绍
                    http://blog.csdn.net/davidullua/archive/2004/04/26/21980.aspx
                    http://blog.csdn.net/davidullua/archive/2004/04/26/21981.aspx
                    http://blog.csdn.net/davidullua/archive/2004/04/26/21982.aspx
主要工具:mysqldump.exe、mysqlimport.exe和mysql.exe.三者均在mysql/bin目录下。
 mysqlcc.exe 另外安装
(一)导出
 1、结构的导出
 (1) 在mysqlcc中,选择某一表或者tables,按shift或者鼠标邮编,在弹出的快捷菜单中,选择"tool/show create".选择你要导出的表(可以多选,ctrl+a全选)
 点击窗体下方的 execute.即可生成一个所选表结构的sql文件。
  
    打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。

  (2)mysqldump.exe
  具体参数很多,可查看--help
  主要有
  -h hostname
  -u username
  -p 密码
  --add-drop-table    
   这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除
  --add-locks             
   这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作

  -c or - complete_insert
                      这个选项使得mysqldump命令给每一个产生INSERT语句加上(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

  -f or -force             使用这个选项,即使有错误发生,仍然继续导出

  -l or -lock-tables      使用这个选项,导出表的时候服务器将会给表加锁。
  -t or -no-create- info
   这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。

  -d or -no-data          这个选项使的mysqldump命令不创建INSERT语句。
                              在您只需要DDL语句时,可以使用这个选项。

  -T path or -tab = path  这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。

  -w "WHERE Clause" or -where = "Where clause "
                  可以使用这一选项来过筛选将要放到导出文件的数据。
  (3) mysql.exe

   利用SELECT INTO OUTFILE 语法可以将数据导出到一个外部文件。具体语法略。
(二)导入
        1、结构
 (1)mysqlCC
   打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。
  (2)mysqlimport
    可用于载入数据
  (3)mysql.exe
    bin/mysql –p < /home/mark/New_Data.sql
    可以运行/home/mark/New_Data.sql中指定的sql脚本
(三)例子
       1、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。不需要数据
         
   (1)
  运行mysqlcc,连接到//gezhi211,选择javatest数据的某一表,选择"tool/show create",选择所有的表,
   点"execute",得到一系列的sql create语句。复制,保存为e:/work/table.txt.
    (2)
      在语句最前面加上 以下几句
  drop database if exists javatest;
  create database javatest;
  use javatest;
  用以创建数据库javatest
   (3)
     连接到本地,在mysqlcc中打开一个sql查询窗口,粘进上面的sql语句,执行。则数据表结构成功导到本地。

   或者打开一个cmd窗口,键入mysql <e:/work/table.txt,回车。
 2、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。包括数据
    方法:
      (1)导出数据
      mysqldump -h gezhi211 -u root  --add-drop-table javatest >e:/work/backup/gezhi211javatest.txt
      (2)
      在语句最前面加上 以下几句
  drop database if exists javatest;
  create database javatest;
  use javatest;
  用以创建数据库javatest
       (3)
       导入数据
       mysql -p <e:/work/backup/gezhi211javatest.sql.txt
附:利用mysqldump导出数据的时候,有时定义的索引值不能为关键字,否则会报错。解决方法,业务应该利用--fields-enclosed-by参数将字段名包含起来。有待进一步尝试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值