在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MySQL 數(shù)據(jù)導(dǎo)入
MySQL 復(fù)制表
MySQL ALTER 命令
MySQL 安裝
MySQL 日期與時間方面的函數(shù)
MySQL SQL Injection
MySQL 排序結(jié)果
MySQL 臨時表
MySQL 介紹
MySQL 數(shù)據(jù)導(dǎo)出
MySQL 索引
MySQL 數(shù)值函數(shù)
MySQL 更新查詢
MySQL UNION 關(guān)鍵字
MySQL RAND 函數(shù)
創(chuàng)建 MySQL 數(shù)據(jù)庫
MySQL AVG 函數(shù)
MySQL Using Join
MySQL Handling Duplicates
MySQL SUM 函數(shù)
MySQL 數(shù)據(jù)類型
MySQL 插入查詢
MySQL 字符串函數(shù)
MySQL Using Sequences
MySQL 管理
MySQL 數(shù)據(jù)導(dǎo)入
MySQL BETWEEN 子句
MySQL MIN 函數(shù)
創(chuàng)建 MySQL 表
MySQL Group By 子句
MySQL COUNT 函數(shù)
MySQL 匯報
MySQL 選擇數(shù)據(jù)庫
MySQL Where Clause
MySQL 選擇查詢
MySQL Like Clause
MySQL 正則表達(dá)式
一些非常有用的學(xué)習(xí)資源
MySQL NULL Values
MySQL 刪除查詢
MySQL 數(shù)據(jù)庫信息
一些有用的 MySQL 函數(shù)與子句
MySQL 刪除表
MySQL MAX 函數(shù)
MySQL SQRT 函數(shù)
MySQL 終止數(shù)據(jù)庫
連接 MySQL 服務(wù)器
MySQL IN 子句
MySQL CONCAT 函數(shù)
MySQL PHP語法

MySQL 數(shù)據(jù)導(dǎo)入

MySQL 可以采用2種簡單的方法將之前備份文件中的數(shù)據(jù)加載進(jìn) MySQL 數(shù)據(jù)庫。

利用 LOAD DATA 導(dǎo)入數(shù)據(jù)

MySQL 利用 LOAD DATA 語句作為批量數(shù)據(jù)加載器。下面這個范例將從當(dāng)前目錄中讀取 dump.txt 文件,然后把它加載進(jìn)當(dāng)前數(shù)據(jù)庫的表 mytbl 中。

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

  • 如果不寫 LOCAL 關(guān)鍵字,MySQL 會從服務(wù)器主機文件系統(tǒng)的根目錄開始,以完整指明文件位置的絕對路徑名方式開始查找數(shù)據(jù)文件。MySQL 會從給定位置讀取文件。
  • 默認(rèn)情況下,LOAD DATA 假定數(shù)據(jù)文件中每行都由換行符所終止,每行的數(shù)據(jù)值由制表符所分隔開。
  • 為了明確指定文件格式,使用 FIELDS 子句來描述行內(nèi)字段特征, LINES 子句指定行末尾序列。下例中的 LOAD DATA 語句表明,數(shù)據(jù)文件中的值由冒號(:)分隔,每行由換行符及回車符所終止。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';
  • LOAD DATA 假定數(shù)據(jù)文件中的列的順序與表中列的順序相同。如果不為真,可以指定一個列表來指示數(shù)據(jù)文件中具體表列的加載方式。假如表有3個列:a、b和c,但數(shù)據(jù)文件中對應(yīng)的是列b、c與a,則可以這樣加載。
mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

利用mysqlimport 導(dǎo)入數(shù)據(jù)

MySQL 還包含一個工具程序:mysqlimport。它相當(dāng)于 LOAD DATA 的一個封裝器,因而你可以直接從命令行中加載輸入文件。

將 dump.txt 中的數(shù)據(jù)加載進(jìn)表 mytbl,可以在 UNIX 系統(tǒng)的命令行中使用以下命令:

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

如果使用mysqlimport,命令行選項就會提供格式說明符。mysqlimport 命令作用相當(dāng)于前面的兩個LOAD DATA 語句,語法如下:

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

對于 mysqlimport 來說,你怎么指定選項的次序并不重要,只要把它們寫在數(shù)據(jù)庫名稱前面就可以了。

mysqlimport 語句使用 --columns 選項來指定列次序。

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

處理引號與特殊字符

FIELDS 子句能指定除了 TERMINATED BY 之外的其他格式選項。默認(rèn)情況下,LOAD DATA 會假定值不加引號,并把反斜杠(\)解釋為表示特殊意義的轉(zhuǎn)義字符。要想明確指定引號字符,需使用 ENCLOSED BY 。MySQL 會在處理輸入時將該字符從數(shù)據(jù)值末尾清除掉。改變默認(rèn)的轉(zhuǎn)義字符,需使用 ESCAPED BY。

在指定 ENCLOSED BY 來表示引號字符應(yīng)該從數(shù)據(jù)值末尾清除時,有可能在數(shù)據(jù)值中包含引號字符,或在其之前添加轉(zhuǎn)義字符。比如,如果引號和轉(zhuǎn)義字符是"\,那么輸入值"a""b\"c"就會被解讀為a"b"c。

對于 mysqlimport 而言,相應(yīng)的指定引號和轉(zhuǎn)義值的命令行選項是--fields-enclosed-by--fields-escaped-by。