เครื่องแปลงข้อมูลจาก CSV เป็น SQL
การนำข้อมูล CSV เข้าสู่ฐานข้อมูล โดยทั่วไปต้องเปิดเครื่องมือโหลดข้อมูล หรือเขียนคำสั่ง COPY/LOAD DATA INFILE ซึ่งใช้ได้เฉพาะกับไฟล์ในเครื่องเท่านั้น สำหรับชุดข้อมูลขนาดเล็ก เช่น ไม่กี่สิบ หลายร้อย หรือไม่กี่พันแถว การใช้คำสั่ง INSERT ธรรมดาที่วางลงในคอนโซล SQL ใดก็ได้มักจะเร็วกว่า เครื่องมือนี้รับไฟล์ CSV และชื่อตาราง แล้วสร้างคำสั่ง INSERT หนึ่งคำสั่งต่อหนึ่งแถว โดยใช้ตัวระบุที่ครอบด้วยเครื่องหมายแบ็กทิก (backtick) และค่าที่ครอบด้วยเครื่องหมายอัญประกาศเดี่ยว พร้อมนำไปรันได้อย่างปลอดภัย
วิธีการประกอบคำสั่ง SQL
-
1
วางไฟล์ CSV
ไฟล์ CSV มาตรฐานที่มีแถวหัวตารางหรือไม่ก็ได้ ตัวแยกวิเคราะห์รองรับเซลล์ในเครื่องหมายอัญประกาศที่มีตัวคั่นอยู่ภายใน
-
2
ตั้งชื่อตาราง
อักขระที่ไม่ใช่ตัวอักษรหรือตัวเลขในชื่อตารางจะถูกแทนด้วยเครื่องหมายขีดล่าง หากปล่อยว่างไว้จะใช้ค่า `my_table` แทน
-
3
คอลัมน์มาจากแถวหัวตาราง
หากเปิดโหมดแถวหัวตาราง แถวแรกจะกลายเป็นรายชื่อคอลัมน์ มิฉะนั้นคอลัมน์จะถูกตั้งชื่อเป็น `column_1`, `column_2` และอื่นๆ
-
4
หนึ่งคำสั่ง INSERT ต่อหนึ่งแถวข้อมูล
แต่ละแถวจะกลายเป็น `INSERT INTO table (cols) VALUES (...)` ค่าต่างๆ จะถูกครอบด้วยเครื่องหมายอัญประกาศเดี่ยว และอัญประกาศเดี่ยวที่อยู่ภายในค่าจะถูกทำซ้ำเป็นสองตัว
ไดอะเลกต์ การครอบด้วยเครื่องหมายอัญประกาศ และเมื่อใดควรเลือกใช้วิธีอื่น
ตัวสร้างนี้มุ่งเป้าไปที่ SQL แบบ MySQL ที่ครอบตัวระบุด้วยเครื่องหมายแบ็กทิก และครอบค่าด้วยเครื่องหมายอัญประกาศเดี่ยว ฐานข้อมูลส่วนใหญ่รับคำสั่งเหล่านี้ได้โดยปรับแก้เพียงเล็กน้อย
ตารางสรุปไดอะเลกต์อย่างย่อ
| ฐานข้อมูล | การครอบตัวระบุ | หมายเหตุ |
|---|---|---|
| MySQL | แบ็กทิก | ใช้งานได้โดยไม่ต้องแก้ไข |
| MariaDB | แบ็กทิก | ใช้งานได้โดยไม่ต้องแก้ไข |
| PostgreSQL | อัญประกาศคู่ | เปลี่ยน ` เป็น " ก่อนรัน |
| SQLite | อัญประกาศคู่ | เปลี่ยน ` เป็น " หรือเอาการครอบตัวระบุออก |
| SQL Server | วงเล็บเหลี่ยม | เปลี่ยน ` เป็น [] และระวัง N'...' สำหรับ Unicode |
ค่าถูกทำ escape อย่างไร
ค่าทุกค่าจะถูกครอบด้วยเครื่องหมายอัญประกาศเดี่ยว และอัญประกาศเดี่ยวที่อยู่ภายในจะถูกทำซ้ำเป็นสองตัว (O'Brien จะกลายเป็น 'O''Brien') ซึ่งเป็นวิธีตามมาตรฐาน SQL-92 และใช้ได้กับฐานข้อมูลหลักทุกตัว ตัวแปลงนี้ไม่แปลงชนิดข้อมูล ทุกอย่างจะถูกส่งออกเป็นสตริงลิเทอรัล ดังนั้นเมื่อคอลัมน์เป็น INT การแปลงโดยปริยายของฐานข้อมูลจะเปลี่ยน '42' ให้เป็นจำนวนเต็มเอง
เคล็ดลับสำหรับการนำเข้าที่สะอาด
- สร้างตารางก่อน ตัวแปลงจะสร้างเฉพาะคำสั่ง
INSERTไม่ได้สร้างCREATE TABLEให้ใช้คู่กับสคีมาที่คุณกำหนดเอง หรือที่สร้างจาก ORM ของคุณ - แบ่งไฟล์ขนาดใหญ่เป็นชุดๆ หากไคลเอนต์ SQL ของคุณจำกัดขนาดคำสั่ง ให้วางครั้งละ 500–1000 แถว
- ครอบไว้ในทรานแซกชัน หากมีมากกว่าไม่กี่ร้อยแถว ให้คร่อมเนื้อหาที่วางด้วย
BEGIN;และCOMMIT;(หรือSTART TRANSACTION;/COMMIT;) วิธีนี้เร็วกว่าการคอมมิตแต่ละคำสั่งโดยอัตโนมัติมาก
เมื่อใดควรข้ามการสร้าง SQL
หากไฟล์ของคุณมีมากกว่าประมาณ 50,000 แถว ตัวโหลดข้อมูลจำนวนมากแบบเนทีฟ (COPY ใน Postgres, LOAD DATA INFILE ใน MySQL และ bcp ใน SQL Server) จะเร็วกว่าคำสั่ง INSERT ที่สร้างด้วยสคริปต์ถึงระดับหลักสิบเท่า เครื่องมือนี้เหมาะสำหรับการนำเข้าแบบด่วน การสร้างข้อมูลทดสอบ และการย้ายข้อมูลครั้งเดียวจบ
คำถามที่พบบ่อย
ไม่ใช่ โปรแกรมนี้จะสร้างเพียงคำสั่ง INSERT เท่านั้น คุณควรกำหนดโครงสร้างข้อมูล (schema) ด้วย CREATE TABLE ไว้ล่วงหน้า เพื่อให้คุณสามารถควบคุมประเภท ความยาว และเงื่อนไขของคอลัมน์ได้อย่างชัดเจน โดยไม่ต้องให้ตัวแปลงข้อมูลเป็นผู้กำหนดเอง
เปลี่ยนเพียงจุดเดียวก็ใช้ได้ คือแทนที่เครื่องหมายแบ็กทิกที่ครอบชื่อตารางและชื่อคอลัมน์ด้วยเครื่องหมายอัญประกาศคู่ ส่วนค่าต่างๆ ถูกครอบด้วยอัญประกาศเดี่ยวอยู่แล้ว จึงรันได้โดยไม่ต้องแก้ไขบนไดอะเลกต์ SQL-92 ใดก็ตาม
อัญประกาศเดี่ยวภายในค่าจะถูกทำซ้ำเป็นสองตัว (O''Brien) ซึ่งเป็นการ escape มาตรฐานของ SQL ส่วนแบ็กสแลช เครื่องหมายเปอร์เซ็นต์ และขีดล่างจะผ่านไปตามตัวอักษรจริง โดยจะมีความหมายพิเศษก็ต่อเมื่ออยู่ในรูปแบบ LIKE เท่านั้น
ใช่ ไฟล์ CSV จะถูกส่งไปยังเซิร์ฟเวอร์ของเราเพื่อสร้างคำสั่ง SQL ไฟล์จะไม่ถูกจัดเก็บและไม่ถูกเพิ่มลงในลิงก์ของหน้า
เครื่องมือที่เกี่ยวข้อง
ตัวตรวจจับชื่อไฟล์ซ้ำ
วางรายการชื่อไฟล์แล้วดูว่าชื่อใดปรากฏมากกว่าหนึ่งครั้ง พร้อมจำนวนครั้งและตัวเลือกไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก
เครื่องมือระบุนามสกุลไฟล์
ค้นหาว่านามสกุลหรือชื่อไฟล์ตรงกับไฟล์ประเภทใดและ MIME ประเภทใด พร้อมตารางอ้างอิงรูปแบบไฟล์ทั่วไปและเคล็ดลับสังเกตนามสกุลซ้อน
ตัวแปลง MP4 เป็น MP3
ดึงแทร็กเสียงออกจากวิดีโอ MP4 แล้วบันทึกเป็น MP3 เหมาะสำหรับมิวสิกวิดีโอ พอดแคสต์ การบรรยาย และคลิปเสียงที่คุณต้องการฟังได้ทุกที่
ตัวแปลง MOBI เป็น EPUB
แปลง ebook MOBI เป็น EPUB ซึ่งเป็นมาตรฐานเปิดที่ Apple Books, Kobo, Google Play Books และแอปสมัยใหม่ส่วนใหญ่อ่านได้ อัปโหลดไฟล์ .mobi แล้วดาวน์โหลด .epub ที่สะอาด
ตัวสร้างข้อมูลทดสอบ SQL
สร้างคำสั่ง SQL INSERT ที่พร้อมรันพร้อมแถวตัวอย่างแบบเรียงลำดับ (id, name, email, active) สำหรับชื่อตารางใดก็ได้ สูงสุด 200 แถว ไวยากรณ์ MySQL เพียงคลิกเดียว
โปรแกรมสำหรับวิเคราะห์ไฟล์บันทึก (Log File Parser)
วางหรืออัปโหลดไฟล์บันทึกของเซิร์ฟเวอร์และแอปพลิเคชัน คัดกรองตามช่วงวันที่ ระดับบันทึก ที่อยู่ IP หรือข้อความ และได้ผลลัพธ์ที่ถูกเน้นและมีโครงสร้างชัดเจน
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Konwerter CSV na SQL [PL]
- CSV zu SQL Konverter [DE]
- Konverter CSV ke SQL [ID]
- Convertidor de CSV a SQL [ES]
- CSVからSQLへの変換ツール [JA]
- Conversor de CSV para SQL [PT]
- CSV-till-SQL-konverterare [SV]
- Bộ chuyển CSV sang SQL [VI]
- Convertisseur CSV en SQL [FR]
- CSV → SQL 변환기 [KO]
- محوّل CSV إلى SQL [AR]
- CSV-naar-SQL-converter [NL]
- CSV to SQL Converter [EN]
- Convertitore CSV in SQL [IT]
- Конвертер CSV в SQL [RU]
- CSV'den SQL'e Dönüştürücü [TR]
- CSV到SQL转换器 [ZH]