logo
GeekFormat

SQL 轉換器

GeekFormat 線上 SQL 轉換器,將 SQL INSERT 陳述式和 CREATE TABLE 指令碼一鍵轉換為 JSON、CSV、TSV、XML、YAML、HTML 表格、Markdown 表格、JSON Lines 等多種格式。支援多條 INSERT 陳述式、多值元組批次解析,自動識別數字、字串、NULL、布林值和十六進位字面量,相容 MySQL、PostgreSQL、SQLite、SQL Server 方言的引號風格,多張資料表可分別輸出或合併匯出。還可反向重建 INSERT 陳述式並切換方言。純瀏覽器本地處理,所有資料不離開裝置。

相關推薦

關於 SQL 轉換:把 SQL 指令碼轉為 JSON/CSV/XML 等格式

SQL 轉換(SQL Conversion)是指把 SQL 指令碼中的資料提取出來,重新組織為 JSON、CSV、XML、YAML、HTML、Markdown 等其他資料格式的過程。SQL(Structured Query Language,結構化查詢語言)是關聯式資料庫的標準查詢語言,資料庫匯出工具(如 mysqldump、pg_dump)通常會把資料匯出為 INSERT 陳述式形式的 SQL 指令碼,這種格式雖然便於資料庫匯入,但不便於程式讀取、資料分析或跨系統交換,因此需要轉換為更通用的格式。

常見的 SQL 資料匯出指令碼包含兩類陳述式:CREATE TABLE 用於定義表結構(欄位名、資料型別、條件約束),INSERT INTO ... VALUES (...) 用於插入具體資料。本工具會解析這兩類陳述式,從 CREATE TABLE 提取欄位定義和型別資訊,從 INSERT 提取實際資料列,然後按使用者選擇的格式重新組織輸出。整個解析過程在瀏覽器本地完成,不依賴任何後端服務。

為什麼需要把 SQL 轉換為其他格式?SQL 指令碼雖然通用,但在以下場景中並不便利:第一,前端程式讀取 JSON 比解析 SQL 容易得多,無需引入 SQL 解析器;第二,Excel、Google Sheets 等表格軟體原生支援 CSV 而非 SQL;第三,設定檔和文件場景中 YAML、Markdown 比 SQL 更易讀;第四,跨系統資料交換常使用 XML 或 JSON 作為中性格式。把 SQL 轉為這些通用格式後,資料可以被更多工具和語言直接消費。

本工具的 SQL 解析器手寫實作,專注於 INSERT 陳述式和 CREATE TABLE 陳述式的解析。對於 INSERT 陳述式,支援單值元組(INSERT INTO t (a,b) VALUES (1,2))和多值元組(INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6))兩種語法,自動按欄位名對應資料。對於 CREATE TABLE 陳述式,支援解析欄位定義、資料型別(VARCHAR(255)、INT、DECIMAL(10,2) 等帶括號長度)、NOT NULL、PRIMARY KEY、IF NOT EXISTS 等條件約束和子句,正確處理巢狀括號避免錯誤分割。

型別識別是 SQL 轉換的關鍵。工具會根據值的字面量形式自動判斷型別:以單引號或雙引號包裹的為字串;NULL(不區分大小寫)為空值;TRUE/FALSE 為布林值;0x...、X'...'、B'...' 為十六進位字面量;純數字(含負號、小數點、科學記號)為數字。這種自動型別識別確保轉換後的 JSON、CSV 等格式能保留原始資料的語意(如數字 1 不是字串 "1"),便於下游程式正確處理。

