zoukankan      html  css  js  c++  java
  • MySQL——数据导出与导入(备份与还原)

    MySQL命令行导出数据库和数据

    mysqldump -u 用户名 -p 数据库名 > 导出的文件名(c:\db.sql)

    然后就会在c盘下面产生db.sql文件。

    输入后会提示输入进入MySQL的密码(如果导出单张表的话在数据库名后面输入表名即可)。

    MySQL命令行导入数据库和数据

    输入:mysql>use 目标数据库名
    导入文件:mysql>source 导入的文件名;
    例如:mysql>source c:\db.sql;

    ------------------------------------ 

    1. mysqldump导出固定条件的数据库(包括表)

    mysqldump有一个参数where可以设置导出固定条件的数据库,where有个简写就是w,前者使用方法是–where后者是-w

    例如,我要导出名字为data0数据库 table0 status为1 的记录,可以使用下面的命令

    mysqldump -u username -p data0 table0 -w status=1 > /home/db/db_bak2012

    2. 导出的数据只是追加

    mysqldump的两个参数–no-create-info和–no-create-db,也就是下面的例子:

    mysqldump -u username -p password databasename tablename --no-create-db --no-create-info > /home/db/db_bak2012

    3. 使用into outfile 和 load data infile导入导出备份数据

    如果要导出一个表中的部分字段或者部分符合条件的记录,需要用到了mysql的into outfile 和 load data infile。

    例如下面的mysql命令是把select的mytable表中的数据导出到/home/db_bak2012文件。

    select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012' fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

    假如要导入刚才备份的数据,可以使用load file方法,例如下面的mysql命令,把导出的数据导入了mytable_bak的表中:

    load data infile  '/home/db_bak2012' into table mytable_bak fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

    这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对于mysqldump比较灵活机动。

  • 相关阅读:
    剑指offer——斐波那契数列
    剑指offer——用两个栈实现队列
    剑指offer——二维数组中的查找
    LeetCode第九题—— Palindrome Number(判断回文数)
    java 面试题汇总
    idea设置方法注释
    解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
    Timer和TimerTask详解
    java8函数式接口(Functional Interface)
    Python执行选择性粘贴
  • 原文地址:https://www.cnblogs.com/yokoboy/p/2946967.html
Copyright © 2011-2022 走看看