แปลง JSON เป็น SQL
เครื่องมือออนไลน์ฟรีสำหรับแปลง JSON array เป็น INSERT และสร้าง CREATE TABLE ได้เมื่อต้องการ
คำแนะนำที่เกี่ยวข้อง
เกี่ยวกับการแปลง JSON เป็น SQL
การแปลง JSON เป็น SQL คือการเปลี่ยน JSON array หรือ object ให้เป็นสคริปต์ INSERT และ CREATE TABLE ที่รันในฐานข้อมูลเชิงสัมพันธ์ได้
เครื่องมือนี้ใช้ key ของ object เป็นชื่อคอลัมน์ ใช้ value เป็น SQL literal และสร้าง DDL ให้ด้วยถ้าต้องการ
การอนุมานชนิดข้อมูล ความต่างของแต่ละ dialect และ batch insert ถูกจัดการในเบราว์เซอร์ทั้งหมด จึงทั้งเร็วและปลอดภัยกว่าการทำด้วยมือ
กรณีการใช้งาน
- แปลง JSON จาก API response เป็นสคริปต์ INSERT เพื่อนำเข้าฐานข้อมูลเชิงสัมพันธ์
- สร้าง seed SQL จาก mock JSON สำหรับ development หรือ test environment
- สร้าง CREATE TABLE จากโครงสร้าง JSON เมื่อตั้งค่า database ใหม่
- ย้ายข้อมูล JSON จาก log หรือ document store ไปยังระบบ SQL
- ใช้สอนหรือ demo การแมปชนิดข้อมูลจาก JSON ไปยัง SQL
วิธีการใช้งาน
- วาง JSON array หรือ object ทางซ้าย หรืออัปโหลดไฟล์ .json/.txt
- เลือก SQL dialect ปลายทางจาก toolbar
- ถ้าต้องการ ให้ตั้งชื่อตาราง เปิด CREATE TABLE และปรับ batch size
- กดแปลงแล้วตรวจ SQL พร้อมจำนวนแถว/คอลัมน์ทางด้านขวา
- คัดลอกผลลัพธ์หรือดาวน์โหลดไฟล์ .sql เพื่อนำไปรันในโปรแกรมจัดการฐานข้อมูล
คุณสมบัติ
- สร้าง batch INSERT จาก JSON array โดยตั้งขนาดได้ 1-1000 แถวต่อคำสั่ง
- สร้าง CREATE TABLE DDL ได้แบบเลือกเปิด พร้อมอนุมานชนิดคอลัมน์อัตโนมัติ
- รองรับ SQL dialect มากกว่า 20 แบบ เช่น MySQL, PostgreSQL, SQLite และ SQL Server
- มี smart type inference สำหรับ NULL, boolean, ตัวเลข, วันที่ ISO และข้อความสั้น/ยาว
- ใช้ sql-formatter เพื่อจัดรูป SQL ให้อ่านง่ายขึ้น
- ประมวลผลทั้งหมดในเบราว์เซอร์ ไม่ต้องอัปโหลด JSON ไปยังเซิร์ฟเวอร์
คำถามที่พบบ่อย
จะแปลง JSON array เป็น SQL INSERT ได้อย่างไร?
วาง JSON array ลงไป แล้วแต่ละ object จะถูกแปลงเป็นข้อมูลสำหรับ INSERT โดย key กลายเป็นชื่อคอลัมน์ และ value กลายเป็น SQL literal
สร้าง CREATE TABLE อัตโนมัติได้ไหม?
ได้ เปิดตัวเลือก CREATE TABLE ในการตั้งค่า แล้วเครื่องมือจะอนุมานชนิดข้อมูลและสร้าง DDL ให้
รองรับ SQL dialect อะไรบ้าง?
รองรับ MySQL, PostgreSQL, SQLite, SQL Server และอีกมากกว่า 20 dialect พร้อมปรับรูปแบบ quote และชื่อชนิดข้อมูลอัตโนมัติ
การอนุมานชนิดข้อมูลทำงานอย่างไร?
เครื่องมือจะแยก NULL, boolean, integer, float, วันที่ ISO 8601 และข้อความสั้น/ยาว แล้ว map ไปยังชนิด SQL ที่เหมาะสม
รองรับ bulk insert หรือไม่?
รองรับ สามารถตั้ง batch size ได้ตั้งแต่ 1 ถึง 1000 แถวต่อหนึ่งคำสั่ง INSERT
ถ้า JSON ผิดไวยากรณ์จะเกิดอะไรขึ้น?
ข้อผิดพลาดที่พบได้บ่อย เช่น comma ท้ายบรรทัดหรือเครื่องหมายคำพูดผิด จะมีการลองซ่อมอัตโนมัติ ถ้ายังไม่ผ่านควรตรวจด้วย JSON formatter ก่อน
ข้อมูลถูกส่งไปที่เซิร์ฟเวอร์หรือไม่?
ไม่ การ parse JSON การอนุมานชนิดข้อมูล และการสร้าง SQL ทำใน JavaScript ภายในเบราว์เซอร์ทั้งหมด
วันที่ตรวจจับอัตโนมัติได้ไหม?
ได้ สตริง ISO 8601 แบบวันที่หรือวันที่-เวลาจะถูกมองเป็น DATE หรือ TIMESTAMP
การแก้ไขปัญหา
ฝั่งขวาขึ้นแค่ "No valid objects found in JSON"
ข้อมูลระดับบนสุดอาจไม่ใช่ array/object หรือใน array มีแต่ค่าพื้นฐานที่ไม่สามารถสร้างคอลัมน์ได้
SQL ที่สร้างขึ้นรันในฐานข้อมูลแล้ว error
มักเกิดจากเลือก dialect ผิด ชื่อตารางหรือคอลัมน์ชนกับคำสงวน หรือ batch size ใหญ่เกินไป
ฟิลด์วันที่ถูกมองเป็น VARCHAR แทน DATE/TIMESTAMP
สตริงวันที่ไม่ได้อยู่ในรูปแบบ ISO 8601 จึงถูกมองเป็นข้อความธรรมดา
คอลัมน์เดียวกันมีทั้งตัวเลขและข้อความ
เมื่อชนิดข้อมูลขัดกัน เครื่องมือจะยกชนิดคอลัมน์ไปใช้ชนิดที่กว้างกว่า เช่น VARCHAR
อภิธานศัพท์
- JSON
- รูปแบบแลกเปลี่ยนข้อมูลขนาดเล็กที่ใช้แพร่หลายใน API และไฟล์ตั้งค่า
- SQL
- ภาษามาตรฐานสำหรับทำงานกับฐานข้อมูลเชิงสัมพันธ์
- INSERT
- คำสั่ง DML สำหรับเพิ่มแถวข้อมูลลงในตาราง
- CREATE TABLE
- คำสั่ง DDL สำหรับกำหนดชื่อตาราง คอลัมน์ และชนิดข้อมูล
- SQL dialect
- ความแตกต่างของไวยากรณ์และชนิดข้อมูลระหว่างระบบฐานข้อมูลแต่ละตัว
- การอนุมานชนิดข้อมูล
- กระบวนการเดาชนิด SQL อัตโนมัติจากค่า JSON
- Batch insert
- การรวมหลายแถวไว้ใน INSERT เดียวเพื่อให้ import เร็วขึ้น
SQL dialect ที่รองรับและความต่างหลัก
สรุป dialect หลัก พร้อมรูปแบบเครื่องหมายชื่อคอลัมน์ ชนิดจำนวนเต็ม และ boolean
| Dialect | เครื่องหมายชื่อ | ชนิดจำนวนเต็ม | Boolean | IF NOT EXISTS |
|---|---|---|---|---|
| MySQL | backtick ` | INT | TRUE | รองรับ |
| PostgreSQL | เครื่องหมายคำพูดคู่ " | INTEGER | TRUE | รองรับ |
| SQLite | เครื่องหมายคำพูดคู่ " | INTEGER | 1/0 | รองรับ |
| SQL Server | วงเล็บเหลี่ยม [] | INT | 1/0 | ไม่รองรับ |
| BigQuery | backtick ` | INT64 | TRUE | รองรับ |
| Snowflake | เครื่องหมายคำพูดคู่ " | NUMBER | TRUE | รองรับ |
กฎการอนุมานชนิดข้อมูล JSON -> SQL
กฎหลักที่ detectType ใช้ในการจับคู่ชนิดข้อมูล
| ค่า JSON | ตัวอย่าง | ชนิด SQL ที่อนุมาน | กฎ |
|---|---|---|---|
null | null | NULL | JSON null จะถูกแปลงเป็น SQL NULL |
boolean | true / false | BOOLEAN | ใช้ BOOLEAN หรือ 1/0 ตาม dialect |
integer | 1, 100, -9999 | INT / BIGINT | เลือก INT หรือ BIGINT ตามช่วงของค่า |
float | 3.14, -0.5 | FLOAT / DOUBLE / REAL | ค่าทศนิยมจะใช้ชนิดตัวเลขตาม dialect |
ISO 8601 datetime | 2024-05-20T10:30:00 | TIMESTAMP | วันที่เวลาแบบ ISO 8601 จะถูกมองเป็น TIMESTAMP |
short / long string | Alice / 500 chars | VARCHAR / TEXT | ข้อความไม่เกิน 255 ตัวอักษรใช้ VARCHAR ยาวกว่านั้นใช้ TEXT |
Privacy & Security
ตัวแปลง JSON เป็น SQL นี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ การ parse JSON การอนุมานชนิดข้อมูล การสร้าง SQL และการจัดรูปแบบทำฝั่ง client ทั้งหมด โดยไม่ส่งข้อมูลอินพุตไปยังเซิร์ฟเวอร์ใด ๆ
Authoritative References
- บีบอัด JSON
- แปลง CSV เป็น JSON
- JSON เป็น CSV
- JSON Diff
- JSON Escape / Unescape
- แฟลตเทน JSON
- จัดรูปแบบ JSON
- เครื่องมือสร้าง JSON
- คิวรี JSONPath
- รวม JSON
- ซ่อมแซม JSON
- ตัวตรวจสอบ JSON Schema
- เรียง JSON
- JSON Stringify
- JSON เป็น HTML
- JSON เป็น Java
- JSON เป็น Markdown
- แปลง JSON เป็น SQL
- JSON เป็น TOML
- JSON เป็น TypeScript
- แปลง XML เป็น JSON
- แปลง JSON เป็น XML
- YAML เป็น JSON
- JSON → YAML
- JSON เป็น Go
- JSON เป็น Rust
- JSON to Swift
- JSON เป็น C#
- JSON เป็น C++
- JSON เป็น PHP
- JSON เป็น Python