select into outfile

语法格式如下:

SELECT [列名] FROM table [WHERE 语句]

INTO OUTFILE ‘目标文件‘ [OPTION];

FIELDS TERMINATED BY ‘字符串‘:设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“\t”。

FIELDS ENCLOSED BY ‘字符‘:设置字符来括住字段的值,只能为单个字符。默认情况下不使用任何符号。

FIELDS OPTIONALLY ENCLOSED BY ‘字符‘:设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用任何符号。

FIELDS ESCAPED BY ‘字符‘:设置转义字符,只能为单个字符。默认值为“\”。

LINES STARTING BY ‘字符串‘:设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。

LINES TERMINATED BY ‘字符串‘:设置每行数据结尾的字符,可以为单个或多个字符。默认值是“\n”。windows的换行号是‘\r\n‘。

FIELDS和LINES两个子句都是自选的,但是如果两个子句都被指定了,FIELDS必须位于LINES的前面。

实例:

使用SELECT...INTO OUTFILE语句来导出example数据库下employee表的记录。其中,字段之间用“、”隔开,字符型数据用双引号括起来。每条记录以“>”开头。SQL代码如下:

SELECT * FROM  employee INTO OUTFILE ‘/tmp/file1.txt‘

FIELDS

TERMINATED BY ‘,‘

OPTIONALLY ENCLOSED BY ‘"‘

LINES

STARTING BY ‘>‘;

FIELDS必须位于LINES的前面,多个FIELDS子句排列在一起时,后面的FIELDS必须省略;同样,多个LINES子句排列在一起时,后面的LINES也必须省略。

如果在employee表中包含了中文字符,使用上面的语句则会输出乱码。此时,加入CHARACTER SET gbk语句即可解决这一个问题。修改SQL代码如下:

SELECT * FROM  employee INTO OUTFILE ‘/tmp/file2.txt‘

CHARACTER SET gbk

FIELDS

TERMINATED BY ‘,‘

OPTIONALLY ENCLOSED BY ‘"‘

LINES

STARTING BY ‘>‘ ;

时间: 2024-10-10 07:15:44

select into outfile的相关文章

MySQL无法使用select into outfile

错误提示: mysql> select * into outfile '/tmp/mysql-slow.csv' from mysql.slow_log; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement mysql>

逻辑备份,mysqldump,SELECT…INTO OUTFILE,恢复

逻辑备份 mysqldump mysqldump备份工具最初由Igor Romanenko编写完成,通常用来完成转存(dump)数据库的备份以及不同数据库之间的移植,例如从低版本的MySQL数据库升级到高版本的MySQL数据库,或者从MySQL数据库移植到Oracle和SQL Server等数据库等. mysqldump的语法如下: mysqldump [arguments] > file_name 如果想要备份所有的数据库,可以使用--all-databaes选项: mysqldump --a

mysql load data infile的使用 和 SELECT into outfile备份数据库数据

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char' ] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string

MySQL通过自增一列在Select ... into outfile...里面实现CSV导出带字段的效果

CSV的样例中Select ... into outfile...是不带字段名的,只导出数据,所以需要自己想另外的办法实现,这里有一个笨招,自己构造一个字段列,示例如下: 1,创建测试表数据CREATE TABLE test.c SELECT 1 AS pid,1 AS item,15.0 AS wgt UNION ALLSELECT 1 AS pid,2 AS item,20.0 AS wgt UNION ALLSELECT 1 AS pid,3 AS item,30.0 AS wgt UNI

select into outfile的sql语句

         SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据.但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构.     一.SELECT INTO…OUTFILE语法: select * from Table into outfile '/路径/文件名'fields terminated by ','enclosed by '"'lines terminated

翻译:select into outfile(已提交到MariaDB官方手册)

本文为mariadb官方手册:SELECT INTO OUTFILE的译文. 原文:https://mariadb.com/kb/en/select-into-outfile/ 我提交到MariaDB官方手册的译文:https://mariadb.com/kb/zh-cn/select-into-outfile/ 回到Linux系列文章大纲:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 回到网站架构系列文章大纲:http://www.cnbl

select … into outfile 备份恢复(load data)以及mysqldump时间对比

select - into outfile 'path' 备份 此种方式恢复速度非常快,比insert的插入速度要快的多,他跟有备份功能丰富的mysqldump不同的是,他只能备份表中的数据,并不能包含表的结构.如果备份完成之后,表被drop,是无法实现恢复操作的(除非有表结构). mysql> select * from t1 into outfile '/mydata/mysql/mysql3307/data/t1.sql'; ERROR 1290 (HY000): The MySQL se

Mysql select into outfile 命令

[1]Mysql select into outfile命令 在Mysql中,与load data infile命令作用相反的一个命令是select into outfile命令 select into outfile命令作用将查询结果输出保存到一个文件中 (1)具体使用示例 [1] 执行SQL语句: -- [1]删除表 DROP TABLE test_outfile; -- [2]新建表 CREATE TABLE `test_outfile` ( `Id` INT(11) NOT NULL A

Mysql 使用 select into outfile

Mysql支持将查询结果到处 默认语法 select .. from table  into outfile "filepath\filename.txt"; 如果在执行的过程中遇到 Error 1290 则或为 系统变量中预设了此项, 需要进入到 mysql.ini 中 警用到这个变量,并且重启mysql 服务, 才可以支持这个功能. filepath 默认为 服务器上 mysql 数据目录中该数据库的子文件夹下,如: C:\ProgramData\MySQL\MySQL Serve