博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql命令行导入和导出数据
阅读量:6248 次
发布时间:2019-06-22

本文共 3571 字,大约阅读时间需要 11 分钟。

 首先打开命令窗口,输入命令:mysql -h localhost -u selffabu -p

连接成功后,进行下面的操作

中导出CSV格式数据的SQL语句样本如下:

Sql代码
  1. select * from test_info   
  2. into outfile '/tmp/test.csv'   
  3. fields terminated by ',' optionally enclosed by '"' escaped by '"'   
  4. lines terminated by '\r\n';
select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';

MySQL中导入CSV格式数据的SQL语句样本如下,要导入的文件编码格式是UTF-8:

Sql代码
  1. load data local infile '/tmp/test.csv'   
  2. into table test_info    
  3. fields terminated by ','  optionally enclosed by '"' escaped by '"'   
  4. lines terminated by '\n';
load data local infile '/tmp/test.csv' into table test_info  fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\n'; 

里面最关键的部分就是格式参数

[sql]
  1. fields terminated by ',' optionally enclosed by '"' escaped by '"'   
  2. lines terminated by '\r\n'   
fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n' 

这个参数是根据RFC4180文档设置的,该文档全称Common Format and MIME Type for Comma-Separated Values (CSV) Files,其中详细描述了CSV格式,其要点包括:

(1)字段之间以逗号分隔,数据行之间以\r\n分隔;

(2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。

 

文件:test_csv.sql

[sql]
  1. use test;  
  2.   
  3. create table test_info (  
  4.     id  integer not null,  
  5.     content varchar(64) not null,  
  6.     primary key (id)  
  7. );  
  8.   
  9. delete from test_info;  
  10.   
  11. insert into test_info values (2010, 'hello, line  
  12. suped  
  13. seped  
  14. "  
  15. end'  
  16. );  
  17.   
  18. select * from test_info;  
  19.   
  20. select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';  
  21.   
  22. delete from test_info;  
  23.   
  24. load data infile '/tmp/test.csv' into table test_info  fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';  
  25.   
  26. select * from test_info;  
  27.   
  28.    
use test;create table test_info (	id 	integer	not null,	content varchar(64) not null,	primary key (id));delete from test_info;insert into test_info values (2010, 'hello, linesupedseped"end');select * from test_info;select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';delete from test_info;load data infile '/tmp/test.csv' into table test_info  fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';select * from test_info;

 

文件:test.csv

[Text]
  1. 2010,"hello, line  
  2. suped  
  3. seped  
  4. ""  
  5. end"  
2010,"hello, linesupedseped""end"

 

在下如果经常要进行这样的导入导出操作,当然最好与Shell脚本结合起来,为了避免每次都要写格式参数,可以把这个串保存在变量中,如下所示:(文件mysql.sh)

Bash代码
  1. #!/bin/sh  
  2.   
  3.   
  4. # Copyright (c) 2010 codingstandards. All rights reserved.  
  5. # file: mysql.sh  
  6. # description: Bash中操作MySQL数据库  
  7. # license: LGPL  
  8. # author: codingstandards  
  9. # email: codingstandards@gmail.com  
  10. # version: 1.0  
  11. # date: 2010.02.28  
  12.   
  13.   
  14. # MySQL中导入导出数据时,使用CSV格式时的命令行参数  
  15. # 在导出数据时使用:select ... from ... [where ...] into outfile '/tmp/data.csv' $MYSQL_CSV_FORMAT;  
  16. # 在导入数据时使用:load data infile '/tmp/data.csv' into table ... $MYSQL_CSV_FORMAT;  
  17. # CSV标准文档:RFC 4180  
  18. MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'"  
#!/bin/sh# Copyright (c) 2010 codingstandards. All rights reserved.# file: mysql.sh# description: Bash中操作MySQL数据库# license: LGPL# author: codingstandards# email: codingstandards@gmail.com# version: 1.0# date: 2010.02.28# MySQL中导入导出数据时,使用CSV格式时的命令行参数# 在导出数据时使用:select ... from ... [where ...] into outfile '/tmp/data.csv' $MYSQL_CSV_FORMAT;# 在导入数据时使用:load data infile '/tmp/data.csv' into table ... $MYSQL_CSV_FORMAT;# CSV标准文档:RFC 4180MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'

 

转自:

你可能感兴趣的文章
StringUtils使用基本方法
查看>>
Linux常用命令大全
查看>>
开发自动化系列 工具集(三) 数据库开发工具
查看>>
阿里云-Xshell连接
查看>>
Android Studio 错误 Application Installation Failed...INSTALL_FAILED_INVALID_APK…
查看>>
操作系统--基本概念
查看>>
Redis中的跳跃表
查看>>
Query And Fetch & Query Then Fetch & DFS Query And Fetch & DFS Query Then Fetch
查看>>
搭建 Java Web 开发环境
查看>>
如何在Linux(CentOS 7)命令行模式安装VMware Tools
查看>>
记录下学习Go语言时用到的一些项目
查看>>
phonegap分享到微信插件(iOS版)
查看>>
Flex端使用alivepdf直接导出PDF文件:测试中文有乱码
查看>>
rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较
查看>>
Kafka 设计与原理详解
查看>>
Nginx运维管理脚本
查看>>
Git常用命令
查看>>
深入理解CNN的细节
查看>>
切换到根目录
查看>>
程序入口-UIApplicationMain
查看>>