LOAD_DATA _INFILE和SELECT INTO OUTFILE说明

1.SELECT...INTO OUTFILE 从一个表中读取数据行存放的文本文件中.
 
2.LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中.
 
3.语法规则
  a) select * into outfile '/root/outfile11.txt' fields TERMINATED by ',' enclosed by '"' escaped by '\\' lines terminated by '\n' from table
     (1) fields terminated by 表示读取的数据列之间用什么符号分隔, 例如 field1 , field2 , field3 ,....
 
     (2) enclosed by 表示每列的首尾都加上这个字符串.例如 :(enclosed by ‘“’) 导出的每列为 "field1" ,"field2","field3",
                                 不管是整型还是字符串类型都会这样.所有在导入回整形的时候出现错误.
 
     (3) escaped by escaped by的功能是这样的.
                      * escaped by 后面可以接字符串,但是它只取第一个字符.
                      * 如果发现某列的字符串中有同样的一个字符存在.则在这个字符后面再加上一个同样的字符(对整型无效)
                      * 特殊情况,如果字段为null 导出的数据列中也会添加这个字符
                    例如:
                          DB_TABLE:
                               id name
                                1 abc
                                2 aab
                                3 <NULL>
                          设置 escaped by 'a'
                    导出的结果为:
                               id name
                                1 aabc
                                2 aaab
                                3 aN
                          导出数据中\N表示<NULL>
                     此功能是为了解决,数据库中有"\"字符的存在和NULL列以及enclosed,fields TERMINATED出现的字符而设立的.
                     对空串的特别处理


                    例如:
                           DB_TABLE:
                               id name
                                1 abc
                                2 aab
                                3 <NULL>
                    如果设置escaped by ''
                    导出的结果为:
                               id name
                                1 aabc
                                2 aaaab
                                3 NULL
                   这样,它不会转化为\N,直接把<NULL>转化成NULL字符串 
 
     (4) lines terminated by 表示每一行结束后,用什么方式分隔下一行.
 
                    例如: lines terminated by ‘\n’ 每一行用回车分隔
 
                    注意:如果是windows则需要用 ‘\r\n’来表示一个回车分隔
 
 
     (5) 默认为 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY ''
 
     (6) 这里我没有用到STARTING BY '' 这个表示,忽略字段开始的某些字符,在读数据.
 
                     例如 :
                          STARTING BY 'asdf'
                          DB中字段为 asdfgrwew 读入文本后为:grwew
 
 
 b)load data infile '/root/outfile32.txt' into table test fields terminated by ',' enclosed by '"' escaped by '\\' lines terminated by '\n'
 
    (1) fields terminated by 以 "," 号为列的分隔符.把每列放进数据库里面.
 
    (2) enclosed by 去掉每列之间的一个字符 例如 "field1" ,导入数据库后为: field1
 
    (3) escaped by 如果发现某列的字符串中有同样的一个字符存在.则去掉一个这样的字符(对整型无效)
 
    (4) lines terminated by 表示这种形式读取下一行
 
    (5) 默认为 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY ''
 
 
4.load date infile 与 select ..into outfile 的格式最好的完全匹配的。不然会有很多意想不到的事情发生。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值