首頁 資料庫 mysql教程 mysql load data亂碼怎麼辦

mysql load data亂碼怎麼辦

Feb 16, 2023 am 10:37 AM
mysql data load

mysql load data亂碼的解決方法:1、找到出現亂碼的SQL語句;2、修改語句為「LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;」即可。

mysql load data亂碼怎麼辦

本教學操作環境:Windows10系統、MySQL5.7版本、Dell G3電腦。

mysql load data亂碼怎麼辦?

解決MySQL使用LOAD匯入中文資料亂碼的問題

假設將文字employee.txt中的資料匯入到表EMPLOYEE中

出現亂碼的SQL語句

LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE;
登入後複製

解決方法,在後面加入character set utf8

LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;
登入後複製

相關拓展:

一、使用load語句導入資料

這裡對load指令進行簡單的總結。

進入MySQL後,使用指令:

load data local infile 'S:/tab_user.txt' 
into table tab_user lines 
terminated by '\r\n' ignore 1 lines;
登入後複製

該語句的語法如下:

基本語法:

load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name,   )]
登入後複製

語法部分說明:

load data infile語句從一個文字檔案以很高的速度讀入一個表格中。使用這個指令之前,mysqld進程(服務)必須已經在運作。

為了安全原因,當讀取位於伺服器上的文字檔案時,檔案必須處於資料庫目錄或可被所有人讀取。

另外,為了在伺服器上檔案使用load data infile,在伺服器主機上你必須有file的權限。

(1)、如果你指定關鍵字low_priority,那麼MySQL將會等到沒有其他人讀這個表的時候,才把插入資料。可使用以下的指令: 

load data  low_priority infile "S:/tab_user.txt" into table tab_user;  

#2)、如果指定local關鍵字,則表示從客戶主機讀取檔案。如果local沒指定,則檔案必須位於伺服器上。

(3)、replace和ignore關鍵字控制對現有的唯一鍵記錄的重複的處理。如果你指定replace,新行將取代有相同的唯一鍵值的現有行。如果你指定ignore,跳過有唯一鍵的現有行的重複行的輸入。如果你不指定任何一個選項,當找到重複鍵時,出現一個錯誤,並且文字檔案的餘下部分被忽略。例如:

load data  low_priority infile "S:/tab_user.txt" replace

 into table tab_user;

(4)、分隔符號

#( a) fields關鍵字指定了檔案記段的分割格式,如果用到這個關鍵字,MySQL剖析器希望看到至少有下面的一個選項: 

terminated by分隔符號:意思是以什麼字符作為分隔符號

enclosed by欄位括起字元

escaped by轉義字元

terminated by描述欄位的分隔符,預設為tab字元(\t)

enclosed by描述的是欄位的括起字元。

escaped by描述的轉義字元。預設的是反斜線(backslash:\ )  

例如:load data infile "S:/tab_user.txt" replace into table tab_user (id,name) terminated by','  ignore 1 lines;(,作為分隔符號)

(b)lines 關鍵字指定了每筆記錄的分隔符號預設為'\n'即為換行符

如果兩個欄位都指定了那fields必須在lines之前。如果不指定fields關鍵字缺省值與如果你這樣寫的相同: fields terminated by'\t' enclosed by ' '' ' escaped by'\\'

##如果你不指定一個lines子句,預設值與如果你這樣寫的相同: lines terminated by'\n'

#例如:load data infile "s:/tab_user.txt" replace into table test fields terminated by ',' lines terminated by '/n';

(5)、load data infile 可以依照指定的欄位把檔案匯入到資料庫。當我們要把資料的一部分內容導入的時候,需要加入一些欄位(列/欄位/field)到MySQL資料庫中,以適應一些額外的需要。比方說,我們要從Access資料庫升級到MySQL資料庫的時候

下面的範例顯示如何向指定的欄位(field)匯入資料: 

load data infile "s:/ tab_user.txt" into table tab_user(id, name);

(6)、在伺服器主機上尋找檔案時,伺服器使用下列規則: 

