SQLite - ภาพรวม
บทนี้จะช่วยให้คุณเข้าใจว่า SQLite คืออะไรแตกต่างจาก SQL อย่างไรเหตุใดจึงจำเป็นต้องใช้และวิธีจัดการฐานข้อมูลแอปพลิเคชัน
SQLite เป็นไลบรารีซอฟต์แวร์ที่ใช้เอ็นจินฐานข้อมูล SQL แบบทรานแซคชันแบบไม่มีเซิร์ฟเวอร์ไม่มีเซิร์ฟเวอร์ SQLite เป็นหนึ่งในเครื่องมือฐานข้อมูลที่เติบโตเร็วที่สุด แต่นั่นคือการเติบโตในแง่ของความนิยมไม่ใช่อะไรที่เกี่ยวข้องกับขนาดของมัน ซอร์สโค้ดสำหรับ SQLite อยู่ในโดเมนสาธารณะ
SQLite คืออะไร?
SQLite เป็นไลบรารีในกระบวนการที่ใช้เอ็นจินฐานข้อมูล SQL แบบทรานแซคชันไม่มีเซิร์ฟเวอร์ไม่มีการกำหนดค่าเป็นศูนย์ เป็นฐานข้อมูลที่ไม่มีการกำหนดค่าซึ่งหมายความว่าเหมือนกับฐานข้อมูลอื่น ๆ ที่คุณไม่จำเป็นต้องกำหนดค่าในระบบของคุณ
SQLite engine ไม่ใช่กระบวนการแบบสแตนด์อโลนเหมือนกับฐานข้อมูลอื่น ๆ คุณสามารถเชื่อมโยงแบบคงที่หรือแบบไดนามิกตามความต้องการของคุณกับแอปพลิเคชัน SQLite เข้าถึงไฟล์จัดเก็บข้อมูลโดยตรง
ทำไมต้อง SQLite
SQLite ไม่ต้องการกระบวนการเซิร์ฟเวอร์หรือระบบแยกต่างหากในการดำเนินการ (แบบไร้เซิร์ฟเวอร์)
SQLite มาพร้อมกับการกำหนดค่าเป็นศูนย์ซึ่งหมายความว่าไม่จำเป็นต้องมีการตั้งค่าหรือการดูแลระบบ
ฐานข้อมูล SQLite ที่สมบูรณ์จะถูกเก็บไว้ในไฟล์ดิสก์ข้ามแพลตฟอร์มเดียว
SQLite มีขนาดเล็กมากและน้ำหนักเบาน้อยกว่า 400KiB ที่กำหนดค่าไว้อย่างสมบูรณ์หรือน้อยกว่า 250KiB โดยไม่ใส่คุณสมบัติเสริม
SQLite มีอยู่ในตัวซึ่งหมายความว่าไม่มีการอ้างอิงภายนอก
ธุรกรรม SQLite เป็นไปตาม ACID โดยสมบูรณ์ทำให้สามารถเข้าถึงได้อย่างปลอดภัยจากหลายกระบวนการหรือเธรด
SQLite สนับสนุนคุณลักษณะภาษาแบบสอบถามส่วนใหญ่ที่พบในมาตรฐาน SQL92 (SQL2)
SQLite เขียนด้วย ANSI-C และมี API ที่เรียบง่ายและใช้งานง่าย
SQLite พร้อมใช้งานบน UNIX (Linux, Mac OS-X, Android, iOS) และ Windows (Win32, WinCE, WinRT)
SQLite ประวัติโดยย่อ
2000 - D. Richard Hipp ออกแบบ SQLite เพื่อวัตถุประสงค์ในการดูแลระบบที่ไม่จำเป็นสำหรับการใช้งานโปรแกรม
2000 - ในเดือนสิงหาคม SQLite 1.0 เปิดตัวพร้อม GNU Database Manager
2554 - Hipp ประกาศเพิ่มอินเทอร์เฟซ UNQl ให้กับ SQLite DB และพัฒนา UNQLite (ฐานข้อมูลเชิงเอกสาร)
ข้อ จำกัด SQLite
มีคุณสมบัติที่ไม่รองรับบางประการของ SQL92 ใน SQLite ซึ่งแสดงอยู่ในตารางต่อไปนี้
ซีเนียร์ | คุณลักษณะและคำอธิบาย |
---|---|
1 | RIGHT OUTER JOIN ใช้เฉพาะ LEFT OUTER JOIN เท่านั้น |
2 | FULL OUTER JOIN ใช้เฉพาะ LEFT OUTER JOIN เท่านั้น |
3 | ALTER TABLE รองรับรูปแบบ RENAME TABLE และ ADD COLUMN ของคำสั่ง ALTER TABLE ไม่รองรับ DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT |
4 | Trigger support สำหรับทริกเกอร์แต่ละแถวได้รับการสนับสนุน แต่ไม่ใช่สำหรับทริกเกอร์แต่ละรายการ |
5 | VIEWs VIEW ใน SQLite เป็นแบบอ่านอย่างเดียว คุณไม่สามารถดำเนินการคำสั่ง DELETE, INSERT หรือ UPDATE ในมุมมองได้ |
6 | GRANT and REVOKE สิทธิ์การเข้าถึงเดียวที่สามารถใช้ได้คือสิทธิ์การเข้าถึงไฟล์ปกติของระบบปฏิบัติการที่ใช้อยู่ |
คำสั่ง SQLite
คำสั่ง SQLite มาตรฐานเพื่อโต้ตอบกับฐานข้อมูลเชิงสัมพันธ์คล้ายกับ SQL พวกเขาสร้างเลือกแทรกอัปเดตลบและปล่อย คำสั่งเหล่านี้สามารถแบ่งออกเป็นกลุ่มตามลักษณะการทำงาน -
DDL - ภาษานิยามข้อมูล
ซีเนียร์ | คำสั่งและคำอธิบาย |
---|---|
1 | CREATE สร้างตารางใหม่มุมมองของตารางหรือวัตถุอื่น ๆ ในฐานข้อมูล |
2 | ALTER แก้ไขอ็อบเจ็กต์ฐานข้อมูลที่มีอยู่เช่นตาราง |
3 | DROP ลบทั้งตารางมุมมองของตารางหรือวัตถุอื่น ๆ ในฐานข้อมูล |
DML - ภาษาการจัดการข้อมูล
ซีเนียร์ | คำสั่งและคำอธิบาย |
---|---|
1 | INSERT สร้างบันทึก |
2 | UPDATE แก้ไขบันทึก |
3 | DELETE ลบบันทึก |
DQL - ภาษาแบบสอบถามข้อมูล
ซีเนียร์ | คำสั่งและคำอธิบาย |
---|---|
1 | SELECT ดึงข้อมูลบางรายการจากตารางอย่างน้อยหนึ่งตาราง |