zoukankan      html  css  js  c++  java
  • 数据导入导出、备份恢复

    1、数据导入(文件内容导入数据库)

    1、作用 :把文件系统的内容导入到数据库中
    2、语法
      load data infile "/var/lib/mysql-files/文件名"
      into table 表名
      fields terminated by "分隔符"
      lines terminated by " ";
    3、将scoretable.csv文件导入到数据库的表中
      1、在数据库中创建对应的表
      create table scoretab(
      id int,
      name varchar(15),
      score float(5,2),
      number bigint,
      class char(7)
      );
    2、把文件拷贝到数据库的默认搜索路径中
      1、查看默认搜索路径
        show variables like "secure_file_priv";  # 这个是数据库的默认搜索路径
        /var/lib/mysql-files/
      2、拷贝文件
        sudo cp ~/scoretable.csv /var/lib/mysql-files/
      3、执行数据导入语句
        load data infile "/var/lib/mysql-files/scoretable.csv"
        into table scoretab
        fields terminated by ","
        lines terminated by " ";
      4、文件权限
        rwxrw-rw- 1 tarena tarena scoretable.csv
              所有者 所属组
        rwx : tarena用户
        rw- : 同组其他用户
        rw- : 其他组的其他用户(mysql用户)

        r -> 4
        w -> 2
        x -> 1
        chmod 644 文件名 rw-r--r--
      5、Excel表格如何转化为CSV文件
        1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)
      6、更改文件编码格式
        1、用记事本/编辑器 打开,文件->另存为->选择编码

    2、数据导出

    1、作用 
      将数据库中表的记录导出到系统文件里
    2、语法格式
      select ... from 表名
      into outfile "/var/lib/mysql-files/文件名"
      fields terminated by "分隔符"
      lines terminated by " ";
    3、把MOSHOU库下的sanguo表英雄的姓名、攻击值、国家导出来,sanguo.txt
      select name,gongji,country from MOSHOU.sanguo
      into outfile "/var/lib/mysql-files/sanguo.txt"
      fields terminated by " "
      lines terminated by " ";
      $ sudo -i
      $ cd /var/lib/mysql-files/
      $ ls
      $ cat sanguo.txt
    4、将mysql库下的user表中 user、host两个字段的值导出到 user.txt
      select user,host from mysql.user 
      into outfile "/var/lib/mysql-files/user.txt" fields terminated by " " 
      lines terminated by " ";

    3、数据备份(mysqldump,在Linux终端中操作)

    1、命令格式
      mysqldump -u用户名 -p 源库名 > ~/***.sql
    2、源库名的表示方式
      --all-databases 备份所有库
      库名        备份单个库
      -B 库1 库2 库3 备份多个库
      库名 表1 表2 表3 备份指定库的多张表
    3、示例
      1、备份所有库,放到 mydata 目录下:all.sql
        mysqldump -uroot -p --all-databases > all.sql
      2、备份 db4 库中的 sheng city xian 三张表,scx.sql
        mysqldump -uroot -p db4 sheng city xian > scx.sql
      3、备份 MOSHOU 和 db4 库, md.sql
        mysqldump -uroot -p -B MOSHOU db4 > md.sql
      4、备份 db4 库, db4.sql
        mysqldump -uroot -p db4 > db4.sql

    4、数据恢复

    1、命令格式(Linux终端)
      mysql -uroot -p 目标库名 < ***.sql
    2、从所有库备份中恢复某一个库(--one-database)
      mysql -uroot -p --one-database 目标库名 < all.sql
      mysql -uroot -p --one-database db4 < all.sql
    3、示例
      1、在db4.sheng新增一条记录
      2、在db4中新建一张表 t888,里面插入1条记录
      3、从db4.sql中恢复db4库
      4、注意
        1、恢复库时如果恢复到原库会将表中数据覆盖,新增表不会删除
        2、数据恢复时如果恢复的库不存在,则必须先创建空库

  • 相关阅读:
    The path "" is not valid path to the gcc binary.
    ADB命令介绍
    Android 中Message,MessageQueue,Looper,Handler详解+实例
    Sqlite 修改字段
    曾经光辉岁月 永远海阔天空
    用AchartEngineActivity引擎自定义图表控件和背景折线图
    一个帖子学会Android开发四大组件
    Android获得系统时间(24小时制)
    TagBuilder
    MVC
  • 原文地址:https://www.cnblogs.com/LXP-Never/p/9409373.html
Copyright © 2011-2022 走看看