(a)如果給予一個絕對路徑名,伺服器使用該路徑名。 

(b)如果給予一個有一個或多個前置元件的相對路徑名,伺服器相對伺服器的資料目錄搜尋檔案。  

(c)如果給予一個沒有前置部件的一個檔案名,伺服器在目前資料庫的資料庫目錄尋找檔案。

例如: /myfile txt」給予的檔案是從伺服器的資料目錄讀取,而作為「myfile txt」給予的一個檔案是從目前資料庫的資料庫目錄下讀取。

推薦學習:《

MySQL影片教學

以上是mysql load data亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MySQL:初學者的數據管理易用性 MySQL:初學者的數據管理易用性 Apr 09, 2025 am 12:07 AM

MySQL適合初學者使用,因為它安裝簡單、功能強大且易於管理數據。 1.安裝和配置簡單,適用於多種操作系統。 2.支持基本操作如創建數據庫和表、插入、查詢、更新和刪除數據。 3.提供高級功能如JOIN操作和子查詢。 4.可以通過索引、查詢優化和分錶分區來提升性能。 5.支持備份、恢復和安全措施,確保數據的安全和一致性。

忘記數據庫密碼,能在Navicat中找回嗎? 忘記數據庫密碼,能在Navicat中找回嗎? Apr 08, 2025 pm 09:51 PM

Navicat本身不存儲數據庫密碼,只能找回加密後的密碼。解決辦法:1. 檢查密碼管理器;2. 檢查Navicat的“記住密碼”功能;3. 重置數據庫密碼;4. 聯繫數據庫管理員。

navicat premium怎麼創建 navicat premium怎麼創建 Apr 09, 2025 am 07:09 AM

使用 Navicat Premium 創建數據庫:連接到數據庫服務器並輸入連接參數。右鍵單擊服務器並選擇“創建數據庫”。輸入新數據庫的名稱和指定字符集和排序規則。連接到新數據庫並在“對象瀏覽器”中創建表。右鍵單擊表並選擇“插入數據”來插入數據。

mysql:簡單的概念,用於輕鬆學習 mysql:簡單的概念,用於輕鬆學習 Apr 10, 2025 am 09:29 AM

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

Navicat for MariaDB如何查看數據庫密碼? Navicat for MariaDB如何查看數據庫密碼? Apr 08, 2025 pm 09:18 PM

Navicat for MariaDB 無法直接查看數據庫密碼,因為密碼以加密形式存儲。為確保數據庫安全,有三個方法可重置密碼:通過 Navicat 重置密碼,設置複雜密碼。查看配置文件(不推薦,風險高)。使用系統命令行工具(不推薦,需要對命令行工具精通)。

navicat怎麼新建連接mysql navicat怎麼新建連接mysql Apr 09, 2025 am 07:21 AM

可在 Navicat 中通過以下步驟新建 MySQL 連接:打開應用程序並選擇“新建連接”(Ctrl N)。選擇“MySQL”作為連接類型。輸入主機名/IP 地址、端口、用戶名和密碼。 (可選)配置高級選項。保存連接並輸入連接名稱。

navicat如何執行sql navicat如何執行sql Apr 08, 2025 pm 11:42 PM

在 Navicat 中執行 SQL 的步驟:連接到數據庫。創建 SQL 編輯器窗口。編寫 SQL 查詢或腳本。單擊“運行”按鈕執行查詢或腳本。查看結果(如果執行查詢的話)。

Navicat 無法連接 MySQL/MariaDB/PostgreSQL 等數據庫的解決方法 Navicat 無法連接 MySQL/MariaDB/PostgreSQL 等數據庫的解決方法 Apr 08, 2025 pm 11:00 PM

Navicat 無法連接數據庫的常見原因及其解決方法:1. 檢查服務器運行狀態;2. 核對連接信息;3. 調整防火牆設置;4. 配置遠程訪問;5. 排除網絡問題;6. 檢查權限;7. 保障版本兼容性;8. 排除其他可能性。

See all articles