mysql匯入csv格式檔案

kisslfcr發表於2017-10-12
今天測試匯入csv格式檔案,雖然簡單但是如果不注意還是會出現錯誤,而且mysql在某些方面做的確實對新手不是很友好,記錄一下:
建立一個csv格式檔案:
[mysql@xxx1 ycrdb]$ more /tmp/loaddata.txt 
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
1,abc,abc@qq.com
建立一個引擎為csv的表:
create table ld_csv6 (id int not null default '0',name varchar(3) not null,email varchar(20) not null) engine=csv;
此時注意各個欄位字元大小,如果varchar(n)中n設定的過小,咋會出現建立失敗的情況,而且不告訴你為什麼失敗。
more /tmp/loaddata.txt >  /data/mysqldata/3306/data/ycrdb/ld_csv6.CSV
此時就建立好了,確實很簡單:
(system@localhost) [ycrdb]> select * from ld_csv6;
+----+------+------------+
| id | name | email      |
+----+------+------------+
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |
|  1 | abc  | abc@qq.com |

如果表出現錯誤可以透過如下方式查詢表損壞的資訊,如下:
(system@localhost) [ycrdb]> check table ld_csv5;
+---------------+-------+----------+----------+
| Table         | Op    | Msg_type | Msg_text |
+---------------+-------+----------+----------+
| ycrdb.ld_csv5 | check | error    | Corrupt  |
+---------------+-------+----------+----------+
1 row in set (0.02 sec)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-2145882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章