ตัวแปลง JSON ↔ SQL
แปลง JSON เป็นคำสั่ง CREATE TABLE และ INSERT หรือแปลงข้อมูล SQL INSERT เป็น JSON
วางเรคคอร์ด JSON หรือโหลดตัวอย่างเพื่อสร้าง SQL
เครื่องมือที่เกี่ยวข้อง
JSON ↔ SQL ทำอะไร
JSON ↔ SQL แปลงเรคคอร์ด JSON เป็นคำสั่ง CREATE TABLE และ INSERT แบบแบ่งชุดสำหรับ PostgreSQL, MySQL, SQLite และ SQL Server และแปลงข้อมูล SQL INSERT กลับเป็น JSON คอลัมน์คือคีย์ทั้งหมดที่รวมจากทุกเรคคอร์ด คีย์ที่มีเพียงในออบเจ็กต์เดียวจึงได้คอลัมน์ด้วย และคีย์ที่ขาดหายจะถูกเขียนเป็น NULL เมื่อ JSON มีหลายอาร์เรย์ ตัวเลือกชุดข้อมูลจะแสดง JSONPath แต่ละรายการพร้อมจำนวนแถวเพื่อให้คุณเลือกอาร์เรย์ที่จะแปลง
วิธีใช้
- 1.เลือก JSON → SQL หรือ SQL → JSON และภาษาถิ่น SQL
- 2.วางข้อมูล อัปโหลดหรือวางไฟล์ .json หรือ .sql หรือโหลดตัวอย่าง
- 3.สำหรับ JSON → SQL ให้กำหนดชื่อตารางและคำสั่งที่จะสร้าง ส่วนตัวเลือกเพิ่มเติมมีจำนวนแถวต่อ INSERT และการใส่เครื่องหมายคำพูดให้ตัวระบุ
- 4.ตรวจสอบผลลัพธ์ หมายเหตุ และคำแนะนำการตรวจทานด้านล่าง
- 5.คัดลอกผลลัพธ์ ดาวน์โหลด data.sql หรือ data.json หรือเปิดในทิศทางตรงข้ามเพื่อตรวจการแปลงไป-กลับ
การจับคู่ชนิดข้อมูลและการ escape
ชนิดข้อมูลอนุมานจากค่าอย่างระมัดระวัง จำนวนเต็มเป็น INTEGER และเป็น BIGINT หรือ NUMERIC/DECIMAL แบบแม่นยำเมื่อค่าใหญ่ขึ้น ทศนิยมเป็น NUMERIC ใน PostgreSQL, DOUBLE ใน MySQL, REAL ใน SQLite และ FLOAT ใน SQL Server วันที่และเวลาประทับแบบ ISO 8601 เป็นชนิดวันที่และเวลาประทับ สตริงที่แค่ดูเหมือนตัวเลขยังคงเป็นข้อความ ออบเจ็กต์และอาร์เรย์ซ้อนใช้ JSONB ใน PostgreSQL และ JSON ใน MySQL และเก็บเป็นข้อความ JSON ที่ซีเรียลไลซ์แล้วใน SQLite และ SQL Server อะพอสทรอฟีจะถูกเขียนซ้ำในทุกภาษาถิ่น MySQL จะ escape แบ็กสแลชด้วย สตริงของ SQL Server ใช้ลิเทอรัล Unicode แบบ N'…' และบูลีนเขียนเป็น TRUE/FALSE หรือ 1/0 ตามที่แต่ละภาษาถิ่นคาดหวัง จำนวนเต็มขนาดใหญ่และทศนิยมยาวคงหลักตามจริง
ขอบเขตของ SQL → JSON ข้อจำกัด และความเป็นส่วนตัว
SQL → JSON อ่านคำสั่ง INSERT … VALUES ด้วย node-sql-parser รองรับ INSERT แบบแถวเดียวและหลายแถว หลายคำสั่ง และหลายตาราง ซึ่งจะคืนค่าเป็นออบเจ็กต์ที่มีชื่อตารางเป็นคีย์ CREATE TABLE ในอินพุตเดียวกันจะให้ชื่อคอลัมน์ เปลี่ยนคอลัมน์ JSON เป็น JSON ซ้อน และคอลัมน์ BOOLEAN หรือ BIT เป็น true และ false ส่วน SELECT, UPDATE, ฟังก์ชันอย่าง NOW(), นิพจน์ และ DEFAULT จะถูกปฏิเสธพร้อมข้อความแทนการเดา SQL จะถูกแยกวิเคราะห์เท่านั้น ไม่มีการเรียกใช้ และข้อมูลของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ตัวแยกวิเคราะห์ของภาษาถิ่นที่เลือกจะดาวน์โหลดเพียงครั้งเดียวเมื่อแปลงครั้งแรก SQL ที่สร้างขึ้นมีไว้สำหรับการตรวจสอบ การย้ายข้อมูล และการพัฒนา ควรตรวจทานก่อนเรียกใช้กับข้อมูลโปรดักชัน และใช้คิวรีแบบพารามิเตอร์ในแอปพลิเคชัน
