UltKit
รูปภาพ11
PDF13
เอกสารและข้อมูล7
วิดีโอ6
เสียง4
เครื่องมืออื่น ๆ22

แปลง CSV เป็น SQL

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

แปลงไฟล์ข้อมูล

หรือลากไฟล์ CSV, TSV, TXT … มาวางที่นี่ ·

สูงสุด 95 MB ต่อไฟล์· ได้สูงสุด 20 ไฟล์· ลบหลังจาก 30 นาที

ผลลัพธ์

ไฟล์จะถูกประมวลผลบนเซิร์ฟเวอร์ของเราและถูกลบหลังจาก 30 นาที

วิธีใช้เครื่องมือนี้

  1. 1

    อัปโหลดไฟล์ CSV

    เพิ่มไฟล์ CSV 1 ไฟล์ หรือสูงสุด 20 ไฟล์ ไฟล์ละไม่เกิน 95 MB ระบบตรวจจับไฟล์ที่คั่นด้วยเซมิโคลอนและแท็บให้อัตโนมัติ

  2. 2

    ตั้งชื่อตารางและเลือก dialect

    ใน การตั้งค่าขั้นสูง ให้พิมพ์ ชื่อตาราง SQL และเลือก ภาษา SQL ได้แก่ MySQL, PostgreSQL, SQLite หรือ SQL Server ส่วน วันที่ ตั้งเป็น ISO ไว้ เพื่อให้ค่าวันที่โหลดเข้าได้โดยไม่ต้องเดารูปแบบ

  3. 3

    แปลงแล้วนำไปรัน

    กด แปลงเป็น SQL ตรวจดูบรรทัด CREATE TABLE แล้วรันสคริปต์ในโปรแกรมจัดการฐานข้อมูลหรือหน้าอิมพอร์ตของคุณ

แปลง CSV เป็น SQL สร้างคำสั่ง CREATE TABLE จากแถวหัวคอลัมน์ และ INSERT หนึ่งคำสั่งต่อหนึ่งแถวข้อมูล พร้อมเครื่องหมายคร่อมตามรูปแบบของ MySQL, PostgreSQL, SQLite หรือ SQL Server จึงโหลดสเปรดชีตเข้าฐานข้อมูลได้ด้วยการรันสคริปต์เดียว

เหตุผลที่ควรแปลง CSV เป็นคำสั่ง SQL INSERT

ฐานข้อมูลทุกระบบมีตัวโหลด CSV ที่เร็ว และทุกตัวมีข้อจำกัด LOAD DATA LOCAL INFILE ปิดไว้เป็นค่าเริ่มต้นบนเซิร์ฟเวอร์ตั้งแต่ MySQL 8.0 COPY FROM ไฟล์ใน PostgreSQL ต้องมีสิทธิ์ superuser หรือเป็นสมาชิกของบทบาทพิเศษ และ BULK INSERT ของ SQL Server อ่านพาธบนเครื่องเซิร์ฟเวอร์ ไม่ใช่แล็ปท็อปของคุณ ฐานข้อมูลที่โฮสต์ไว้มักมีเพียงตัวแก้ไขคิวรีให้ใช้

สคริปต์ INSERT เลี่ยงข้อจำกัดเหล่านั้นได้ทั้งหมด เพราะเป็นข้อความ จึงอ่านได้ คอมมิตเข้าระบบควบคุมเวอร์ชันเป็นข้อมูลเริ่มต้นได้ และรันในไคลเอนต์ใดก็ได้ ข้อแลกเปลี่ยนคือความเร็ว ข้อมูลหลักหมื่นแถวโหลดได้สบาย แต่ระดับล้านแถวควรใช้ตัวโหลดแบบเนทีฟ ผู้พัฒนาที่เก็บข้อมูลอ้างอิงไว้ในเวิร์กบุ๊กข้ามขั้นตอน CSV ได้ด้วย Excel เป็น SQL

ตัวอย่างการแปลง CSV เป็น SQL สำหรับ MySQL

สคริปต์ที่สร้างจาก id,name,joined พร้อมสองแถว
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES
(1, 'อนันต์ ศรีสุข', '2026-03-02'),
(2, 'Liam O''Brien', '2026-04-15');

ความแตกต่างของผลลัพธ์ใน SQL ทั้งสี่ dialect

ชื่อออบเจกต์คร่อมด้วยแบ็กติก เช่น order date ซึ่งทำให้ใช้คำสงวนอย่าง order เป็นชื่อคอลัมน์ได้ด้วย

  • ใช้กับ MariaDB ได้เช่นกัน
  • ค่าเริ่มต้นที่เหมาะกับการอิมพอร์ตด้วย phpMyAdmin
ข้อจำกัดของฐานข้อมูลที่มีผลต่อสคริปต์ที่สร้างขึ้น
หน่วยงานข้อกำหนดแหล่งที่มา
MySQL 8.0max_allowed_packet มีค่าเริ่มต้น 64 MB คำสั่งเดียวที่ใหญ่กว่านั้นจะถูกปฏิเสธ—
SQL Serverรายการ INSERT … VALUES หนึ่งรายการรับนิพจน์ค่าของแถวได้สูงสุด 1,000 แถว—
PostgreSQLชื่อที่ยาวเกิน 63 ไบต์จะถูกตัดทิ้งโดยไม่แจ้งเตือน—
SQLiteตารางมีได้สูงสุด 2,000 คอลัมน์ในบิลด์เริ่มต้น—

สิ่งที่ควรตรวจสอบก่อนรันสคริปต์

