mysql之导入与导出

news/2024/7/5 5:43:06

SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。

一、SELECT INTO…OUTFILE语法:

select * from Table into outfile '/路径/文件名'
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n'

(1)路径目录必须有读写权限777
(2)文件名必须唯一
(3)fields terminated by ','必须存在,否则打开的文件的列在同一的单元格中出现
(4)我验证的表结构为gbk的,否则出现乱码

●  fields子句:在FIELDS子句中有三个亚子句:TERMINATED BY、 [OPTIONALLY] ENCLOSED BY和ESCAPED BY。如果指定了FIELDS子句,则这三个亚子句中至少要指定一个。

(1)TERMINATED BY用来指定字段值之间的符号,例如,“TERMINATED BY ','”指定了逗号作为两个字段值之间的标志。

(2)ENCLOSED BY子句用来指定包裹文件中字符值的符号,例如,“ENCLOSED BY ' " '”表示文件中字符值放在双引号之间,若加上关键字OPTIONALLY表示所有的值都放在双引号之间。

(3)ESCAPED BY子句用来指定转义字符,例如,“ESCAPED BY '*'”将“*”指定为转义字符,取代“\”,如空格将表示为“*N”。

●   LINES子句:在LINES子句中使用TERMINATED BY指定一行结束的标志,如“LINES TERMINATED BY '?'”表示一行以“?”作为结束标志。

二、LOAD DATA …INFILE语句是SELECT INTO…OUTFILE语句的补语,该语句可以将一个文件中的数据导入到数据库中。

sql 语句

select * from
(select `PhoneNo`,`TaskName`,`Status`,`Dialdtimes`,`Agent`,`DialTime`,`DialEndTime`,`DialResult`,`TalkEndTime`
from t_title 
union all
select * from
(select t.PhoneNo,'task_20_2' as Name,IFNULL(b.status_name,'') as Status_name ,IFNULL(t.DialedTimes,''),IFNULL(t.AgentAccount,''),IFNULL(t.DialTime,''),IFNULL(t.DialEndTime,''),'未呼' as result,IFNULL(t.TalkEndTime,'') from t_od_taskphoneno t
left join biz_outdial.phone_status
 b on t.Status = b.status_id where t.enterprise_id = "30092638" AND TaskId = "49" and DialTime is null  order by ID desc limit 10
) as tmp1 ) as tmp
into outfile  '/mnt/backup/test00001.csv'
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n

1. union all 和 union的区别

Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All,对两个结果集进行并集操作,包括重复行,不进行排序;

Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序

2.IFNULL(t.AgentAccount,''),如果是缺省值,则用/N来代替。因为不想要这个效果,所以加IFNULL(t.AgentAccount,'')这个限定条件

3.as tmp1必须要有,否则进行排序时 order by ID decs 提示"ID 不存在"的错误

 

Mysql导出表结构及表数据 mysqldump用法

 命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;

    1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;

    2、导出數據库為dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

    3、导出數據库為dbname所有表结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;

    4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;

Mysql导入表结构及表数据mysqlimport

用法

mysqlimport客户端提供了LOAD DATA INFILEQL语句的一个命令行接口。mysqlimport的大多数选项直接对应LOAD DATA INFILE子句。

从文件 dump.txt 中将数据导入到 mytbl 数据表中, 可以使用以下命令:

$ mysqlimport -u root -p --local database_name dump.txt password *****

mysqlimport命令可以指定选项来设置指定格式,命令语句格式如下:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****

mysqlimport 语句中使用 --columns 选项来设置列的顺序:

$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****

http://www.niftyadmin.cn/n/3862797.html

相关文章

linux 未跑程序 内存 cache使用过大

linux与windows不同,会存在缓存内存,通常叫做Cache Memory。有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少,此时查看Linux系统 /proc/meminfo 文件,会发现有一项 Cached Memory&#x…

并查集,是否成树,Poj(1308)

思路: 对于每一条新的边的两个端点,是否是属于一颗树,要是的话,就不是一颗树。否则,就合并。 这里要注意的是,不能是森林,我这里WA了两次了。只不过在最后,查看每个节点的祖先是否是…

jquery分页插件

引用 <link href"css/jBootstrapPage.css" rel"stylesheet"/> <script src"js/jBootstrapPage.js"></script> 配置 <div><ul class"pagination"></ul> </div> <script type"text/j…

python 元祖(tuple)

元祖和列表几乎相同&#xff0c;但是元祖一旦初始化是不可变更内容的 元祖的表示方式是caassmates()&#xff0c; 要记住所有列表能用的。元祖都能用&#xff0c;但是就是不能变内容 注&#xff1a;记住&#xff0c;在python中的元祖&#xff0c;为了引起不必要的麻烦&#xff…

openal-soft

from转载于:https://www.cnblogs.com/Searchor/p/5614544.html

java.lang.Long cannot be cast to java.lang.Integer解决办法

情景&#xff1a; mybatis连接oracle 报错&#xff1a; 测试增的时候&#xff0c;报错 Java.lang.Long cannot be cast to java.lang.Integer&#xff1b;删改没有报错。 排查过程&#xff1a; 1.先针对映射的sql进行排查&#xff0c;打印sql&#xff0c;直接在oracle上执行&a…

UART Explained(转载)

做嵌入式开发&#xff0c;UART几乎是必不可少的&#xff0c;调试串口、GPS、GPRS、Bluetooth等模块很多都是用的UART接口。时下火热的IoT也不乏UART的身影&#xff0c;串口的BLE、WIFI、Zigbee、Lora等等模块&#xff0c;一堆一堆。前一篇提到的NUC972竟然内置了11个UART&#…

jetty服务器启动方法总结【备用】

1. 使用Java命令启动 java -jar start.jar ctrl c 关闭 终端窗口一直存在 2. 使用Java命令启动2 java -jar start.jar & 启动成功后敲回车即在后台运行 如果想查看控制台信息&#xff0c;此时进入jetty跟目录&#xff0c;会产生一个nohup.out 此时运行tail -f nohup.out 即…