zoukankan      html  css  js  c++  java
  • MySQL之数据导入导出

    日常开发中,经常会涉及到对于数据库中数据的导入与导出操作,格式也有很多: TXT,CSV,XLS,SQL等格式,所以,在此总结一下,省的总是百度查询.

    一  导出

    1) 常用的方式就是使用现成的工具例如: Navicat 或者phpmyadmin 当然这是在Windows下经常使用到的工具,如果是Mac当然也有比较好用的软件进行数据导出

      Navicat: 选择要导出的表/库 -> 导出向导->选择导出的格式 即可

       phpmyadmin: 选择表/库  ->  导出 -> 选择导出的格式即可

    有些情况导入的时候报数据错误,可以使用这种方式进行尝试解决:

      xls   >  将xls文件另存为CSV格式  ->  打开CSV格式文件,另存为TXT格式,保存的时候使用utf8编码   -> 删除xls和CSV格式的文件  ->  将TXT文件后缀改成CSV格式   -> 使用工具进行导入(Navicat || phpadmin)

     2) 命令导出  (如果是在linux中操作的话,使用命令的导出方式是最常用的了)

    //导出完整数据:
    mysqldump    -u用户名    -p密码    库名    [表名]    >  保存的文件名称
    mysqldump -uroot -proot  a user > user.sql(C:UsersAdministratorDesktopuser.sql)
    
    //导出数据表结构:
    mysqldump    -u用户名    -p密码    -d   库名    表名  >  保存的文件名称
    mysqldump    -u用户名    -p密码   --no-data  --databases d1 > 文件名
    
    //导出数据表中数据:
    mysqldump    -u用户名    -p密码    -t    库名    表名  > 保存的文件名
    
    //导出所有数据库中(包含系统数据库)的数据库
    mysqldump    -u用户名    -p密码    --all-databases    >保存的文件名
    
    //导出d1,d2两个数据库中的所有数据
    mysqldump    -u用户名    -p密码    --databases   d1  d2 > 保存的文件名
    
    //导出d1中的a1,a2表
    mysqldump    -u用户名    -p密码    --databases  d1  --tables a1  a2  >  保存的文件名  
    
    //导出d1库 a1表中id=1的数据
    mysqldump    -u用户名    -p密码   --databases d1  --tables a1   --where='id=1'  > 保存的文件名
    
    //跨服务器导出导入数据
    mysqldump --host=h1 -uroot -proot  db1 |mysql --host=h2 -uroot -proot db2(可以指定不同数据库)
    
    //将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错(使用这种方式必须是相同的库名才可以)
    mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test 
    //-C  进行传输压缩  //--single-transaction  保证备份的一致性(工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据)
    
    //压缩备份
      mysqldump -uroot -proot --databases abc 2>/dev/null |gzip >/abc.sql.gz
    //还原
      gunzip -c abc.sql.gz |mysql -uroot -proot abc
    //常用参数: 
    //生成新的binlog文件 -F参数 mysqldump -u用户 -p密码 --all-databases -l -F > all_databases.sql

      

    注意点:

    --databases: 如果使用这个参数默认会SQL语句中加入创建库,use库语句

    使用mysql自带的命令执行操作

    /usr/bin/mysql --default-character-set=utf8 --socket=/data/mysql/mysql.sock -u用户名 -p密码 -e " select email,score  from gwent.cm_survey  " > gwent.xlsm
    //在数据库进入之前执行命令
    
    select * from user into outfile 'C:/Users/Administrator/user.xls';
    //在数据库中执行命令

        

    二  导入

    1) 使用相应的软件导入方法, 操作步骤同上

    2) 使用命令行的方式

      

    use database;
    
    source E:xampphtdocsSsCpcdjm.sql
    mysql -u用户名 -p密码 数据库名 < 数据库名.sql
    #mysql -uabc_f -p abc < abc.sql
  • 相关阅读:
    Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础
    Android Studio 单刷《第一行代码》系列 04 —— Activity 相关
    Android Studio 单刷《第一行代码》系列 03 —— Activity 基础
    Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat
    Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld
    IDEA 内网手动添加oracle,mysql等数据源,以及server returns invalid timezone错误配置
    eclipse maven设置
    IntelliJ IDE 常用配置
    eclipse maven 常见问题解决方案
    Maven 安装和配置
  • 原文地址:https://www.cnblogs.com/xingxia/p/mysql_import_export.html
Copyright © 2011-2022 走看看