ให้อ่านบรรทัด CREATE TABLE ก่อน ชนิดคอลัมน์ถูกเดาจากค่าในไฟล์ ซึ่งอาจผิดได้ รหัสไปรษณีย์และเบอร์โทรศัพท์ดูเหมือนตัวเลขแต่ต้องเป็นข้อความ ไม่เช่นนั้น 02134 จะเสียเลข 0 นำหน้า ให้แก้ชนิดในสคริปต์ก่อนรัน หรือสร้างตารางเองแล้วรันเฉพาะส่วน INSERT

พิมพ์ชื่อจริงลงใน ชื่อตาราง SQL แทน my_table และรันสคริปต์ภายในทรานแซกชันหากไคลเอนต์รองรับ เพื่อให้แถวที่ผิดเพียงแถวเดียวย้อนการเปลี่ยนแปลงทั้งหมด ปลายทางอื่นของ CSV เดียวกันอยู่ที่หน้ารวม แปลงไฟล์ข้อมูล

ฟอร์แมต CSV และสคริปต์ SQL

CSV

ค่าที่คั่นด้วยจุลภาค (CSV)

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

การบีบอัด
–
พื้นหลังโปร่งใส
–
ภาพเคลื่อนไหว
–
เปิดตัว
–
ตัวแปลงไฟล์ CSV

SQL

สคริปต์ SQL

ไฟล์ SQL เป็นสคริปต์ข้อความธรรมดาที่ประกอบด้วยคำสั่ง Structured Query Language เช่น CREATE TABLE และ INSERT ซึ่งฐานข้อมูลจะเรียกใช้ตามลำดับ มักใช้สำหรับสำรองฐานข้อมูล การย้ายโครงสร้างข้อมูล (migration) และการแชร์ข้อมูลตัวอย่าง ตัวภาษาเป็นมาตรฐาน ISO แต่ MySQL, PostgreSQL, SQLite และ SQL Server ต่างมีภาษาถิ่น (dialect) ของตัวเอง สคริปต์จึงมักต้องปรับเล็กน้อยเมื่อย้ายระหว่างระบบ โปรแกรมแก้ไขข้อความทุกตัวเปิดไฟล์ SQL ได้ แต่ต้องใช้ไคลเอนต์ฐานข้อมูลในการเรียกใช้

การบีบอัด
–
พื้นหลังโปร่งใส
–
ภาพเคลื่อนไหว
–
เปิดตัว
–
ตัวแปลงไฟล์ SQL

แปลง CSV เป็น SQL เมื่อไฟล์ต้องกลายเป็นตารางในฐานข้อมูลที่เข้าถึงได้ผ่านหน้าต่างคิวรีเท่านั้น เช่น ใส่ข้อมูลเริ่มต้นให้แอปใหม่ โหลดรายการอ้างอิง หรือย้ายสเปรดชีตเข้า MySQL หรือ PostgreSQL โดยไม่มีสิทธิ์เข้าถึงเซิร์ฟเวอร์

คำถามเกี่ยวกับการแปลง CSV เป็น SQL

ทำไมควรใช้ไฟล์ SQL แทน LOAD DATA หรือ COPY

ตัวโหลดข้อมูลจำนวนมาก เช่น LOAD DATA INFILE ของ MySQL และ COPY ของ PostgreSQL เร็วกว่า แต่ต้องเข้าถึงไฟล์บนเซิร์ฟเวอร์ได้ หรือต้องตั้งค่าเพิ่มฝั่งไคลเอนต์ ส่วนสคริปต์ธรรมดารันได้ทุกที่ที่วาง SQL ได้ เช่น คอนโซลฐานข้อมูลบนคลาวด์ phpMyAdmin หรือ migration ที่ผ่านการตรวจสอบแล้ว

เครื่องหมายอะพอสทรอฟีในชื่ออย่าง O'Brien เขียนอย่างไร

ในสตริง SQL เครื่องหมายอัญประกาศเดี่ยวจะ escape ด้วยการพิมพ์ซ้ำสองครั้ง ค่าจึงถูกเขียนเป็น 'O''Brien' ทั้งสี่ภาษา SQL รองรับรูปแบบนี้ ชื่อที่มีอะพอสทรอฟีจึงไม่ทำให้ INSERT พัง

หัวคอลัมน์ใน CSV จะกลายเป็นอะไรในตาราง

ชื่อคอลัมน์ โดยใส่เครื่องหมายคร่อมตามที่ภาษา SQL ที่เลือกกำหนด หัวคอลัมน์อย่าง Unit Price ใช้ได้ แต่ชื่อที่มีช่องว่างและต้องคร่อมไว้ จะต้องคร่อมในทุกคำสั่งค้นหาถัดไปด้วย หากทำได้ ควรเปลี่ยนหัวคอลัมน์เป็น unit_price ก่อนแปลง

นำเข้าไฟล์ SQL ผ่าน phpMyAdmin ได้หรือไม่

ได้ ที่แท็บ Import ขีดจำกัดอยู่ที่ upload_max_filesize ของ PHP ซึ่งเป็น 2 MB ใน php.ini ค่าเริ่มต้น โฮสต์หลายแห่งปรับเพิ่มให้ และหน้านั้นจะแสดงขีดจำกัดปัจจุบัน หากสคริปต์ใหญ่กว่านั้น ให้แยก CSV ขนาดใหญ่เป็นหลายไฟล์

แปลงตารางกลับเป็น CSV ได้หรือไม่

ส่งออกตารางเป็นไฟล์ dump แล้วแปลงด้วย SQL เป็น CSV หรือใช้ฟังก์ชันส่งออก CSV ของโปรแกรมจัดการฐานข้อมูลเอง ทั้งสองวิธีให้แถวข้อมูลที่โปรแกรมสเปรดชีตเปิดได้อีกครั้ง