不同資料庫方言的引號風格差異是 SQL 解析的常見坑點。MySQL 預設使用反引號(`)包裹識別符(表名、欄位名),PostgreSQL 使用雙引號("),SQL Server/T-SQL 使用方括號([]),標準 SQL 也使用雙引號。本工具的 unquoteIdentifier 函式會自動識別並去除這些引號,同時處理引號內的轉義(如 `` → `、"" → ")。在 SQL 重建模式下,可按目標方言重新產生對應引號風格的 INSERT 陳述式。

SQL 字串轉義是另一個關鍵技術點。SQL 標準規定字串內的單引號透過雙寫轉義('It''s' 表示 It's),MySQL 預設還支援反斜線轉義(\n、\t、\'、\"、\\、\0、\Z 等)。本工具的字串解析器會同時處理這兩種轉義機制,正確還原原始字串內容。在轉換為 CSV 時,會按 RFC 4180 標準對包含逗號、引號、換行的欄位重新轉義;在轉換為 XML/HTML 時,會轉義 &、<、>、"、' 等特殊字元。

純前端處理是本工具的核心設計原則。所有 SQL 解析和資料轉換都在瀏覽器的 JavaScript 引擎中執行,不向伺服器發送任何資料。這意味著即使 SQL 指令碼包含使用者隱私、商業敏感資訊或內部資料庫結構,也不會洩漏到外部。這種設計特別適合處理正式環境資料庫的匯出,無需擔心資料合規問題。同時,前端處理沒有網路延遲,轉換速度僅受裝置 CPU 和記憶體限制。

本工具與傳統的命令列 SQL 轉換工具(如 sql2csv、sqlparser)相比有幾個優勢:無需安裝和設定環境,開啟網頁即可使用;提供視覺化介面即時預覽轉換結果;支援多種輸出格式一鍵切換;內建範例資料和說明文件;行動裝置響應式設計隨時隨地可用。但相應地,本工具專注於資料提取,不處理複雜的 SQL 方言差異(如 PostgreSQL 的 JSONB 運算子、MySQL 的 ON DUPLICATE KEY UPDATE)和進階特性(預存程序、函式、觸發程序),如有這類需求建議使用資料庫原生工具或專用 ETL 平台。

在使用 SQL 轉換工具時,有幾個最佳實務值得注意:第一,轉換前先檢查 SQL 指令碼是否包含完整資料(INSERT 陳述式)而非僅有查詢陳述式(SELECT),SELECT 不會被解析;第二,多張表的 SQL 指令碼建議開啟「多表分別輸出」以保留表結構資訊;第三,處理含中文的 SQL 時,CSV 輸出建議開啟「包含 BOM」確保 Excel 正確識別編碼;第四,處理大型 SQL dump 時建議關閉「美化輸出」以減少輸出體積;第五,跨資料庫遷移時可使用「SQL 重建」模式切換方言,但複雜型別(如 PostgreSQL 陣列、JSONB)可能需要手動調整。

適用場景

  • 把 mysqldump 或 pg_dump 匯出的 SQL 指令碼轉換為 JSON,用於 API 資料匯入或前端資料消費
  • 將資料庫 INSERT 陳述式轉換為 CSV 檔案,匯入 Excel/WPS/Google Sheets 進行資料分析或報表製作
  • 從 SQL 備份指令碼中提取資料轉為 XML,用於跨系統資料交換或 SOAP 介面對接
  • 把 SQL 資料轉換為 YAML 設定格式,用於 Ansible、Docker Compose、Kubernetes 等設定場景
  • 將 SQL 查詢結果(匯出為 INSERT)轉為 HTML 表格,直接嵌入網頁顯示資料
  • 把 SQL 資料轉為 Markdown 表格,貼到 README、文件站點、技術部落格中顯示範例資料
  • 從 CREATE TABLE + INSERT 完整指令碼中提取資料,轉為 JSON Lines 用於 Elasticsearch 批次索引
  • 資料庫遷移時把 MySQL INSERT 指令碼重建為 PostgreSQL 方言的 INSERT,便於跨資料庫匯入資料
  • 測試資料管理:把測試用的 SQL 種子資料轉為 JSON 設定,方便程式讀取和版本管理
  • 教學示範:把 SQL 陳述式轉換為多種格式對比,幫助學習者理解不同資料表示形式的差異
  • ETL 流程前置處理:把上游 SQL dump 轉為結構化 JSON/CSV 作為下游 ETL 管線的輸入
  • 資料分析:從 SQL 匯出中提取關鍵資料轉為 CSV,使用 pandas、R 等工具進行統計分析
  • 客戶交付:把資料庫匯出轉換為更通用的 JSON 或 CSV 格式交付給非技術人員查閱
  • 資料歸檔:把歷史資料庫的 INSERT 指令碼轉換為可讀性更好的 YAML 或 Markdown 存檔

使用方法

  1. 在左側輸入框貼上 SQL 指令碼,或點擊「上傳 SQL」按鈕選擇 .sql/.txt 檔案
  2. 點擊「範例」按鈕載入內建的 SQL 範例(包含 CREATE TABLE 和多表 INSERT)
  3. 在右側輸出面板頂部的格式下拉選單中選擇目標格式(JSON、CSV、XML、YAML 等 9 種)
  4. 點擊「設定」按鈕調整轉換選項:美化輸出、包含 BOM、多表分別輸出、CSV 分隔符號、JSON 根鍵名、SQL 方言等
  5. 點擊「轉換」按鈕執行轉換,結果自動顯示在右側面板,底部狀態列顯示表數、列數、INSERT 數等統計
  6. 點擊「複製」將轉換結果複製到剪貼簿,或點擊「下載」將結果儲存為對應格式檔案(如 result.json、result.csv)
  7. 切換輸出格式會自動重新轉換,無需重複點擊轉換按鈕

功能特點

  • 九種輸出格式:JSON、JSON Lines、CSV、TSV、XML、YAML、HTML 表格、Markdown 表格、SQL 重建,一鍵切換格式自動重新轉換
  • INSERT 陳述式解析:自動識別 INSERT INTO ... VALUES (...) 語法,支援單條和多值元組批次插入(一條 INSERT 多行資料)
  • CREATE TABLE 識別:解析 CREATE TABLE 陳述式提取欄位定義、資料型別、NOT NULL、PRIMARY KEY 等條件約束資訊,可用於推斷欄位型別
  • 多表資料處理:指令碼中包含多張資料表時,可按表分別輸出(帶表名分隔標記)或合併匯出,自動彙總各表的欄位和列
  • 自動型別識別:智慧識別數字(整數/浮點數)、字串、NULL、布林值(TRUE/FALSE)、十六進位字面量(0x...、X'...'、B'...'),保留原始型別語意
  • 多方言引號相容:識別 MySQL 反引號(`)、PostgreSQL 雙引號(")、SQL Server 方括號([])和標準引號,自動去除識別符引號
  • SQL 字串轉義:處理 SQL 標準轉義('' → ')和 MySQL 反斜線轉義(\n、\r、\t、\0、\'、\"),正確還原含特殊字元的字串
  • SQL 方言重建:可選擇 MySQL、PostgreSQL、SQLite 或標準 SQL 方言重新產生 INSERT 陳述式,支援自訂表名和可選 CREATE TABLE 生成
  • CSV 靈活設定:可選分隔符號(逗號/分號/Tab/豎線)、是否包含 UTF-8 BOM 標頭(Excel 相容)、是否美化縮排,符合 RFC 4180 標準
  • JSON 多種結構:可選按表分組(tables 根鍵)、純資料(data 根鍵)或純陣列(無根鍵)三種 JSON 結構輸出,適配不同消費場景
  • 統計資訊即時顯示:轉換後即時顯示解析到的表數、總列數、INSERT 陳述式數、輸出字元數,方便核對轉換結果完整性
  • 檔案上傳與下載:支援上傳 .sql/.txt/.csv/.tsv/.json 檔案直接解析,轉換結果可下載為對應格式的檔案(如 .json、.csv、.yaml)
  • 歷史記錄管理:左側面板內建歷史記錄側欄,自動儲存最近轉換的 SQL 輸入,可快速重載之前的指令碼
  • 行動裝置響應式:手機端自動切換為輸入/結果 Tab 切換版面配置,桌面端使用可拖曳的雙面板分隔,所有互動在行動裝置上同樣可用
  • 純瀏覽器本地處理:所有解析和轉換在瀏覽器 JavaScript 中完成,無需伺服器請求,SQL 資料不離開裝置,適合處理含敏感資訊的資料庫匯出

常見問題

支援把 SQL 轉換為哪些格式?

本工具支援九種輸出格式:JSON(結構化陣列)、JSON Lines(每行一個 JSON 物件)、CSV(逗號分隔)、TSV(Tab 分隔)、XML(帶標籤的標準 XML 文件)、YAML(設定格式)、HTML 表格(帶樣式可直接瀏覽器檢視)、Markdown 表格(文件語法)、SQL 重建(重新產生 INSERT 陳述式可換方言)。在右側格式下拉選單中一鍵切換即可自動重新轉換。

支援解析哪些 SQL 陳述式?

主要解析 INSERT INTO ... VALUES (...) 陳述式提取資料,同時識別 CREATE TABLE 陳述式取得欄位定義和型別資訊。支援單條 INSERT、多值元組 INSERT(一條 INSERT 多行資料)、多條 INSERT 陳述式、跨多張表的 INSERT。註解(-- 單行、/* */ 多行、# MySQL 單行)會被自動去除,不影響解析。

支援哪些資料庫方言?

解析時相容 MySQL(反引號 `)、PostgreSQL(雙引號 ")、SQL Server(方括號 [])和標準 SQL 的識別符引號風格,自動去除引號還原原始欄位名和表名。SQL 重建模式下可選擇 MySQL、PostgreSQL、SQLite 或標準 SQL 方言重新產生 INSERT,不同方言的引號和布林值表示會有差異。

SQL 指令碼中包含多張表怎麼處理?

工具會按表名自動彙總 INSERT 資料。在設定中開啟「多表分別輸出」時,CSV/HTML/Markdown 等表格格式會按表分段輸出(帶表名標記),JSON/XML 等結構化格式會按表名分組。關閉該選項時,CSV 僅輸出第一張表的資料,JSON 可選擇「無根鍵」輸出為純陣列。

如何處理 SQL 中的 NULL、布林值和特殊字元?

工具自動識別 NULL(不區分大小寫)、TRUE/FALSE 布林值、十六進位字面量(0x...、X'...'、B'...')、整數和浮點數。字串自動處理 SQL 標準轉義('' → ')和 MySQL 反斜線轉義(\n、\t、\' 等),正確還原含換行、引號、特殊字元的原始內容。CSV 輸出時按 RFC 4180 標準對包含逗號、引號、換行的欄位加引號轉義。

轉換後的 JSON 是什麼結構?

JSON 輸出支援三種結構:「tables 根鍵」(按表名分組,多表場景推薦)、「data 根鍵」(統一封裝)、「無根鍵」(純陣列,適合單表或串流處理)。例如單表 users 轉換為 [{"id":1,"name":"Alice"},...] 陣列,多表則按表名分組為 {"users":[...],"orders":[...]}。可在設定中選擇。

上傳的 SQL 檔案會儲存到伺服器嗎?

不會。本工具是純前端應用,所有解析和轉換都在瀏覽器本地 JavaScript 中完成,不向任何伺服器發送 SQL 內容或轉換結果。上傳的檔案直接在瀏覽器中透過 FileReader 讀取,關閉頁面後資料自動清除。適合處理含使用者隱私、商業敏感資訊的資料庫匯出。

支援 SQL Server 的方括號識別符嗎?

支援。工具會識別 SQL Server/T-SQL 風格的方括號識別符(如 [users]、[order details]),自動去除方括號還原原始名稱。同樣支援 MySQL 反引號、PostgreSQL 雙引號。在 SQL 重建模式下,選擇不同方言會使用對應的引號風格重新產生 INSERT。

為什麼我的 SQL 指令碼轉換後沒有資料?

請檢查 SQL 是否包含 INSERT INTO ... VALUES (...) 陳述式。本工具只解析 INSERT 陳述式提取資料,SELECT 查詢陳述式不會產生輸出。如果只有 CREATE TABLE 陳述式,會顯示警告「僅偵測到 CREATE TABLE,沒有資料列可轉換」。請確保 SQL 指令碼是資料匯出(dump)而非查詢陳述式。

支援處理預存程序、函式和觸發程序嗎?

不支援。本工具專注於資料提取,只解析 INSERT 陳述式和 CREATE TABLE 陳述式。預存程序(CREATE PROCEDURE)、函式(CREATE FUNCTION)、觸發程序(CREATE TRIGGER)、檢視表(CREATE VIEW)等資料庫物件定義不會被解析。如需遷移這些物件,建議使用資料庫原生工具如 pg_dump、mysqldump。

轉換的 CSV 檔案能在 Excel 中正確開啟中文嗎?

可以。在設定中開啟「包含 BOM」選項後,CSV 檔案會帶有 UTF-8 BOM 標頭(\uFEFF),Excel 會正確識別編碼顯示中文等非 ASCII 字元。如果不包含 BOM,部分 Excel 版本可能將 UTF-8 中文顯示為亂碼。Google Sheets、WPS 等現代表格軟體通常不需要 BOM 也能正確識別。

能從 SQL 指令碼反向重建 INSERT 陳述式嗎?

可以。選擇「SQL 重建」輸出格式,可重新產生 INSERT 陳述式。支援選擇目標方言(MySQL/PostgreSQL/SQLite/標準 SQL)、自訂表名、可選產生 CREATE TABLE 陳述式(基於資料自動推斷欄位型別 INT/BIGINT/FLOAT/VARCHAR/TEXT/BOOLEAN)。這適合把 MySQL 指令碼重建為 PostgreSQL 方言或調整表名後重新匯入資料庫。

JSON Lines 和 JSON 有什麼區別?什麼時候用 JSON Lines?

JSON 輸出是完整的 JSON 陣列([{...},{...}]),適合一次性載入到記憶體的程式讀取。JSON Lines(也稱為 NDJSON)每行一個獨立的 JSON 物件,適合串流處理、大資料匯入、Elasticsearch bulk API、日誌分析等場景,可逐行讀取不佔用大量記憶體。本工具支援兩種格式自由切換。

轉換結果能保留原始的欄位順序嗎?

可以。工具會按 INSERT 陳述式中指定的欄位順序保留欄位名。如果 INSERT 沒有明確指定欄位名(如 INSERT INTO t VALUES (...)),則按第一列值的數量生成 col_1、col_2 等佔位欄位名。多張表各自的欄位順序獨立保留,合併匯出時按表分別呈現。

工具支援多大的 SQL 檔案?

理論上沒有硬性上限,受瀏覽器記憶體限制。一般幾十 MB 的 SQL dump 檔案可以流暢處理,超大型檔案(數百 MB)可能因瀏覽器記憶體不足變慢。建議處理超大檔案時拆分為多個小檔案分批轉換,或關閉「美化輸出」減少記憶體佔用。所有解析在瀏覽器本地完成,不受網路傳輸限制。

故障排查

轉換後沒有輸出資料?

原因 1:SQL 指令碼只包含 SELECT 查詢陳述式,本工具只解析 INSERT 陳述式提取資料,不執行查詢。解決:使用 mysqldump/pg_dump 匯出資料為 INSERT 陳述式。原因 2:SQL 指令碼只有 CREATE TABLE 沒有資料列,會顯示警告提示。原因 3:INSERT 陳述式語法不規範(如缺少 VALUES 關鍵字),請檢查 SQL 語法正確性。原因 4:SQL 中所有內容都被註解掉了(-- 或 /* */),請檢查是否有誤刪的註解符號。

CSV 在 Excel 中開啟中文是亂碼?

Excel 預設按 GBK 編碼識別 CSV,UTF-8 編碼的中文會顯示為亂碼。解決:在「設定」中開啟「包含 BOM」選項,輸出的 CSV 檔案會帶有 UTF-8 BOM 標頭(\uFEFF),Excel 會正確識別 UTF-8 編碼。如果已經匯出了無 BOM 的 CSV,可用記事本另存為「帶 BOM 的 UTF-8」後再用 Excel 開啟,或直接用 Google Sheets、WPS 等現代表格軟體開啟。

JSON 中數字變成了字串?

原因:SQL 中數字被引號包裹(如 '123' 而非 123),工具按字串解析。解決:檢查 SQL 指令碼中數字是否被引號包裹,去掉引號即可。如果原始資料就是這樣(如 ZIP 郵遞區號常被存為字串),這是預期行為,因為保留字串語意可避免前導零遺失(如 01234 不會被解析為 1234)。

包含特殊字元的字串轉換出錯?

原因:SQL 字串中的特殊字元(換行、引號、反斜線)未正確轉義。本工具支援 SQL 標準轉義('' → ')和 MySQL 反斜線轉義(\n、\' 等),但如果原始 SQL 使用了非標準轉義(如 PostgreSQL 的 E'...' 字串),可能無法正確還原。解決:檢查 SQL 轉義是否符合標準,必要時用文字編輯器手動調整後再轉換。

多表 SQL 轉換後只看到第一張表?

原因:「多表分別輸出」選項未開啟,CSV/HTML/Markdown 等表格格式預設只輸出第一張表。解決:在「設定」中開啟「多表分別輸出」選項,CSV 會按表分段輸出(帶 # Table: 表名 標記),JSON 會按表名分組({表名1:[...],表名2:[...]})。注意 JSON Lines 格式不區分表,所有列會合併輸出。

SQL 重建後表名或欄位名引號不對?

原因:重建時選擇了錯誤的方言,不同方言使用不同引號風格(MySQL 反引號、PostgreSQL 雙引號、SQL Server 方括號)。解決:在「設定」中選擇目標 SQL 方言,工具會按對應引號風格重新產生 INSERT。例如選擇 PostgreSQL 時表名會變成 "users",選擇 MySQL 時會變成 `users`。

術語表

SQL(Structured Query Language)
結構化查詢語言,關聯式資料庫(MySQL、PostgreSQL、Oracle、SQL Server、SQLite)的標準查詢和操作語言,包含 DDL(資料定義)、DML(資料操作)、DQL(資料查詢)、DCL(資料控制)等子語言。
INSERT 陳述式
SQL 中用於向表插入資料的陳述式,語法為 INSERT INTO table (cols) VALUES (vals),支援單條和多值元組批次插入。本工具主要解析 INSERT 陳述式提取資料。
CREATE TABLE 陳述式
SQL 中用於建立表的 DDL 陳述式,定義欄位名、資料型別、條件約束(NOT NULL、PRIMARY KEY、UNIQUE 等)。本工具可解析 CREATE TABLE 提取欄位定義資訊。
VALUES 元組
INSERT 陳述式中 VALUES 關鍵字後括號內的值列表,如 (1, 'Alice', TRUE)。一條 INSERT 可包含多個元組實現批次插入:VALUES (1,'A'), (2,'B'), (3,'C')。
SQL 方言
不同資料庫廠商對 SQL 標準的擴展實作差異,如 MySQL 用反引號、PostgreSQL 用雙引號、SQL Server 用方括號包裹識別符,布林值表示(TRUE/1)、自增欄位(AUTO_INCREMENT/SERIAL)等也存在差異。
識別符引號
SQL 中用於包裹表名、欄位名等識別符的特殊字元。MySQL 用反引號 `name`,PostgreSQL 和標準 SQL 用雙引號 "name",SQL Server 用方括號 [name],用於保留字轉義或大小寫敏感場景。
SQL 轉義
在 SQL 字串中表示特殊字元的機制。SQL 標準用雙寫單引號('')表示單引號;MySQL 還支援反斜線轉義(\n、\t、\'、\\)。本工具支援兩種轉義機制的還原。
NULL 值
SQL中表示缺失或未知資料的特殊值,不區分大小寫(NULL/null/Null)。NULL 不等於空字串或 0,在轉換為 JSON 時對應為 null,CSV 中通常留空。
十六進位字面量
SQL中表示二進位資料的字面量語法。MySQL 支援 0x... 和 X'...' 形式,PostgreSQL 支援 X'...' 和 B'...'(二進位)。本工具會原樣保留十六進位字面量。
JSON Lines(NDJSON)
每行一個獨立 JSON 物件的文字格式,副檔名為 .jsonl。適合串流處理、大資料匯入和 Elasticsearch bulk API,相比完整 JSON 陣列更節省記憶體。
RFC 4180
CSV 格式的國際標準(Common Format and MIME Type for Comma-Separated Values Files),規定了欄位分隔、引號轉義、換行處理等規則。本工具的 CSV 輸出符合該標準。
BOM(Byte Order Mark)
位元組順序標記,U+FEFF 字元。UTF-8 檔案開頭的 BOM 可幫助 Excel 等軟體正確識別編碼,避免中文顯示為亂碼。本工具的 CSV 輸出可選擇性包含 BOM。
SQL Dump
資料庫匯出的 SQL 指令碼檔案,通常由 mysqldump、pg_dump 等工具產生,包含 CREATE TABLE 和 INSERT 陳述式,可用於資料庫備份和遷移。
DDL(Data Definition Language)
資料定義語言,SQL 子集,包含 CREATE、ALTER、DROP 等陳述式,用於定義和修改資料庫結構(表、檢視表、索引等)。

支援的輸出格式對比

九種輸出格式的特點和適用場景對比:

格式副檔名特點最佳場景
JSON.json結構化陣列,型別保留API 對接、程式讀取、前端資料
JSON Lines.jsonl每行一個 JSON 物件串流處理、Elasticsearch、大資料
CSV.csv逗號分隔表格,RFC 4180Excel、資料分析、報表
TSV.tsvTab 分隔表格貼到表格軟體、生物資訊學
XML.xml帶標籤和屬性的結構化文件SOAP 介面、設定檔、Java 系統
YAML.yaml可讀性最佳的設定格式Ansible、K8s、CI/CD 設定
HTML.html帶樣式表格,可直接瀏覽器檢視網頁顯示、電子郵件、報告
Markdown.mdMarkdown 表格語法README、文件站點、技術部落格
SQL 重建.sql重產生 INSERT,可換方言跨資料庫遷移、表名修改

SQL 值型別識別規則

解析 SQL 值時的型別識別規則(按字面量形式判斷):

SQL 字面量識別型別JSON 輸出CSV 輸出
123整數123123
-45負整數-45-45
3.14浮點數3.143.14
1e10科學記號1000000000010000000000
'hello'字串"hello"hello
NULL空值null(空)
TRUE布林真trueTRUE
FALSE布林假falseFALSE
0xFF十六進位"0xFF"0xFF
X'4142'十六進位"X'4142'"X'4142'

不同資料庫方言的識別符引號風格

主流資料庫的識別符(表名、欄位名)引號差異:

資料庫引號風格範例說明
MySQL/MariaDB反引號 ``users`預設開啟,區分保留字
PostgreSQL雙引號 ""users"區分大小寫,標準 SQL 風格
SQLite雙引號 "/反引號`/方括號[]"users" / [users]相容多種風格
SQL Server方括號 [][users]T-SQL 預設風格
Oracle雙引號 ""users"強制大寫,加引號保留大小寫
標準 SQL雙引號 ""users"ANSI SQL 標準

Privacy & Security

本 SQL 轉換器所有操作完全在你的瀏覽器本地完成:SQL 解析、資料提取、格式轉換全部透過瀏覽器 JavaScript 在用戶端執行,不會透過網路向任何伺服器發送 SQL 內容、上傳的檔案或轉換結果。檔案上傳使用瀏覽器原生 FileReader API 直接讀取到記憶體,不經過任何中間服務。不使用 Cookie 追蹤,不收集任何使用者輸入或使用資料。關閉或重新整理頁面後,所有輸入和輸出內容自動從記憶體清除(歷史記錄僅本地儲存在瀏覽器 localStorage 中)。適合處理含使用者隱私、商業敏感資訊的資料庫匯出指令碼。

Authoritative References