CSV 轉 SQL 轉換器
把試算表匯出的檔案變成資料庫可直接執行的指令碼。標題列會成為欄位名稱,每一列資料都會變成一筆 INSERT,引號寫法則依你選擇的 SQL 方言處理。
資料轉換器
或將CSV, TSV, TXT … 檔案拖曳到這裡 ·
每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除
檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。
CSV 與文字檔中分隔欄位的字元,讀取與寫入都會使用。自動會從輸入偵測,並以逗號寫出。
UTF-8 適用於所有語言。若 Windows 上的 Excel 開啟 CSV 時重音字元或亞洲文字出現亂碼,請選擇含 BOM 的 UTF-8。
適用於 Excel、ODS 與 Numbers 輸入:只轉換第一個工作表,或轉換所有工作表(每個工作表輸出一個 CSV 並打包成 ZIP,或每個工作表對應一個 JSON 鍵)。
新試算表中工作表索引標籤的名稱,最多 31 個字元。
物件陣列會以欄位名稱作為每列的鍵;陣列的陣列較精簡,並將標題保留為第一個陣列。
包住所有列的外層元素名稱;每一列會成為其中的 <row>。
用於 CREATE TABLE 與 INSERT 陳述式。僅限字母、數字與底線。
不同資料庫的引號與欄位類型略有差異;請選擇您要匯入的資料庫。
將日期儲存格統一改寫成一種格式。ISO (2026-10-18) 對資料庫與程式碼最保險;保持原樣則維持來源中的顯示方式。
使用方式
- 1
上傳 CSV
加入 1 個 CSV 檔案,或最多 20 個,每個不超過 95 MB。系統會自動偵測以分號或 Tab 分隔的檔案。
- 2
設定資料表與方言
在進階設定中輸入 SQL 資料表名稱,並選擇 SQL 方言:MySQL、PostgreSQL、SQLite 或 SQL Server。日期預設為 ISO,日期常值載入時不必猜測格式。
- 3
轉換並執行
按下轉換為 SQL,先看一下 CREATE TABLE 那一行,再到資料庫用戶端或匯入畫面執行腳本。
CSV 轉 SQL 會依標題列產生 CREATE TABLE 陳述式,並為每一列資料產生一個 INSERT,引號寫法符合 MySQL、PostgreSQL、SQLite 或 SQL Server,執行一個腳本就能把試算表載入資料庫。
為什麼要把 CSV 轉成 SQL INSERT 陳述式
每種資料庫都有快速的 CSV 載入工具,但每一種都有限制。MySQL 8.0 起伺服器預設停用 LOAD DATA LOCAL INFILE;PostgreSQL 的 COPY FROM 檔案需要超級使用者權限或特殊角色成員身分;SQL Server 的 BULK INSERT 讀取的是伺服器主機上的路徑,而不是你的筆電。託管資料庫往往只提供查詢編輯器。
INSERT 腳本可以避開這些問題。它是純文字,可以閱讀、當作初始資料提交到版本控制,也能在任何用戶端執行。代價是速度:幾萬列沒問題,數百萬列則應使用原生的大量載入工具。如果參考資料存放在活頁簿中,可以用 Excel 轉 SQL 省去 CSV 這一步。
CSV 轉 SQL 範例(MySQL)
CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255), `joined` DATE ); INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES (1, '陳雅婷', '2026-03-02'), (2, 'Liam O''Brien', '2026-04-15');
四種 SQL 方言在輸出上的差異
識別名稱以反引號包住,例如 order date,這也讓 order 這類保留字能當作欄位名稱。
- 同樣適用於 MariaDB
- phpMyAdmin 匯入的合適預設選項
識別名稱使用標準雙引號。加引號的名稱會保留大小寫,因此 "Email" 和 email 是兩個不同的欄位。
- 超過 63 位元組的名稱會被截短
同樣使用雙引號,型別較有彈性:宣告為 INT 的欄位仍可接受文字,除非資料表宣告為 STRICT(SQLite 3.37.0 新增的選項)。
- 可在 sqlite3 殼層或 DB Browser for SQLite 中執行
識別名稱放在方括號中,例如 [order date]。含非拉丁字元的文字欄位需要使用 NVARCHAR 和 N'…' 常值。
- 可在 SSMS 或 Azure Data Studio 中執行
| 機構 | 規定 | 來源 |
|---|---|---|
| MySQL 8.0 | max_allowed_packet 預設為 64 MB;單一陳述式超過此大小就會被拒絕 | — |
| SQL Server | 單一 INSERT … VALUES 清單最多接受 1,000 個資料列值運算式 | — |
| PostgreSQL | 超過 63 位元組的識別名稱會被無聲截斷 | — |
| SQLite | 預設建置下,一個資料表最多 2,000 個欄位 | — |
執行指令碼前請先確認這些事項
請先看 CREATE TABLE 那一行。欄位型別是依資料值推測的,推測可能出錯:郵遞區號和電話號碼看起來像數字,但必須保持為文字,否則 02134 會失去開頭的 0。執行前可以先在腳本中修改型別,或自行建立資料表,只執行 INSERT 的部分。
請在 SQL 資料表名稱中填入真正的名稱,不要沿用 my_table;若用戶端支援,也建議在交易中執行腳本,這樣有一列出錯時就能全部回復。同一個 CSV 的其他轉換目標,可在資料格式轉換頁面找到。
CSV 與 SQL 指令碼格式
CSV
逗號分隔值
CSV 是一種純文字的表格格式,每一行是一列資料,欄位之間以逗號分隔。它從電腦發展初期沿用至今,並記載於 RFC 4180,不過許多變體會改用分號或定位字元,文字編碼也各不相同。幾乎所有試算表、資料庫和分析工具都能匯入與匯出,因此成為系統之間傳輸資料的預設格式。CSV 只儲存數值,不包含公式、格式、多個工作表或資料類型。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- –
SQL
SQL 腳本
SQL 檔是由結構化查詢語言(SQL)敘述組成的純文字腳本,例如 CREATE TABLE 和 INSERT,供資料庫依序執行。常用於資料庫備份、遷移和分享範例資料。這個語言本身是 ISO 標準,但 MySQL、PostgreSQL、SQLite 和 SQL Server 各有自己的語法差異,因此腳本在不同系統之間常需要小幅修改。任何文字編輯器都能開啟 SQL 檔,但要執行則需要資料庫用戶端。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- –
當檔案最後必須變成資料庫中的資料表,而你只能透過查詢視窗操作時,就需要把 CSV 轉成 SQL:例如為新應用程式建立初始資料、載入參考清單,或在沒有伺服器存取權限的情況下把試算表搬進 MySQL 或 PostgreSQL。
CSV 轉 SQL 轉換器常見問題
為什麼要用 SQL 檔,而不用 LOAD DATA 或 COPY?
MySQL 的 LOAD DATA INFILE、PostgreSQL 的 COPY 等大量載入工具速度較快,但需要存取伺服器上的檔案,或加上額外的用戶端參數。一般的腳本只要能貼上 SQL 的地方都能執行,例如雲端資料庫主控台、phpMyAdmin,或經過審查的資料庫遷移。
像 O'Brien 這種含撇號的名字會怎麼寫?
在 SQL 字串中,單引號要重複兩次來跳脫,所以這個值會寫成 'O''Brien'。四種方言都接受這種寫法,因此含有單引號的名字不會讓 INSERT 出錯。
CSV 的標題列在資料表中會變成什麼?
欄位名稱,並依所選方言的規則加上引號。像 Unit Price 這樣的標題可以使用,但含空格的名稱在之後每個查詢中也都得加引號,所以建議轉換前先把標題改成 unit_price。
可以透過 phpMyAdmin 匯入這個 SQL 檔嗎?
可以,在「匯入」分頁操作。上限是 PHP 的 upload_max_filesize,預設 php.ini 為 2 MB;許多主機會調高,頁面也會顯示目前的限制。如果腳本比上限大,請把大型 CSV 拆成多個檔案。
能把資料表再轉回 CSV 嗎?
把資料表匯出成傾印檔,再用 SQL 轉 CSV 轉換,或使用資料庫用戶端內建的 CSV 匯出功能。兩種方式得到的資料列,試算表都能再次開啟。
- Excel 轉 SQL 轉換器將 Excel 工作表轉成適用於 MySQL、PostgreSQL、SQLite 或 SQL Server 的 SQL 指令碼。標題列變成欄位,每一列變成 INSERT 陳述式。
- SQL 轉 CSV 轉換器將 .sql 傾印檔中的 INSERT 陳述式轉成 CSV 資料列,可用 Excel 或 Google Sheets 開啟。支援 MySQL、phpMyAdmin、SQLite 與 SQL Server 傾印檔。
- CSV 轉 XLSX 轉換器將 CSV 轉成 Excel XLSX 活頁簿,保留前導零、長串編號與重音字元。自動偵測逗號、分號與 Tab 分隔的檔案。
- CSV 轉 XML 轉換器將 CSV 各列轉成格式正確的 XML,根標籤可自訂。自動跳脫特殊字元、偵測分隔符號,輸出 UTF-8。一次最多 20 個檔案。
- CSV 轉 Parquet 轉換器將 CSV 轉成 Apache Parquet,具備欄位型別與壓縮,可直接用於 pandas、DuckDB、Spark、BigQuery 或 Athena。不必安裝 Python 或 Spark。
- Parquet 轉 CSV 轉換器線上將 Apache Parquet 檔案轉成 CSV,直接用 Excel、Google Sheets 或任何匯入工具開啟。不需要 Python、Spark 或 DuckDB,一次最多 20 個檔案。