ตัวแปลง SQL เป็น CSV

บางครั้งสำเนาข้อมูลที่คุณต้องการเพียงชุดเดียวคือไฟล์ .sql จากการสำรองข้อมูล ซึ่งเป็นดัมป์ของคำสั่ง INSERT INTO users (id, email, created_at) VALUES (...) การโหลดมันเข้าฐานข้อมูลเพียงเพื่อส่งออกใหม่นั้นช้า ตัวแปลงนี้อ่านรายการคอลัมน์และทูเพิล VALUES แต่ละชุดโดยตรงจากไวยากรณ์ INSERT แล้วสร้างไฟล์ CSV ที่คุณเปิดได้ใน Excel, Google Sheets, Numbers หรือ pandas โดยไม่ต้องกู้คืนสคีมาเลย

วิธีแปลงคำสั่ง INSERT ของ SQL เป็น CSV

  1. 1

    วาง SQL

    ใส่คำสั่ง INSERT หนึ่งคำสั่งหรือมากกว่า รองรับบล็อก VALUES (...) ทั้งแบบแถวเดียวและหลายแถว

  2. 2

    ตรวจพบคอลัมน์อัตโนมัติ

    ตัวแยกวิเคราะห์อ่านรายการ `(col1, col2, ...)` ที่อยู่ก่อน VALUES ทันที และถือว่าเป็นแถวหัวของ CSV

  3. 3

    ดึงแถวออกมา

    ทูเพิล `(val1, val2, ...)` แต่ละชุดจะกลายเป็นหนึ่งแถวใน CSV สตริงในอัญประกาศเดี่ยวจะถูกถอดอัญประกาศออก ส่วนตัวเลขและ NULL จะส่งผ่านเป็นข้อความ

  4. 4

    คัดลอก CSV

    นำผลลัพธ์ CSV ไปวางในสเปรดชีต หรือบันทึกด้วยนามสกุล `.csv`

สิ่งที่ตัวแยกวิเคราะห์รับได้

INSERT INTO users (id, email, created_at) VALUES
  (1, 'alice@example.com', '2024-01-12 09:00:00'),
  (2, 'bob@example.com',   '2024-01-13 10:30:00'),
  (3, 'carol@example.com', '2024-01-13 11:15:00');

กลายเป็น:

id,email,created_at
1,alice@example.com,2024-01-12 09:00:00
2,bob@example.com,2024-01-13 10:30:00
3,carol@example.com,2024-01-13 11:15:00

