导入数据

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  默认的行分隔符为换行符"\n"  默认的字段分隔符是tab字符"\t" 当然可以指定

$mysql --local-infile= -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

MySQL 导入导出数据的更多相关文章

  1. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  2. 解决mysql导入导出数据乱码问题

    最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...

  3. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  4. mysql导入导出数据

    mysqldump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据作为测试. mysqldump命令中带有一个 --where/ ...

  5. docker mysql 导入导出数据

    导出数据 1.导出mysql单张表结构和数据: docker exec -it my-mysql mysqldump dbname -uroot -p123456 --tables tname > ...

  6. mysql导入导出数据,备份,恢复数据

    MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...

  7. MySQL导入导出数据和表结构 source和mysqldump

    MySQL导入数据的方式: 1.使用source /dir/test.sql导入数据进入数据库:查询数据库编码格式show variables like "%char%";设置编码 ...

  8. MySql导入导出数据方法

    导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 ...

  9. mysql导入导出数据过大命令

    phpmyadmin 导入或者导出都是有限制的,当导入或者导出的数据会报错. 1.导入数据库 mysql -u root -p<备份文件的保存路径 eg: mysql -u root -p &l ...

随机推荐

  1. Asp.net core中由于页面编码导致的中文乱码

    问题描述 最近使用asp.net core写了一个简单的网站,在windows系统下完全没有出现问题.后来在linux系统中搭建了docker,并且在linux中自动使用git获取源码,编译,部署一条 ...

  2. java idea 代码规范插件

    推荐阿里的 p3c https://github.com/alibaba/p3c

  3. JQ删除数组中的某个对象

    ---恢复内容开始--- var pros = []; 全局变量function doSearchSal(){ var param = {}; var searchSal=$.trim($(" ...

  4. [Docker] 容器持久化数据的首选机制 Volume

    Volume 是 docker 容器生成持久化数据的首选机制.bind mounts 依赖主机机器的目录机构,volume 完全由 docker 管理.volume 较 bind mounts 有几个 ...

  5. ftp的主动模式和被动模式的配置和区别

    原文链接: https://www.cnblogs.com/lnlvinso/p/8947369.html ftp模式分为主动模式(active mode)和被动模式(passive mode),ft ...

  6. 如何在Mac上用汇编语言写HelloWorld

    首先,Mac自带nasm,不过我们要先将其升级. 升级它的方法有很多种,因为我已经装好了homebrew,所以我直接在终端输入: brew install nasm 这样就升级啦- 接下来,创建一个H ...

  7. linux下面重启nfs报错:nfs-server.service:main process exited

    linux下面重启nfs报错:nfs-server.service:main process exited [root@dhcp-66-83-39 images]# service rpcbind s ...

  8. 使用WebClient调用第三方接口

    需要调用一个第三方接口,传参返回数据 本来是很简单的一个需求,搞了一天没整好 首先在POSTMAN中测试没有问题,但是使用jquery ajax在前台就会涉及到跨域 虽然设置了 无论怎么写都会报错 C ...

  9. Node.js的内存问题

    v8堆内存限制默认是1GB,所以可能成为瓶颈. 但是Buffer的内存不受限制,而且可以开多个Nodejs实例然后通过代理进行负载均衡,不过不知道这样效果怎么样呢? 但是基本上应该内存的话不会成为单实 ...

  10. CentOS7 PHP+Redis实现Session共享

    先yum简单的安装redis wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/epel-7.repo ...