mysql命令行导入和导出数据

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

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

MySQL中导出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, line
suped
seped
"
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, line
suped
seped
""
end"

 

在Linux下如果经常要进行这样的导入导出操作,当然最好与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 4180
MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '\"' escaped by '\"' lines terminated by '\r\n'

 

转自:http://blog.csdn.net/sara_yhl/article/details/6850107

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7.组件连线(贝塞尔曲线)--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...

上节讲到如何创建组件,清除设计器视图,以及设计视图的持久化和恢复,本节将重点讲如何实现组件间的连线,前面章节有提到为了方便从持久化文件中恢复,组件和连线是分别存放的:nodes和lines对象,两…

定位排查工作流的计算结果数据量不符合预期的方法

近期有发现一些用户在咨询,为什么数据从数据源出来后,经过了一些计算,结果不符合预期了。最常见的是说,为什么我的数据在Mysql里有xx条,怎么到MaxCompute里算了下结果变了。因为这是两个不同的系统,我们又没…

canvas 插件_基于canvas的JavaScript 二维码生成工具——QRCanvas

介绍在我们日常的开发中,特别是在现代的社会环境下,二维码的应用可谓是丰富多彩,各种各样让人眼花缭乱的二维码,可见二维码已经渗透进我们生活的方方面面,也可以说目二维码确确实实方便了我们的生活。因为作为开发人员…

消息队列NetMQ 原理分析2-IO线程和完成端口

目录 前言介绍目的IO线程初始化IO线程Proactor启动Procator线程轮询处理socketIOObject总结前言 介绍 [NetMQ](https://github.com/zeromq/netmq.git)是ZeroMQ的C#移植版本,它是对标准socket接口的扩展。它提供了一种异步消息队列,多消息模式,消息过滤(订阅&#xf…

VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法

VC连接MySQL的配置过程在上一篇博文中,不过当你设置好,以为万事大吉的时候,运行却出现这个错误:libmysql.lib : fatal error LNK1113: invalid machine type。 无效的机器类型,真的是很让人捉急。 发生这个错误的原因是…

linux 内存泄漏 定位,一种内存泄露检查和定位的方法

一个系统后台服务进程,可能包括多个线程,在生成环境下要求系统程序能够稳定长时间稳定运行而不宕机。其中一个基本的前提就是需要保证系统程序不存在内存泄露。那么,该如何判读系统程序是否存在内存泄露呢?如果存在,又…

ifconfig命令找不到_02. Linux命令之查看网络连接

1. 查看网络连接数和端口使用 netstat 命令查看网络连接情况netstat -anp参数:-a 显示所有选项-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-p 显示建立相关链接的程序名关键列解释:Proto 表示协议…

python学习之模块(pip),列表生成式,模块操作mysql,excel

python基础 生成式 列表生成式  格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原: 1 res1 [] 2 for i in range(1,5): 3   res1.append(i) 4 print(res1) 改: 1 res2 [i for i in range(1,5)] 2 print(res2) 字典生成式  格式 {key:value f…

linux驱动read函数 copytouser,Linux驱动编程 step-by-step (五)主要的文件操作方法实现...

主要的文件操作方法实现文件操作函数有很多的操作接口,驱动编程需要实现这些接口,在用户编程时候系统调用时候会调用到这些操作structfile_operations {...loff_t (*llseek) (structfile *, loff_t,int);ssize_t (*read) (structfile *,char__user *,siz…

基于光线追踪的渲染中景深(Depth of field)效果的实现

图形学离线渲染中常用的透视摄像机模型时根据小孔成像的原理建立的,其实现通常是从向成像平面上发射ray,并把trace这条ray的结果作为成像平面上对应交点的采样结果。即: 图片来自《Fundamentals of Computer Graphics》 现实中的镜头拍摄的图…

带你制作百词斩单词表读写插件

上篇博文简单的介绍了一下Chrome插件,今天就与大家分享一下我做的这款有实际意义的插件吧。 做这款插件主要是用百词斩站点进行单词学习时,遇到的一点点闹心事儿。在单词表中不能听发音。也不能练习拼写。所以才忍无可忍的做了这么一款插件。自我感觉还是…

iphone各机型参数对比_带你了解新款iPhone 12系列四款机型

2020年10月14日凌晨1:00,苹果召开新品发布会,发布了新款iPhone 12系列手机,“果粉”们期待已久的iPhone 12终于来了。iPhone 12系列手机共有四款机型,分别是iPhone 12 mini、iPhone 12、iPhone 12 Pro、iPhone 12 Pro …

高并发第一弹:准备阶段 了解高并发

高并发第一弹:准备阶段 了解高并发 首先需要知道什么并发, 什么是高并发. 并发: 关于并发的学习,可以从JDK提供的并发包为核心开始,许多其他的类和封装都是对其进行扩展或者补充,我们来看一下Java并发包(java.util.concurrent包,简…

matlab立体坐标定位_【半导光电】基于光电探测器的激光章动定位算法(二)

今日光电有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。欢迎来到今日光电!----与智者为伍 为创新赋能----1. 章动定位算法实验前,首先需要对光路进行调节,保证经…

Android:支持多选的本地相册

前段时间在做一个动态发布功能,需要用到图片上传。一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下。 先上截图,依次为选择相册界面、相册详情界面、查看图片大图界面 相…

心灵与大脑

2019独角兽企业重金招聘Python工程师标准>>> http://blog.sina.com.cn/s/blog_6f034fc30102f2tg.html 转载于:https://my.oschina.net/chirnson/blog/832011

python入门心得_记初学python的一些心得

人生苦短,我用python! 其实我自学python也很长一段时间了,但总是去更换学习资料,搞的现在学的不是很好,因为没更换次资料都要从头开始学起,那么分享下我的学习战况吧,不是很好,还将就…

16.U-boot的工作流程分析-2440

16.U-boot的工作流程分析-2440 分析的流程: 程序入口 第一阶段程序分析 第二阶段程序分析 2440开发板: 1.uboot的入口: 要看uboot工程的入口,首先打开顶层目录的Makefile: Uboot所支持的开发板,在顶层的Ma…

如何使用Redis做MySQL的缓存

应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需…

psychopy 与脑电打码 eeg

2019独角兽企业重金招聘Python工程师标准>>> 实验程序就不放了,这里主要放如何向串口发送打码的代码 实际上,给脑电打码的本质就是向串口发送一个字符,脑电的程序会自动在收到该字符的同时在脑电数据上进行标记。以下代码打开了一…