欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL如何將CSV文件快速導(dǎo)入MySQL中

 更新時間:2024年04月17日 08:36:02   作者:何為xl  
有時候我們可能會把CSV中的數(shù)據(jù)導(dǎo)入到某個數(shù)據(jù)庫的表中,比如做報表分析的時候,下面這篇文章主要給大家介紹了關(guān)于MySQL如何將CSV文件快速導(dǎo)入MySQL中的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一般來說,將csv文件導(dǎo)入mysql數(shù)據(jù)庫有兩種辦法:

  • 使用 navicat、workbench 等軟件中的導(dǎo)入向?qū)謩訉?dǎo)入;

  • 使用 load data infile 命令導(dǎo)入

    前者速度較慢,適合數(shù)據(jù)量比較小的時候,而對于大文件,我們需要使用命令行導(dǎo)入。

方法一:使用navicat等軟件的導(dǎo)入向?qū)?/h2>
  • 打開安裝好的Navicat Premium,連接數(shù)據(jù)庫。

成功連接后如下圖:

  • 創(chuàng)建數(shù)據(jù)庫

  • 點擊“方向?qū)?rdquo;

  • 選擇需要導(dǎo)入的文件類型

  • 選擇需要導(dǎo)入文件的路徑

  • 查看導(dǎo)入的表結(jié)構(gòu)是否正確

  • 導(dǎo)入成功

如果出現(xiàn)中文亂碼

解決方案:

  • 將原來存儲在桌面上的 OrderData 文件通過 Notepad++ 進(jìn)行轉(zhuǎn)碼,格式為 UTF-8 點擊OrderDaTa.csv, 右鍵用 Notepad++ 打開,修改編碼。

  • 重新導(dǎo)入數(shù)據(jù)

  • 點擊開始按鈕,數(shù)據(jù)導(dǎo)入中…

方法二:命令行導(dǎo)入(LOAD DATA INFILE SQL)

準(zhǔn)備工作

  • 在mysql中將表結(jié)構(gòu)先建好,包括字段名及類型等

假設(shè)你的 CSV 文件包含圖書信息,分為 ISBN、Title、Author 和 ListPrice 字段。要創(chuàng)建這樣一個表,你需要執(zhí)行這樣的命令。

CREATE TABLE BooksCSV (
    ISBN VARCHAR(255) NULL,
    title VARCHAR(255) NULL,
    author VARCHAR(255) NULL,
    ListPrice VARCHAR(255) NULL
);

兩個建議:

  • 建議所有的字段都接納 NULL 值,并且表沒有主鍵,因為事先并不知道 CSV 文件中的數(shù)據(jù)是否完整和規(guī)范。

  • 即使是數(shù)字?jǐn)?shù)據(jù),也只使用 VARCHAR 字段,以防止文件中的數(shù)據(jù)格式不正確而導(dǎo)致處理錯誤。導(dǎo)入數(shù)據(jù)后,可以直接在數(shù)據(jù)庫中進(jìn)行清理,讀取表的數(shù),并進(jìn)行必要的驗證和修正。

  • 使用如下命令查看是否允許從外部路徑導(dǎo)入文件
show variables like '%secure%';

如果結(jié)果顯示secure_file_priv=‘’,即空字符串,則無需改動;如果secure_file_priv=null,則需要在mysql的配置文件my.ini中添加如下行secure_file_priv=‘’,之后重啟mysql服務(wù)。

  • 使用如下命令查看是否允許本地導(dǎo)入
show variables like 'local_infile';

如果結(jié)果是off,則改使用如下命令改為on

set global local_infile=on;
  • 導(dǎo)入文件

使用如下命令導(dǎo)入文件。注意:文件路徑不能有中文??!

load data local infile 'file_path' # 文件路徑
into table daily_price             # 表名
character set utf8                 # 編碼
fields terminated by ','           # 分隔符
lines terminated by '\r\n'         # 換行符,windows下是\r\n
ignore 1 lines;                    # 忽略第一行,因為表頭已建好

其他有關(guān)load data infile的細(xì)節(jié)可在此地址查詢

https://www.mysqlzh.com/doc/126/255.html

總結(jié)

到此這篇關(guān)于MySQL如何將CSV文件快速導(dǎo)入MySQL中的文章就介紹到這了,更多相關(guān)CSV文件快速導(dǎo)入MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論