ค้นหา CSV ด้วย SQL

เรียกใช้คำสั่ง SQL โดยตรงบนข้อมูล CSV ของคุณ

เกี่ยวกับ ค้นหา CSV ด้วย SQL

การตอบคำถามอย่าง "เมืองไหนสร้างรายได้มากที่สุดในเดือนที่แล้ว" จาก CSV โดยปกติต้องนำเข้าฐานข้อมูลหรือสร้างตาราง pivot ก่อน เครื่องมือนี้จะโหลด CSV เข้าสู่เอนจิน SQL ที่ทำงานอยู่ในเบราว์เซอร์ (AlaSQL) ทำให้คุณเขียนคำสั่ง SELECT ทั่วไปพร้อม WHERE, GROUP BY, ORDER BY, COUNT, SUM หรือ AVG แล้วดูผลลัพธ์เป็นตาราง จากนั้นดาวน์โหลดเป็น CSV ได้ทันที

วาง CSV เขียนคำสั่งโดยใช้ FROM ? เป็นชื่อตาราง แล้วคลิกรันคำสั่ง เอนจินทำงานอยู่ภายในแท็บเบราว์เซอร์ของคุณ ดังนั้นไฟล์ยอดขาย HR หรือข้อมูลลูกค้าจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ใด ๆ เลย

วิธีใช้ ค้นหา CSV ด้วย SQL ทีละขั้นตอน

  1. วาง CSV ของคุณลงในกล่องข้อมูล แทนที่ตาราง orders ตัวอย่าง บรรทัดแรกต้องมีชื่อคอลัมน์
  2. เขียนคำสั่ง SQL ในกล่องคำสั่ง โดยอ้างอิง CSV ด้วย ? (เครื่องหมายคำถาม) เช่น SELECT * FROM ? WHERE amount > 100
  3. คลิก "รันคำสั่ง" ผลลัพธ์จะปรากฏเป็นตารางด้านล่าง ข้อผิดพลาดของ SQL จะแสดงเป็นสีแดง
  4. คลิก "ดาวน์โหลดผลลัพธ์เป็น CSV" เพื่อบันทึกผลลัพธ์เป็นไฟล์ query_result.csv

ตัวอย่างข้อมูลเข้าและผลลัพธ์

ข้อมูลเข้า

order_id,customer,city,amount
1001,Ana López,Madrid,120.50
1002,John Smith,London,89.90
1004,Luis García,Madrid,65.25

SELECT city, COUNT(*) AS orders, SUM(amount) AS revenue FROM ? GROUP BY city ORDER BY revenue DESC

ผลลัพธ์

city   | orders | revenue
Madrid |      2 |  185.75
London |      1 |   89.9

ทำไมต้องใช้ ค้นหา CSV ด้วย SQL ของเรา?

กรณีการใช้งานทั่วไป

ข้อจำกัดและเคล็ดลับ

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

ทำไมชื่อตารางในคำสั่งจึงเป็น ??

แถวข้อมูลของ CSV จะถูกส่งเข้าเอนจิน SQL ในรูปแบบพารามิเตอร์ และ AlaSQL ใช้เครื่องหมายคำถามเป็นตัวแทนของแหล่งข้อมูลที่ส่งเข้ามาด้วยวิธีนี้ ให้เขียน FROM ? แทนตำแหน่งที่ปกติจะเขียนชื่อตาราง คุณสามารถตั้งชื่อแทน (alias) ด้วย FROM ? AS t ได้หากต้องการ

รองรับฟังก์ชัน SQL อะไรบ้าง?

เอนจินที่ใช้คือ AlaSQL ซึ่งเป็นฐานข้อมูล SQL แบบ JavaScript รองรับ SELECT พร้อม WHERE, GROUP BY, HAVING, ORDER BY, LIMIT และ OFFSET ฟังก์ชันรวมอย่าง COUNT, SUM, AVG, MIN, MAX, DISTINCT, นิพจน์ CASE, LIKE, IN และ BETWEEN รวมถึงฟังก์ชันข้อความและคณิตศาสตร์ เช่น UPPER, LOWER, TRIM, LENGTH, ROUND และ ABS

ทำไม SUM ถึงคืนค่า 0 หรือข้อความที่ต่อกัน?

เพราะคอลัมน์นั้นมีค่าที่ไม่ใช่ตัวเลขล้วน ๆ เช่น 1,200.50 ที่มีเครื่องหมายคั่นหลักพัน สัญลักษณ์สกุลเงิน หรือช่องว่าง มีเพียงเซลล์ที่ตรงกับรูปแบบทศนิยมล้วน เช่น 1200.50 เท่านั้นที่จะถูกแปลงเป็นตัวเลข ให้ทำความสะอาดคอลัมน์นั้นก่อน หรือใช้ CAST ในคำสั่ง

การรัน SQL บน CSV ต่างจากการรันบนฐานข้อมูลจริงอย่างไร?

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

CSV ถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

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

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

เครื่องมือฟรีอื่นๆ ที่อาจเป็นประโยชน์

Available languages