คู่มือการใช้งาน SQLite Viewer: เปิดและเรียกดูไฟล์ .db ในเบราว์เซอร์
เรียนรู้วิธีเปิดไฟล์ .db และ .sqlite ในเบราว์เซอร์ด้วย SQLite Viewer เรียกดู table และ schema รัน query แบบ SELECT และส่งออกเป็น CSV — ไม่ต้องอัปโหลด ไม่ต้องติดตั้ง ใช้งานออฟไลน์ได้
เครื่องมือออนไลน์ฟรี
ตัวดูฐานข้อมูล SQLite
เปิดไฟล์ SQLite ในเบราว์เซอร์ ดูตาราง และรัน SQL query ได้เลย โดยไม่ต้องอัปโหลดไฟล์
Table of Contents
ถ้าลองสังเกตดูให้ดี คุณจะพบว่าไฟล์ SQLite อยู่รอบตัวเรามากมาย แอปมือถือใช้ SQLite เก็บข้อความ แคช และการตั้งค่า แอปเดสก์ท็อปและแอปที่ทำจาก Electron ก็เก็บข้อมูลผู้ใช้ในรูปแบบนี้เช่นกัน แม้แต่เว็บเบราว์เซอร์ของคุณเองก็ใช้ SQLite ทำงานเบื้องหลังในการเก็บประวัติการเข้าชมและข้อมูลอื่น ๆ ถ้าคุณเคยคัดลอกไฟล์ .db หรือ .sqlite ลึกลับออกมาจากอุปกรณ์สักไฟล์ แปลว่าคุณกำลังจับรูปแบบฐานข้อมูลที่ถูกใช้งานแพร่หลายที่สุดในโลกอยู่
ปัญหาคือการเปิดไฟล์เหล่านี้เพื่อดูข้างใน สักไม่กี่ปีก่อน การส่องดูไฟล์ SQLite มักต้องติดตั้งโปรแกรมบนเดสก์ท็อปหรือใช้ command line ซึ่งไม่สะดวกนักบนเครื่องที่จำกัดสิทธิ์ และก็รู้สึกเกินจำเป็นเมื่อคุณแค่อยากแอบดูข้อมูลสักไม่กี่แถว SQLite Viewer ขจัดอุปสรรคนี้ไปทั้งหมด — ลากไฟล์ .db มาวางในเบราว์เซอร์ แล้วเริ่มเรียกดู table รัน query และส่งออกข้อมูลได้ภายในไม่กี่วินาที
เครื่องมือนี้ทำงานด้วย SQL.js ซึ่งเป็น SQLite ที่ถูกคอมไพล์เป็น WebAssembly ทำให้ database engine ทั้งตัวรันอยู่ในเครื่องของคุณภายในแท็บเบราว์เซอร์ ไม่มีการอัปโหลด ไม่ต้องสมัครบัญชี และใช้งานต่อได้แม้ไม่มีอินเทอร์เน็ตหลังจากโหลดหน้าเว็บแล้ว คู่มือนี้จะพาคุณไปทีละขั้นตอน ตั้งแต่วิธีใช้งาน ไฟล์ SQLite มักซ่อนอยู่ที่ไหน ไปจนถึงรูปแบบ query ที่ช่วยให้คุณได้คำตอบเร็วที่สุด
ทำไมต้องใช้ SQLite Viewer?
- เป็นส่วนตัวตั้งแต่การออกแบบ: ไฟล์ถูกประมวลผลด้วย SQL.js ที่รันเป็น WebAssembly ภายในเบราว์เซอร์ ไม่มีขั้นตอนอัปโหลดและไม่มีเซิร์ฟเวอร์ ฐานข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลแอป คลังข้อความ หรือโปรไฟล์เบราว์เซอร์ จึงไม่หลุดออกจากเครื่องของคุณ
- ไม่ต้องติดตั้งอะไร: ไม่ต้องมี DB Browser for SQLite ไม่ต้องมีเครื่องมือ sqlite3 บน command line หรือสภาพแวดล้อมนักพัฒนาใด ๆ แท็บเบราว์เซอร์หน้าเดียวคือทั้งหมดที่ต้องการ
- อ่านอย่างเดียวตั้งแต่ต้น: viewer รับเฉพาะคำสั่ง SELECT จึงเผลอทำไฟล์ที่กำลังส่องดูเสียหายไม่ได้ ไฟล์ต้นฉบับบนดิสก์ไม่ถูกแก้ไขเด็ดขาด
- เห็น schema ได้ทันที: ระบบแสดงรายชื่อ table และคอลัมน์ให้พร้อมใช้ คุณจึงสำรวจฐานข้อมูลที่ไม่คุ้นเคยได้โดยไม่ต้องจำคำสั่ง PRAGMA
- พลังของ SQL แบบเต็มรูปแบบ: เพราะในหน้าเว็บรัน SQLite engine จริง คุณจึงใช้ภาษา SQL ได้ครบทุกฟีเจอร์ ทั้ง WHERE, JOIN, GROUP BY, ORDER BY, function และ subquery
- ส่งออก CSV ทันที: ผลลัพธ์ query ใด ๆ ก็ดาวน์โหลดเป็นไฟล์ CSV ได้ในคลิกเดียว พร้อมเปิดใน Excel, Google Sheets หรือเครื่องมือวิเคราะห์ข้อมูลอื่น
คุณสมบัติเด่น
| คุณสมบัติ | คำอธิบาย |
|---|---|
| รองรับไฟล์ | เปิดไฟล์ .db, .sqlite และ .sqlite3 ผ่าน SQL.js (WebAssembly) |
| เรียกดู table | คลิก table ไหนก็ได้เพื่อดูข้อมูลเป็นหน้า ๆ โดยไม่ต้องเขียน SQL |
| ตรวจสอบ schema | เห็นชื่อ table ชื่อคอลัมน์ และชนิดข้อมูลได้ในภาพเดียว |
| รัน query | รันคำสั่ง SELECT ใด ๆ กับฐานข้อมูลที่โหลดไว้ |
| ส่งออก CSV | ดาวน์โหลดชุดผลลัพธ์ปัจจุบันเป็นไฟล์ CSV ที่เปิดในสเปรดชีตได้เลย |
| ทำงานในเครื่อง 100% | การ parse และ query ทั้งหมดเกิดขึ้นในเบราว์เซอร์ ไม่มีการอัปโหลด |
| ใช้งานออฟไลน์ได้ | หลังโหลดแล้ว เครื่องมือทำงานต่อได้แม้ไม่มีการเชื่อมต่อเครือข่าย |
บางคุณสมบัติควรเน้นย้ำเป็นพิเศษ เพราะ SQL.js คอมไพล์ SQLite engine ตัวจริงมาเป็น WebAssembly ผลลัพธ์ที่ได้จึงตรงกับสิ่งที่ shell ของ sqlite3 จะคืนค่า — นี่ไม่ใช่ตัว parse จำลอง และเพราะเครื่องมืออ่านอย่างเดียว คุณจึงชี้ไปที่ไฟล์สำคัญได้อย่างมั่นใจ ผลร้ายแรงที่สุดของ query ที่เขียนผิดคือข้อความ error ไม่ใช่ฐานข้อมูลที่เสียหาย
วิธีการใช้งาน
ขั้นตอนที่ 1: เปิดเครื่องมือและโหลดไฟล์
เปิด SQLite Viewer แล้วลากไฟล์ .db หรือ .sqlite ของคุณมาวางบนจุด drop หรือคลิกเพื่อเลือกไฟล์ ไฟล์จะถูกอ่านเข้าสู่หน่วยความจำของเบราว์เซอร์ทันที ลองเปิดแท็บ Network ดูก็ได้ — ไม่มี request ใดถูกส่งออกไป
ขั้นตอนที่ 2: เรียกดู table
เมื่อโหลดเสร็จ เครื่องมือจะแสดงรายชื่อ table ทั้งหมดในฐานข้อมูล คลิกชื่อ table เพื่อดูข้อมูลเป็นตาราง นี่คือวิธีเร็วที่สุดในการทำความรู้จักไฟล์ที่ไม่คุ้นเคย คุณจะเห็นว่าแต่ละ table เก็บข้อมูลประเภทไหนโดยไม่ต้องเขียน query สักคำสั่ง
ขั้นตอนที่ 3: ตรวจสอบ schema
ก่อนเขียน query เอง ให้ดู schema ก่อนว่าแต่ละคอลัมน์ชื่ออะไรและเก็บข้อมูลชนิดใด การรู้ว่า timestamp ถูกเก็บเป็นข้อความหรือตัวเลข หรือว่า ID เป็น integer หรือไม่ จะช่วยประหยัดเวลาจาก query ที่รันแล้วได้ผลลัพธ์ว่างเปล่า
ขั้นตอนที่ 4: รัน query แบบ SELECT
พิมพ์ query ลงในช่อง editor — อะไรก็ได้ที่ขึ้นต้นด้วย SELECT — แล้วสั่งรัน ผลลัพธ์จะแสดงเป็นตารางด้านล่าง query แรกที่ดีคือการดูตัวอย่างแบบกรอง เช่น SELECT * FROM users ORDER BY id DESC LIMIT 20
ขั้นตอนที่ 5: ส่งออกผลลัพธ์เป็น CSV
พอใจกับชุดผลลัพธ์แล้วหรือยัง? คลิกปุ่มส่งออกเพื่อดาวน์โหลดเป็นไฟล์ CSV ซึ่งเปิดได้ทันทีใน Excel, Google Sheets, Numbers หรือเครื่องมือ BI ใด ๆ ทำให้ viewer นี้เป็นขั้นตอนดึงข้อมูลที่สะดวกใน workflow ที่ใหญ่กว่า
ไฟล์ SQLite รอบตัวเรา
ไฟล์ .db มาจากไหน
SQLite เป็น storage engine ค่าเริ่มต้นของซอฟต์แวร์หลายหมวดหมู่ ไฟล์ .db จึงปรากฏในจุดที่คาดเดาได้ ดังนี้
- แอปมือถือ: Android มี SQLite ในตัว และ iOS ใช้งานผ่าน Core Data การดึง data directory ของแอป (บนอุปกรณ์ที่คุณเป็นเจ้าของ) มักเจอไฟล์ .db หนึ่งหรือหลายไฟล์ที่เต็มไปด้วยสถานะของแอป
- แอป Electron และแอปเดสก์ท็อป: แอปแชท แอปจดโน้ต editor และเครื่องมือจัดรหัสผ่าน มักเก็บข้อมูล local ใน SQLite เพราะฝังในตัวแอปได้ ทำงานเร็ว และไม่ต้องมีเซิร์ฟเวอร์
- เบราว์เซอร์: Chrome, Firefox และ Safari เก็บประวัติ favicon cookie และข้อมูลประเภทคล้ายกันในฐานข้อมูล SQLite ภายในโฟลเดอร์โปรไฟล์ เป็นไฟล์คลาสสิกสำหรับส่องดูว่าแอปพลิเคชันบันทึกอะไรจริง ๆ
- อุปกรณ์ embedded และ IoT: router กล้อง และบอร์ดคอมพิวเตอร์ขนาดเล็ก มักบันทึก log ลง SQLite เพราะรูปแบบไฟล์เป็นหน่วยเดียวที่พกพาสะดวก
ทำไมการอ่านอย่างเดียว (SELECT-only) ถึงเป็นข้อดี
viewer รับเฉพาะคำสั่ง SELECT โดยตั้งใจ นี่ไม่ใช่ข้อจำกัดที่ต้องหาทางลัดเลี่ยง แต่คือจุดประสงค์หลัก ฐานข้อมูล SQLite ที่กำลังใช้งานมักมี journal file (-wal, -shm) วางอยู่ข้างไฟล์หลัก และการเขียนลงฐานข้อมูลนอกเหนือจากแอปที่เป็นเจ้าของอาจทำให้ไฟล์เสียหายได้ เครื่องมือแบบ read-only ตัดความเสี่ยงนี้ออกทั้งหมด คำสั่ง INSERT, UPDATE, DELETE และการแก้ schema จะถูกปฏิเสธก่อนสร้างความเสียหาย และไฟล์บนดิสก์ไม่ถูกแตะต้องเลย
อ่าน schema ก่อนเสมอ
เมื่อเปิดฐานข้อมูลที่ไม่คุ้นเคย อย่าเพิ่งรีบ query แบบมั่ว ๆ ให้เรียกดูรายชื่อ table ดูชื่อคอลัมน์และชนิดข้อมูลก่อน แล้วคุณมักเข้าใจโครงสร้างข้อมูลของแอปได้ภายในหนึ่งนาที ชื่อคอลัมน์อย่าง created_at, user_id และ synced บอกได้ว่าแอปมองข้อมูลของตัวเองอย่างไร ซึ่งก็คือสิ่งที่คุณต้องรู้เพื่อเขียน query ที่ให้ประโยชน์
รูปแบบ SELECT ที่ใช้บ่อย
สาม query ครอบคลุมงานสำรวจส่วนใหญ่ อันแรกคือการแสดงรายชื่อ table ทั้งหมดในไฟล์:
SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name;
อันที่สองคือการนับจำนวนแถวของ table เพื่อรู้ว่าข้อมูลมีปริมาณเท่าไร:
SELECT COUNT(*) AS total_rows FROM messages;
อันที่สามคือการค้นหาข้อความในคอลัมน์ — ขาดไม่ได้เวลาตามหา record เฉพาะตัว:
SELECT id, sender, body, created_at FROM messages WHERE body LIKE '%error%' ORDER BY created_at DESC LIMIT 50;
รัน query เหล่านี้ ตรวจผลลัพธ์ในตาราง แล้วส่งออกเป็น CSV หากต้องนำไปใช้ในสเปรดชีตสำหรับการกรอง สร้าง pivot table หรือทำแผนภูมิ
กรณีการใช้งานจริง
1. ส่องดูฐานข้อมูลของแอป
อยากรู้ไหมว่าแอปพลิเคชันเก็บข้อมูลอะไรเกี่ยวกับคุณบ้าง? เปิดฐานข้อมูลของมันแล้วดูสักหน่อย คุณจะเห็นคีย์การตั้งค่า เนื้อหาแคช และบันทึกการใช้งานโดยตรง ซึ่งให้ข้อมูลมากกว่าการอ่านเอกสาร และเป็นส่วนตัวกว่าการอัปโหลดไฟล์ไปยังเว็บบริการสุ่มสี่สุ่มห้าใด ๆ
2. ดีบักพื้นที่จัดเก็บในตัวของแอป
ถ้าคุณพัฒนาแอปมือถือหรือแอป Electron SQLite Viewer เป็นวิธีเช็คอย่างรวดเร็วว่าโค้ดของคุณเขียนอะไรลงไปจริง โหลด test fixture หรือสำเนาฐานข้อมูลของแอป ยืนยันว่าข้อมูลลงถูกที่ และดูว่า timestamp กับการเข้ารหัสอักขระถูกต้องหรือไม่ — โดยไม่ต้องเพิ่ม logging หรือติดตั้งเครื่องมือเพิ่ม
3. ตรวจสอบการกู้คืนข้อมูล
หลังกู้ไฟล์จากดิสก์ที่กำลังเสียหรือจาก backup คุณมักต้องรู้ว่าฐานข้อมูลยังอ่านได้อยู่หรือไม่ การโหลดเข้า viewer ตอบคำถามนี้ได้ทันที: ถ้ารายชื่อ table ปรากฏและการนับแถวคืนค่าที่สมเหตุสมผล แปลว่าไฟล์รอดมาได้ การส่งออก table สำคัญเป็น CSV ทันทียังให้สำเนาสำรองที่สองของข้อมูลชิ้นสำคัญด้วย
4. สอนและเรียน SQL
ฐานข้อมูลจริงที่มีข้อมูลจริงคือวิธีเรียน SELECT ที่ดีที่สุด โหลดไฟล์ .db ไหนก็ได้แล้วลองทดลองอย่างอิสระ — เพราะเครื่องมืออ่านอย่างเดียว นักเรียนจึงทำอะไรพังไม่ได้ และเพราะรันในเครื่อง ห้องเรียนที่อินเทอร์เน็ตไม่เสถียรก็ยังใช้งานแบบออฟไลน์ได้
แนวทางปฏิบัติที่ดี
- ทำงานกับสำเนาเสมอ เครื่องมือไม่เขียนลงไฟล์ของคุณ แต่การคัดลอก .db ก่อนวิเคราะห์คือประกันราคาศูนย์บาทจากความผิดพลาดที่เกิดนอกเครื่องมือ
- รักษา mind-set แบบ read-only ให้ถือว่าฐานข้อมูลทุกไฟล์ที่คุณไม่ใช่ผู้สร้างคือหลักฐานที่ยังมีชีวิต: สำรวจและ query ได้ แต่อย่าเผลอไป "แก้" ข้อมูลด้วยวิธีอื่นขณะที่แอปเจ้าของอาจเปิดไฟล์อีกครั้ง
- ระวังขนาดไฟล์ ฐานข้อมูลทั้งไฟล์จะถูกโหลดเข้าหน่วยความจำ WebAssembly ในแท็บของคุณ ไฟล์ขนาดไม่กี่สิบเมกะไบต์ใช้งานสบาย ส่วนฐานข้อมูลหลายร้อยเมกะไบต์อาจทำให้หน่วยความจำของเบราว์เซอร์ไม่พอ กรณีนั้นให้ query ผ่าน CLI ของ sqlite3 บนเครื่องของคุณแทน
- ส่งออกก่อนเริ่มทดลอง เมื่อ query คืนผลลัพธ์ที่ต้องการพอดี ให้ส่งออกเป็น CSV ทันที ใช้เวลาคลิกเดียว และรับประกันว่าคุณเก็บ snapshot ไว้ได้แม้จะปิดแท็บไปแล้ว
- เช็ค sidecar file ด้วย ถ้ามีไฟล์ -wal วางอยู่ข้าง .db ของคุณ ธุรกรรมล่าสุดอาจยังไม่อยู่ในไฟล์หลัก ให้รัน checkpoint ผ่าน CLI ของ sqlite3 ก่อนหากต้องการข้อมูลที่ใหม่ที่สุด
- ปิดแท็บเมื่อใช้เสร็จ หน่วยความจำของเบราว์เซอร์มีจำกัด ปิดแท็บเมื่อทำงานเสร็จ อย่าปล่อยฐานข้อมูลขนาดใหญ่โหลดค้างไว้นานเกินจำเป็น
เริ่มสำรวจฐานข้อมูลของคุณวันนี้
ไฟล์ .db บนเดสก์ท็อปของคุณไม่จำเป็นต้องรอโปรแกรมเดสก์ท็อปหรือ terminal อีกต่อไป เปิด SQLite Viewer วางไฟล์ลงไป แล้วเริ่มเรียกดู table ได้ในไม่กี่วินาที — เป็นส่วนตัว ใช้แบบออฟไลน์ได้ และไม่มีความเสี่ยงต่อข้อมูลต้นฉบับ
เครื่องมือที่เกี่ยวข้องที่คุณอาจชอบ:
- JSON Formatter — พิมพ์สวยงาม ตรวจสอบ และบีบอัด JSON
- CSV to JSON Converter — แปลงข้อมูลที่ส่งออกแล้วระหว่างรูปแบบ CSV และ JSON
- File Type Detector — ระบุชนิดไฟล์ที่แท้จริงของไฟล์ลึกลับจากไบต์ข้างใน
ขอให้สนุกกับการ query!
คำถามที่พบบ่อย
ถ: การเปิดไฟล์ฐานข้อมูลจากแอปที่ไม่ได้ไว้ใจเต็มร้อยปลอดภัยหรือไม่?
ตอบ: การประมวลผลเกิดขึ้นทั้งหมดในเบราว์เซอร์ของคุณผ่าน WebAssembly และไฟล์ไม่ถูกอัปโหลดไปที่ใดเลย viewer ยังรันเฉพาะ query แบบ read-only จึงแก้ไขไฟล์ไม่ได้ แต่ตามธรรมเนียมที่ดี ควรเปิดสำเนาแทนไฟล์ต้นฉบับอยู่ดี
ถ: รันคำสั่ง INSERT, UPDATE หรือ DELETE ได้หรือไม่?
ตอบ: ไม่ได้ เครื่องมือรับเฉพาะคำสั่ง SELECT เพื่อปกป้องทั้งไฟล์บนดิสก์และ journal file ที่เป็นของแอปพลิเคชันซึ่งสร้างฐานข้อมูลนั้นไว้
ถ: รองรับไฟล์ .db ขนาดใหญ่แค่ไหน?
ตอบ: ฐานข้อมูลจะถูกโหลดเข้าหน่วยความจำของเบราว์เซอร์ ดังนั้นขีดจำกัดจริงขึ้นอยู่กับเครื่องของคุณ ไฟล์ระดับสิบกว่าเมกะไบต์ใช้งานสบาย ไฟล์ขนาดใหญ่มากอาจทำให้หน่วยความจำของแท็บไม่พอ กรณีนั้นให้ใช้เครื่องมือ command line ของ sqlite3 บนเครื่องของคุณเอง
ถ: เครื่องมืออ่านไฟล์ -wal และ -shm ที่อยู่ข้างฐานข้อมูลด้วยหรือไม่?
ตอบ: ไม่ ระบบอ่านเฉพาะไฟล์หลัก .db หรือ .sqlite เท่านั้น ถ้าแอปต้นทางเพิ่งทำงานเมื่อไม่นานมานี้ ให้รัน checkpoint ผ่าน CLI ของ sqlite3 ก่อน เพื่อให้ธุรกรรมล่าสุดถูกรวมเข้าไฟล์หลักก่อน
ถ: นำผลลัพธ์ query ไปใส่ Excel หรือ Google Sheets ได้ไหม?
ตอบ: ได้ ส่งออกชุดผลลัพธ์ใด ๆ เป็นไฟล์ CSV ได้ในคลิกเดียว แล้วนำเข้าหรือเปิดได้ทันทีใน Excel, Google Sheets, Numbers หรือเครื่องมือวิเคราะห์ข้อมูลใด ๆ