mysql load data outfile_mysql load data infile和into outfile的常规用法:
load data 可以將文件中的數據導入到表中,這種導入方法快速,高效.
但是很容易出錯,用法也比較復雜。需要額外定定義行分隔符,列分隔符.
不同的格式文件,行,列分隔符的表示方式不一樣。
但是load data 的默認行列分隔符和txt的文件一樣,所以為了少出錯,
最好使用與txt文件導入
常規使用方法如下
load data local infile?? '/home/dwchaoyue/Test.txt'
IGNORE? into table TestTable
CHARACTER? set utf8
IGNORE 1 LINES(Tdate,Tphone01,TgameId,Tlevel,TsndaId);
local infile:將本地文件導入到表中,
'/home/dwchaoyue/Test.txt':本地文件路徑
IGNORE/REPLACE:當主鍵重復的時候,load程序的數據處理方式,IGNORE(忽略該行),REPLACE(替換表中的行)
CHARACTER? set utf8:導入過程中,設置字符編碼,否則有可能出現亂碼
IGNORE 1 LINES:跳過第一行數據,常用戶跳過有列名的行
(Tdate,Tphone01,TgameId,Tlevel,TsndaId):表列名
mysql 數據導出 into ?outfile
into outfiles 的功能剛好與load data 的功能相反
into outfile 主要用于將查詢出來的結果導出到文本中
和load data一樣可以任意指定行分隔符和列分隔符,
這里為了簡便,就是用默認的分隔符就行了。
在實際使用中也沒有必要去指定分隔符(為自己制造麻煩) 。
具體使用法:
mysql> select * into OUTFILE '/home/vip/20140828112.txt' CHARACTER ?set GBK from ?t_mail_new ;
Query OK, 50 rows affected (0.41 sec)
問題1:
/home/vip/20140828112.txt :本地文件路徑 ,該文件必須不存在,而且mysql用戶必須對/home/vip 有讀寫權限
如果導出報錯:
mysql> select * into OUTFILE '/home/monitor/20140828112.txt' CHARACTER ?set GBK from ?t_mail_new
-> ;
ERROR 1 (HY000): Can't create/write to file '/home/monitor/20140828112.txt' (Errcode: 13)
該報錯表明mysql用戶對目錄/home/monitor 無權限
解決方案:
chown ?-R ?mysql:mysql ?/home/monitor
問題2:
當linux系統本身的字符編碼和mysql的字符編碼不一樣 ,這時可能會產生亂碼.
解決方案:
CHARACTER ?set GBK :指定一下編碼就行
參考鏈接:
總結
以上是生活随笔為你收集整理的mysql load data outfile_mysql load data infile和into outfile的常规用法:的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用html5做一个简单网页_用新款ws2
- 下一篇: win10看计算机属性,win10系统查