MySQL 5.5使用LOAD DATA INFILE語句匯入資料
相關引數:
local 從客戶端主機讀取文字檔案
ignore 如果你指定了這個引數,則重複的記錄會被跳過
replace 如果你指定了這個引數,,則重複的記錄會被覆蓋掉
IGNORE number LINES 匯入的時候跳過指定的前幾行
例如:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
FIELDS TERMINATED BY 指定列的分隔符,預設是\t
ENCLOSED BY 指定列的包括符,預設是空
例如:load data infile '/tmp/load_starting.txt' into table load_test fields terminated by ',' optionally enclosed by '"' lines starting by 'Neo';
ESCAPED BY 指定轉義符,預設是\
例如:load data infile '/tmp/ld_t2.csv' into table ld_t2 fields terminated by ',' enclosed by '"' escaped by '|';
LINES TERMINATED BY 指定換行符,預設是\n
例如:load data infile '/tmp/ld_t5.csv' into table ld_t5 fields terminated by ',' enclosed by '"' escaped by '|' lines terminated by '\r\n';
LINES STARTING BY 指定每行開始的字元
注意:
每次執行LOAD DATA INFILE語句,都會將被匯入表中的資料清空。
--匯入示例
--檢視匯入檔案檔案的內容
[root@localhost fire]# cat /tmp/dept.txt
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON
50,MAINTENANCE,HULUDAO
--根據欄位格式建立表
mysql> CREATE TABLE `test` (
-> `deptno` int(11) NOT NULL DEFAULT '0',
-> `dname` varchar(15) NOT NULL,
-> `loc` varchar(15) NOT NULL
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.20 sec)
--使用root使用者匯入文字檔案中的內容到對應的表中
mysql> use fire
Database changed
mysql> load data infile '/tmp/dept.txt' into table test charset gbk fields terminated by ',';
Query OK, 5 rows affected (0.07 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
--查詢匯入表中的內容
mysql> select * from test;
+--------+-------------+-----------+
| deptno | dname | loc |
+--------+-------------+-----------+
| 10 | ACCOUNTING | NEW YORK
| 20 | RESEARCH | DALLAS
| 30 | SALES | CHICAGO
| 40 | OPERATIONS | BOSTON
| 50 | MAINTENANCE | HULUDAO
+--------+-------------+-----------+
5 rows in set (0.00 sec)
--指定列名匯入
load data infile '/tmp/ld_t7.csv' into table ld_t7 fields terminated by ',' enclosed by '"' (id, uname, email, age);
local 從客戶端主機讀取文字檔案
ignore 如果你指定了這個引數,則重複的記錄會被跳過
replace 如果你指定了這個引數,,則重複的記錄會被覆蓋掉
IGNORE number LINES 匯入的時候跳過指定的前幾行
例如:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
FIELDS TERMINATED BY 指定列的分隔符,預設是\t
ENCLOSED BY 指定列的包括符,預設是空
例如:load data infile '/tmp/load_starting.txt' into table load_test fields terminated by ',' optionally enclosed by '"' lines starting by 'Neo';
ESCAPED BY 指定轉義符,預設是\
例如:load data infile '/tmp/ld_t2.csv' into table ld_t2 fields terminated by ',' enclosed by '"' escaped by '|';
LINES TERMINATED BY 指定換行符,預設是\n
例如:load data infile '/tmp/ld_t5.csv' into table ld_t5 fields terminated by ',' enclosed by '"' escaped by '|' lines terminated by '\r\n';
LINES STARTING BY 指定每行開始的字元
注意:
每次執行LOAD DATA INFILE語句,都會將被匯入表中的資料清空。
--匯入示例
--檢視匯入檔案檔案的內容
[root@localhost fire]# cat /tmp/dept.txt
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON
50,MAINTENANCE,HULUDAO
--根據欄位格式建立表
mysql> CREATE TABLE `test` (
-> `deptno` int(11) NOT NULL DEFAULT '0',
-> `dname` varchar(15) NOT NULL,
-> `loc` varchar(15) NOT NULL
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.20 sec)
--使用root使用者匯入文字檔案中的內容到對應的表中
mysql> use fire
Database changed
mysql> load data infile '/tmp/dept.txt' into table test charset gbk fields terminated by ',';
Query OK, 5 rows affected (0.07 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
--查詢匯入表中的內容
mysql> select * from test;
+--------+-------------+-----------+
| deptno | dname | loc |
+--------+-------------+-----------+
| 10 | ACCOUNTING | NEW YORK
| 20 | RESEARCH | DALLAS
| 30 | SALES | CHICAGO
| 40 | OPERATIONS | BOSTON
| 50 | MAINTENANCE | HULUDAO
+--------+-------------+-----------+
5 rows in set (0.00 sec)
--指定列名匯入
load data infile '/tmp/ld_t7.csv' into table ld_t7 fields terminated by ',' enclosed by '"' (id, uname, email, age);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2084878/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- load data infile ERROR 1045 (28000)Error
- MySQL load data載入資料MySql
- 故障分析 | MySQL 使用 load data 匯入資料錯誤的一個場景MySql
- 使用 LOAD DATA LOCAL INFILE,sysbench 導數速度提升30%
- MySQL的文字匯入之load data localMySql
- GreatSQL 並行Load Data加快資料匯入SQL並行
- MySQL 匯出一條資料的插入語句MySql
- MySQL load xml載入資料MySqlXML
- 如何在MySQL 5.7中使用SELECT … INTO語句匯出資料檔案?MySql
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- 資料查詢語句:DQL(Data Query Language)
- mysql使用phpmyadmin批次替換資料sql語句MySqlPHP
- MySQL入門--匯出和匯入資料MySql
- MySQL資料的匯入MySql
- 圖解JanusGraph系列 - 關於JanusGraph圖資料批量快速匯入的方案和想法(bulk load data)圖解
- 5.7 與 8.0 對相同檔案的 LOAD DATA 語句結果不同
- Mysql 資料庫匯入與匯出MySql資料庫
- Mysql資料庫使用Navicat Mysql匯入sql檔案報錯MySql資料庫
- mysql資料庫語句自動生成MySql資料庫
- MySQL 的資料管理及 DML 語句MySql
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- 【SQL】Oracle BLOB 批量匯入匯出圖片語句SQLOracle
- MySQL匯入百萬資料實踐MySql
- Windows 下 MySQL 資料匯入 RedisWindowsMySqlRedis
- 入門MySQL——DML語句篇MySql
- 【MySQL】白話說MySQL(五),資料的匯出與匯入MySql
- 4、MySQL建立資料庫(CREATE DATABASE語句)MySql資料庫Database
- mysql資料庫重新命名語句分享MySql資料庫
- MYSQL---SQL語句的資料快取MySql快取
- 使用navicat匯出查詢大量資料結果集並匯入到其他資料庫(mysql)資料庫MySql
- sqoop用法之mysql與hive資料匯入匯出OOPMySqlHive
- MySQL Shell import_table資料匯入MySqlImport
- 用Navicat把SQLServer資料匯入MySQLServerMySql
- 入門MySQL——基礎語句篇MySql
- MySQL入門--事務控制語句MySql
- MySQL中explain語句的使用MySqlAI
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別