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

    导入数据

    1. 使用 MySQl Workbench 界面操作

    导入 csv JSON 格式文件

    2 使用 load data 命令

    load data 命令官网教程 https://dev.mysql.com/doc/refman/5.7/en/load-data.html

    登录 mysql 时,需要在登录时使用 --local-infile=1 参数

    LOAD DATA
        [LOW_PRIORITY | CONCURRENT] [LOCAL]
        INFILE 'file_name'
        [REPLACE | IGNORE]
        INTO TABLE tbl_name
        [PARTITION (partition_name [, partition_name] ...)]
        [CHARACTER SET charset_name]
        [{FIELDS | COLUMNS}
            [TERMINATED BY 'string']
            [[OPTIONALLY] ENCLOSED BY 'char']
            [ESCAPED BY 'char']
        ]
        [LINES
            [STARTING BY 'string']
            [TERMINATED BY 'string']
        ]
        [IGNORE number {LINES | ROWS}]
        [(col_name_or_user_var
            [, col_name_or_user_var] ...)]
        [SET col_name={expr | DEFAULT},
            [, col_name={expr | DEFAULT}] ...]

    注意1  导txt之前,应当删除字段的表头,否则表头内容也会被当做字段的值导入字段中

    注意2  导入txt之前,应当将txt另存为utf-8格式,否则中文无法导入

    注意3  导入txt之前,一定要将utf-8的文档去BOM头化,否则因为有前导字符串,会导入错误。

    注意4  默认的行分隔符为换行符" "  默认的字段分隔符是tab字符" " 当然可以指定

    $mysql --local-infile=1 -u name -p

    mysql> load data local infile 'C:\Users\mail.simcere.com\Desktop\病原数据库\standardized_microDB.check.txt'
    -> into table standardized_microdb(`taxid`, `organism_name`, `species_taxid`, `gram_strain`, `disease`, `ICD_lineages`, `isolation_source`, `host_name`, `evidence_support`);

    mysql> load data local infile 'C:\Users\mail.simcere.com\Desktop\病原数据库\NCBI_taxonomy_2019-01-10.csv'
    -> into table ncbi_taxonomy;

    使用 load data 是有时会报错

     ERROR 1148 (42000): The used command is not allowed with this MySQL version

    原因是:

    服务器端 local_infile 默认开启;客户端 local_file 默认关闭,因此用时候需要打开

    mysql> show global variables like 'local_infile';

    mysql> set global local_infile = 'ON';  -- 权限不够使用 root

    然后再使用 load data 命令导入数据

    如果还是报错 可以退出MySQL 使用如下方式登录后,在使用 load data 命令

    $ mysql --local-infile=1 -u root -p

    3. 导入备份的数据表(由 mysqldump 得到)

    $ mysql -u 用户名 -p 数据库名  < 文件名.txt

    4. 通过执行 sql 文件

    sql 文件本质也是文本文件,其内容就是sql语句

    首先确保用户拥有足够的权限

    $mysql -u root -p  -- 链接数据库
    mysql> source /.../.../***.sql;  -- 执行sqla文件

    导出数据

    1. 使用 mysqldump 命令将数据表备份到文件中

    $ mysqldump -u 用户名 -p 数据库名  数据表明 > 文件名.txt

  • 相关阅读:
    [NOIP2010]关押罪犯
    图的联通入门题
    【luogu4777】扩展中国剩余定理(EXCRT)[数论 扩展中国剩余定理]
    【luogu3868】【TJOI2009】猜数字[模板] [数论 中国剩余定理]
    【luogu1082】【noip2012】同余方程 [数论 扩展欧几里德]
    【luogu1962】斐波那契数列 [矩阵乘法]
    【uva1644】 素数间隔 Prime Gap [数学 质数筛]
    【uva307】小木棍 Sticks [dfs搜索]
    【luogu4011】孤岛营救问题(拯救大兵瑞恩) [最短路][分层思想]
    【noip2015】
  • 原文地址:https://www.cnblogs.com/0820LL/p/10579535.html
Copyright © 2011-2022 走看看