CSV轉SQL

將CSV檔案轉換為SQL插入語句。

點選上傳 或拖放檔案

僅限CSV檔案

沒有CSV檔案?

為什麼要將CSV轉換為SQL?

將CSV轉換為SQL INSERT語句可以讓您輕鬆地將資料匯入到SQL資料庫中。這在系統間遷移資料、建立資料庫備份或使用真實資料設定測試環境時特別有用。我們的轉換器會自動生成具有適當資料型別的CREATE TABLE和INSERT語句。

如何免費將CSV檔案轉換為SQL?

我們上面的工具提供了一種快速簡便的解決方案,可將CSV檔案轉換為SQL語句。只需上傳您的CSV檔案,指定表名,我們將生成您可以複製或下載的SQL程式碼。您的資料永遠不會離開您的瀏覽器 - 所有處理都在本地進行。

CSV與SQL:何時使用各自?

CSV適合應用程式之間的簡單資料儲存和交換,而SQL資料庫提供強大的查詢功能、資料完整性約束和複雜的關係建模。使用CSV進行輕量級資料交換和簡單儲存,當您需要強大的資料管理、複雜查詢或事務支援時使用SQL。

如何將CSV轉換為SQL INSERT語句

  1. 1

    選擇檔案使用的分隔符,並填寫表名(預設使用檔名)。

  2. 2

    點選上傳區域或直接拖入 .csv 檔案。

  3. 3

    工具會生成帶有自動識別欄位型別的 CREATE TABLE 語句,以及所有資料列的 INSERT 語句。

  4. 4

    複製SQL或下載為 .sql 檔案,在 MySQL、PostgreSQL、SQLite 或 SQL Server 中執行。

範例:CSV生成建表和插入語句

表名設為 customers:

CSV 輸入

id,name,zip,balance
1,O'Brien,02134,120.50
2,張偉,100000,
3,李娜,200000,80

SQL 輸出

CREATE TABLE customers (
  id INTEGER,
  name TEXT,
  zip TEXT,
  balance FLOAT
);

INSERT INTO customers (id, name, zip, balance)
VALUES
(1, 'O''Brien', '02134', 120.50),
(2, '張偉', '100000', NULL),
(3, '李娜', '200000', 80);

匯入SQL的注意事項

欄位型別如何識別

只有當一欄中所有值都是數字時,才會識別為 INTEGER 或 FLOAT。帶前導零的值(如郵遞區號、工號 00123)會讓該欄保持 TEXT,零不會丟失。

引號和空值

文字中的單引號會自動轉義(O'Brien 寫成 'O''Brien'),空儲存格寫為 NULL,語句可以直接執行,不會報語法錯誤。

根據資料庫調整型別

TEXT、INTEGER、FLOAT 可直接用於 MySQL、PostgreSQL 和 SQLite。在 SQL Server 中執行前,建議把 TEXT 替換為 NVARCHAR(MAX) 或指定長度的 VARCHAR。

欄位名稱規範化

表頭中的空格和符號會替換為下劃線,以數字開頭的欄位名稱會加上下劃線字首,無需加引號就是合法的識別符號。

CSV轉SQL常見問題

這個CSV轉SQL工具免費嗎?

完全免費,無需註冊,不限制列數。

資料會傳送到伺服器嗎?

不會。SQL在瀏覽器中生成,CSV中的客戶資料或生產資料不會外洩。

為什麼資料被分成了多條 INSERT 語句?

每條 INSERT 語句插入10列資料。這樣每條語句都不會太長,比逐列插入快得多,也遠低於各主流資料庫的語句長度限制。

可以插入到已有的表中嗎?

可以。刪掉 CREATE TABLE 部分,並確認表名和欄位名稱與已有的表一致即可。

和 LOAD DATA、COPY 相比哪個快?

對於幾百萬列的超大檔案,MySQL 的 LOAD DATA INFILE 或 PostgreSQL 的 COPY 等批次匯入命令更快;中小檔案用SQL指令碼更簡單,而且在任何環境都能執行。

支援哪些分隔符?

逗號、定位字元、分號和豎線,上傳前選擇檔案實際使用的分隔符即可。