Command Palette

Search for a command to run...

JS

JSON 到 SQL 轉換器

將 JSON 物件陣列轉換為 SQL CREATE TABLE 和 INSERT MySQL、PostgreSQL 或 SQLite 的語句。 Infers 類型,運行客戶端。

SQL Dialect
Category:data
Mode:Offline
Version:1.0.0
Access:Free

什麼是 JSON 到 SQL 轉換器?

JSON 到 SQL 轉換器將 JSON 物件陣列轉換為關聯式資料庫儲存它們所需的 SQL 語句。它將物件的金鑰讀取為列名,將每個物件讀取為記錄,然後發出 CREATE TABLE 語句,定義列和載入資料的一組 INSERT 語句。結果是一個腳本,您可以貼上到資料庫用戶端(儲存為遷移),或管道到 mysql、psql 或 sqlite3 中,以一步建立和填充表格。

這是值得自動化的,因為 JSON 和 SQL 幾乎在所有方面都存在分歧。 JSON 有物件、數組和本機布林值; SQL 表具有固定的列和鍵入值。手動轉換意味著為每個欄位決定列類型,引用每個字串,將嵌入的引號加倍以免語句被破壞,將數字和布林值不引用,將缺少的鍵變成NULL,並將嵌套物件序列化為文字。錯過數百筆記錄,整個批次無法運行。此工具一致地應用這些規則:它掃描每個對象,推斷每列是否包含整數、小數、布林值、JSON 或文本,並按照您選擇的方言期望的方式引用標識符,使用 MySQL 的反引號和 PostgreSQL、SQLite 和標準 SQL 的雙引號。

它也處理真實資料的尷尬部分。數組中的物件不必共享相同的鍵:列是看到的每個鍵的並集,任何缺少鍵的物件都會對該列歸為 NULL。嵌套物件和陣列儲存為 JSON 文本,映射到 MySQL 上的本機 JSON 類型,映射到 PostgreSQL 上的 JSONB。一個記錄中的數字和另一個記錄中的字串的欄位會回退到文字列,因此 INSERT 仍然運行,而不是在類型不匹配時失敗。

一切都在您的瀏覽器中運行。 JSON 已解析,SQL 在 JavaScript 中本地生成,因此不會上傳、記錄或儲存任何內容。當資料是 API 回應、資料庫匯出或其中包含真實識別碼和電子郵件的任何內容時,這一點很重要。由於工作是本地的,因此一旦頁面加載,該工具就會保持離線運行,並且在大型有效負載上保持快速運行,因為沒有網路往返。

如何使用 JSON 到 SQL 轉換器?

1

貼上你的 json

貼上物件數組,例如 [{"id": 1, "name": "Ada"}] 或單一物件。按載入範例以查看預期形狀。每個物件變成一行。

2

設定表格名稱和方言

輸入目標表名稱並選擇 MySQL、PostgreSQL、SQLite 或標準 SQL。方言控制標識符引用以及輸出中使用的類型和布林語法。

3

選擇輸出選項

決定是否包含 CREATE TABLE 語句、從資料推斷列類型以及每行發出一個多行 INSERT 或一個語句。

4

複製 SQL

讀取產生的 CREATE TABLE 和 INSERT 語句,然後複製它們。將腳本貼上到資料庫用戶端或從命令列運行它以建立和載入表格。

主要特點

建立具有推斷類型的表格

每個物件都會被掃描,並且每一列都鍵入為整數、十進制、布林值、JSON 或文本,因此產生的 CREATE TABLE 與資料匹配,而不是強制所有內容進入單一字串列。

四種 SQL 方言

輸出目標 MySQL、PostgreSQL、SQLite 或標準 SQL。方言設定標識符引用、數字和布林類型名稱以及用於嵌套值的本機 JSON 類型。

處理不均勻的物體

物件不需要相同的鍵。列是所有鍵按首次看到順序的並集,任何缺少鍵的物件對於該列都會為 NULL。

嵌套值為 JSON

陣列和巢狀物件被序列化為 JSON 文本,並儲存在 MySQL 上的 JSON 列、PostgreSQL 上的 JSONB 列或其他地方的 TEXT 列中。

Frequently Asked Questions

貼上物件的 JSON 數組,設定表格名稱,然後選擇 SQL 方言。該工具將物件鍵讀取為列名稱,推斷每種列類型,並產生 CREATE TABLE 加 INSERT 語句,您可以在資料庫中複製和運行。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json to sqljson to sql converterjson to insert statementjson to mysqljson to postgresgenerate sql from jsonjson to create tableconvert json to sql onlinejson array to sql