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

ดึงข้อมูลบางรายการจากตารางอย่างน้อยหนึ่งตาราง