跳至內容
阿里BaBa電腦筆記
使用者工具
登入
網站工具
工具
顯示頁面
舊版
反向連結
最近更新
多媒體管理器
網站地圖
登入
最近更新
多媒體管理器
網站地圖
足跡:
database:mysql:exportandimport
本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。
======MySQL資料匯出(Export)====== 有一個美國大聯盟Baseball隊名的資料<code>mysql> select * from Ball; +----+--------------+--------------------------+ | id | ClubName | ClubChineseName | +----+--------------+--------------------------+ | 1 | Diamondbacks | 亞歷桑那響尾蛇 | | 2 | Braves | 亞特蘭大勇士 | | 3 | Orioles | 巴爾地摩金鶯 | | 4 | Red Sox | 波士頓紅襪 | | 5 | Cubs | 芝加哥小熊 | | 6 | Reds | 辛辛那堤紅人 | | 7 | Indians | 克里夫蘭印地安人 | | 8 | Rockies | 科羅拉多落磯山 | | 9 | White Sox | 芝加哥白襪 | | 10 | Tigers | 底特律老虎 | | 11 | Marlins | 佛羅里達馬林魚 | | 12 | Astros | 休士頓太空人 | | 13 | Royals | 堪薩斯皇家 | | 14 | Angels | 洛杉磯天使 | | 15 | Dodgers | 洛杉磯道奇 | | 16 | Brewers | 密爾瓦基釀酒人 | | 17 | Twins | 明尼蘇達雙城 | | 18 | Mets | 紐約大都會 | | 19 | Yankees | 紐約洋基 | | 20 | Athletics | 奧克蘭運動家 | | 21 | Phillies | 費城費城人 | | 22 | Pirates | 匹茲堡海盜 | | 23 | Padres | 聖地牙哥教士 | | 24 | Mariners | 西雅圖水手 | | 25 | Giants | 舊金山巨人 | | 26 | Cardinals | 聖路易紅雀 | | 27 | Rays | 坦帕灣光芒 | | 28 | Rangers | 德州遊騎兵 | | 29 | Blue Jays | 多倫多藍鳥 | | 30 | Nationals | 華盛頓國民 | +----+--------------+--------------------------+ 30 rows in set (0.00 sec) </code>將此MySQL select出的資料匯出成一個名為AAA.txt純文字檔。<code>mysql> select * into outfile 'AAA.txt' fields terminated by ',' lines terminated by '\n' from Ball; Query OK, 30 rows affected (0.01 sec) </code>關鍵字及注意事項書明<code> * into outfile ===>匯出一個名為AAA.txt純文字資料檔 * fields terminated by ',' ===>定義欄位與欄位之間以","分開(忽略不寫,預設以"tab"分開) * lines terminated by '\n' ===>定義以"\n"換行(列)(忽略不寫,預設以"\n"分開,另外windows 是以 \r\n來換行) * 此table 是以utf8存成資料頁,匯出來的資料就是utf8編碼 * 以此範例若沒指定匯出路徑,AAA.txt是匯在/var/lib/mysql/test/AAA.txt(table: Ball ,資料庫DB: test) </code>用下指令方式<code>mysqldump -uroot -p --tab=/tmp --fields-terminated-by=',' test Ball</code>結果<code>ls /tmp Ball.sql --->屬Table 資料結構 Ball.txt --->屬Table 資料檔 </code> ======MySQL資料匯入(Import)====== 為了試驗匯入,先建立一個Table 名為ballTest<code>mysql> create table ballTest(id int primary key, -> ClubName varchar(30) DEFAULT NULL, -> ClubChineseName varchar(20) DEFAULT NULL)engine=myisam default charset=utf8; </code>開始匯入AAA.txt 資料 to ballTest(資料表)<code>mysql> load data infile 'AAA.txt' -> replace -> into table ballTest -> fields terminated by ','; </code>另外,也可以用指令方式執行(AAA.txt必須更名為ballTest.txt)<code>mysqlimport -uroot -p -r --fields-terminated-by=',' --lines-terminated-by='\n' test ballTest.txt Enter password: test.ballTest: Records: 30 Deleted: 0 Skipped: 0 Warnings: 0 </code>注意事項<code> * 匯入的資料 AAA.txt 若是以UTF8編碼,就必須將一個MySQL變數作改變 mysql> set character_set_database=utf8 也可以查詢目前語系 mysql> show variables like 'char%'; </code> =====MySQL 指定欄位資料匯入===== 若要顯示以下結果<code>+----+--------------------------+-----------------+ | id | ClubName | ClubChineseName | +----+--------------------------+-----------------+ | 1 | 亞歷桑那響尾蛇 | Diamondbacks | | 2 | 亞特蘭大勇士 | Braves | | 3 | 巴爾地摩金鶯 | Orioles | | 4 | 波士頓紅襪 | Red Sox | | 5 | 芝加哥小熊 | Cubs | | 6 | 辛辛那堤紅人 | Reds | | 7 | 克里夫蘭印地安人 | Indians | | 8 | 科羅拉多落磯山 | Rockies | | 9 | 芝加哥白襪 | White Sox | | 10 | 底特律老虎 | Tigers | ~略~ </code>指令可以這樣下。這個(ClubChineseName,ClubName)表示從"AAA.txt"資料檔裡,第一個欄位對應ClubChineseName;第二個欄位對應ClubName<code>mysql>load data infile "AAA.txt" -> replace -> into table ballTest -> fields terminated by ',' -> (ClubChineseName,ClubName); </code> ======參考資料====== * [[http://www.dedecms.com/web-art/shujuku/Mysql/20070118/37610.html|MySQL數據導入導出工具mysqlimport簡介]] * [[http://dev.mysql.com/doc/refman/5.1/en/mysqldump-delimited-text.html|Mysqldump For Text]] * [[http://dev.mysql.com/doc/refman/5.1/en/load-data.html|LOAD DATA INFILE Syntax]]
database/mysql/exportandimport.txt
· 上一次變更: 2013/12/24 15:49 由
ali88
頁面工具
顯示頁面
舊版
反向連結
回到頁頂