คู่มือการใช้งาน SQLite Viewer: เปิดและเรียกดูไฟล์ .db ในเบราว์เซอร์
เรียนรู้วิธีเปิดไฟล์ .db และ .sqlite ในเบราว์เซอร์ด้วย SQLite Viewer เรียกดู table และ schema รัน query แบบ SELECT และส่งออกเป็น CSV — ไม่ต้องอัปโหลด ไม่ต้องติดตั้ง ใช้งานออฟไลน์ได้
Table of Contents
คู่มือการใช้งาน SQLite Viewer: เปิดและเรียกดูไฟล์ .db ในเบราว์เซอร์
ถ้าลองสังเกตดูให้ดี คุณจะพบว่าไฟล์ 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 หรือเครื่องมือวิเคราะห์ข้อมูลใด ๆ