กฎการหลีก (escape) ของ CSV ที่ใช้

  • ตัวคั่นเป็นเครื่องหมายจุลภาคเสมอ ไม่มีตัวเลือกตัวคั่น
  • ฟิลด์ที่มีจุลภาค อัญประกาศคู่ หรือการขึ้นบรรทัดใหม่ จะถูกครอบด้วยอัญประกาศคู่
  • อัญประกาศคู่ภายในจะถูกทำซ้ำ (" กลายเป็น "") ตาม RFC 4180
  • อัญประกาศเดี่ยวที่นำหน้าและตามหลังของสตริงลิเทอรัล SQL จะถูกตัดออก
  • ค่า NULL ของ SQL จะส่งผ่านเป็นข้อความตรงตัว NULL ให้แทนที่ในขั้นถัดไปหากเครื่องมือของคุณต้องการเซลล์ว่าง

ข้อจำกัดที่ควรทราบ

  • ต้องมีรายการคอลัมน์ ตัวแยกวิเคราะห์อ่านหัวจากรายการ (col1, col2, ...) ก่อน VALUES คำสั่ง INSERT INTO t VALUES (...) เปล่า ๆ ที่ไม่มีรายการคอลัมน์จะให้แถว CSV ที่ไม่มีหัว
  • ครั้งละหนึ่งตาราง หากดัมป์ของคุณผสมคำสั่ง INSERT สำหรับตารางต่างกัน ให้แยกออกก่อน แถวที่มีความกว้างต่างกันจะทำให้ CSV ไม่เป็นระเบียบ
  • ไม่มีการแยกวิเคราะห์ CREATE TABLE ไม่มีการใช้ชนิดคอลัมน์ วันที่ JSON และบล็อบไบนารีจะผ่านมาเป็นข้อความดิบ
  • แต่ละกลุ่มวงเล็บจะกลายเป็นหนึ่งแถว ตัวแยกวิเคราะห์เปลี่ยนกลุ่ม (...) แต่ละกลุ่มให้เป็นแถว ดังนั้นอนุประโยคท้ายที่มีวงเล็บ (ON DUPLICATE KEY UPDATE, RETURNING) การเรียกฟังก์ชันอย่าง NOW() หรืออาร์เรย์ซ้อนอย่าง (1,2,3) ภายในค่า จะเพิ่มแถวส่วนเกิน จำกัดอินพุตให้เป็นทูเพิล INSERT ... VALUES แบบง่าย และแทนที่นิพจน์เหล่านั้นด้วยค่าลิเทอรัลก่อนวาง

คำถามที่พบบ่อย

ได้ ตราบใดที่ INSERT เป็นรูปแบบมาตรฐาน INSERT INTO table (cols) VALUES (...) ซึ่งฐานข้อมูลเหล่านี้ใช้ร่วมกัน เครื่องมือนี้ไม่ได้รันตัวแยกวิเคราะห์ SQL เต็มรูปแบบ แต่ดึงรายการคอลัมน์และทูเพิลค่าภายในวงเล็บออกมา ดังนั้นให้คงแต่ละคำสั่งไว้ในไวยากรณ์ INSERT แบบง่าย

จุลภาคภายในสตริง SQL ที่อยู่ในอัญประกาศเดี่ยวจะถูกรักษาไว้ ในผลลัพธ์ ฟิลด์ใดก็ตามที่มีจุลภาค อัญประกาศ หรือการขึ้นบรรทัดใหม่จะถูกครอบด้วยอัญประกาศคู่ และอัญประกาศภายในจะถูกทำซ้ำ ตาม RFC 4180 ค่าที่ตัวมันเองมีวงเล็บอาจถูกแยกไม่ถูกต้อง

ไม่ได้ SQL ของคุณจะถูกส่งไปยังเซิร์ฟเวอร์ของเรา แยกวิเคราะห์ในรอบเดียว แล้วส่งกลับ ดังนั้นให้จำกัดอินพุตไว้ที่ไม่กี่เมกะไบต์ต่อครั้ง สำหรับดัมป์ที่ใหญ่มาก ให้แบ่งไฟล์เป็นส่วน ๆ (หนึ่งบล็อก INSERT ต่อส่วน) แล้วแปลงทีละชิ้น

ไม่ ผลลัพธ์เป็น CSV แบบแบน ชนิดคอลัมน์ ดัชนี และข้อจำกัดต่าง ๆ อยู่ใน CREATE TABLE และอยู่นอกขอบเขตของตัวแปลงนี้

SQL ของคุณถูกส่งไปยังเซิร์ฟเวอร์ของเราเพียงเพื่อสร้าง CSV และไม่ถูกจัดเก็บ เราเก็บเพียงจำนวนแถวที่แปลงแบบไม่ระบุตัวตน ไม่เคยเก็บตัวข้อความ SQL เลย

เครื่องมือที่เกี่ยวข้อง

แปลง vCard เป็น CSV

วางไฟล์ส่งออก vCard (.vcf) แล้วได้ไฟล์ CSV ที่สะอาดพร้อมคอลัมน์ชื่อ อีเมล และโทรศัพท์ หนึ่งแถวต่อผู้ติดต่อ พร้อมเปิดในสเปรดชีตหรือเครื่องมือนำเข้าผู้ติดต่อ

เครื่องมือสกัดคอลัมน์ในตาราง CSV

นำไฟล์ CSV มาวางไว้ จากนั้นเลือกเฉพาะคอลัมน์ที่ต้องการ โดยใช้ดัชนีเริ่มจาก 1 แล้วส่งออกเป็นไฟล์ CSV ที่สะอาดและมีข้อมูลถูกอ้างอิงใหม่ พร้อมใช้งานได้ทันทีกับสเปรดชีตหรือฐานข้อมูลใดๆ

ตัวแปลง EPUB เป็น MOBI

แปลง ebook EPUB เป็น MOBI สำหรับอุปกรณ์ Kindle รุ่นเก่าและคลัง ebook รุ่นเก่า เก็บบทและสารบัญไว้ครบ อัปโหลด แปลง ดาวน์โหลด

ตัวแปลง WAV เป็น MP3

แปลง WAV เป็น MP3 ออนไลน์ อัปโหลด WAV เราจะเข้ารหัสเป็น MP3 คุณภาพ 192 kbps บนเซิร์ฟเวอร์ และคุณดาวน์โหลดได้ในไม่กี่วินาที สูงสุด 200 MB ลบทิ้งหลัง 2 ชั่วโมง

ตัวตรวจจับชื่อไฟล์ซ้ำ

วางรายการชื่อไฟล์แล้วดูว่าชื่อใดปรากฏมากกว่าหนึ่งครั้ง พร้อมจำนวนครั้งและตัวเลือกไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก

ตัวแปลง WebM เป็น MP4

แปลงวิดีโอ WebM เป็น MP4 (วิดีโอ H.264, เสียง AAC) เพื่อให้ใช้งานได้กับแอป อุปกรณ์ และแพลตฟอร์มมากขึ้น อัปโหลด WebM เราแปลงบนเซิร์ฟเวอร์ แล้วคุณดาวน์โหลด MP4

เครื่องมือนี้มีให้บริการในภาษาอื่น