程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql批量導入已經格式好的文本數據

mysql批量導入已經格式好的文本數據

編輯:MySQL綜合教程

mysql批量導入已經格式好的文本數據


語法:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_name]
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...]

導入表中的某一列數據

數據格式:
北京
上海
深圳
廣州
長沙
鄭州
合肥
西安
南昌
南京
杭州
成都

sql代碼:
LOAD DATA LOCAL INFILE 'C:\\Users\\XXX\\Desktop\\code.txt'
INTO TABLE sys_sensitiveword_t(cityname);

導入整個表數據

創建stu表:
create table stu_other(id int auto_increment primary key,stu_name varchar(50),age int);
然後創建一個文本文件“stu.txt”,每行包含一個記錄,放在C盤的根目錄下。默認的字段分隔符是(tab),你可以更改,下面說明。並且以CREATE TABLE語句中列出的列次序給出。對於丟失的值(例如未知的性別,或仍然活著的動物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內容,使用/N(反斜線,字母N)。 如stu.txt的內容如下:
100001    FLB100001     100001
100002    FLB100002     100002
100003    FLB100003     100003
100004    FLB100004     100004
100005    FLB100005     100005
100006    FLB100006     100006
100007    FLB100007     100007
100008    FLB100008     100008

這裡我用的是table分開。 要想將文本文件“stu.txt”裝載到stu表中,使用這個命令:
LOAD DATA LOCAL INFILE 'c://stu.txt' INTO TABLE stu;
這裡沒有指定字段分隔符,以及行的終止符,默認情況下是這樣的: 字段分隔符:
FIELDS TERMINATED BY '/t' ENCLOSED BY '' ESCAPED BY '//'
其中的'/t'就表示是字段分隔符為tab鍵,如果不想更改,那就把FIELDS TERMINATED BY '/t'中的'/t'改在你自己的分隔符。將執行命令改成這樣:
LOAD DATA LOCAL INFILE 'c:/stu.txt' INTO TABLE stu fields terminated by ‘ ‘;
這裡我用的是空格。 行終止符:
LINES TERMINATED BY '/n' STARTING BY ''
請注意如果用Windows中的編輯器(使用/r/n做為行的結束符)創建文件,應使用:
LOAD DATA LOCAL INFILE 'C://stu.txt' INTO TABLE stu LINES TERMINATED BY '/r/n';
(在運行OS X的Apple機上,應使用行結束符'/r'。) 如果你願意,你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。這對讀入文件“stu.txt”的語句已經足夠。

導出表數據

select * from stu_t into outfile "c://stu_t.txt";
不過,沒有按記錄自動分行 這樣才能夠換行:
select * from stu_t into outfile "c://stu_t.txt" lines terminated by '/r/n';




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved