SQLite ไม่มีโมเดลฐานข้อมูลไคลเอ็นต์-เซิร์ฟเวอร์ ซึ่งทำให้ไม่จำเป็นต้องติดตั้งและจัดการ มันทำงานในหน่วยความจำ ซึ่งช่วยให้คุณเรียกใช้ฐานข้อมูลโดยไม่ต้องมีเซิร์ฟเวอร์ใดๆ SQLite มีเชลล์แบบโต้ตอบที่คุณสามารถใช้เพื่อโต้ตอบกับฐานข้อมูลและเอ็นจิน SQLite
บทช่วยสอนนี้จะครอบคลุมการใช้เชลล์ SQLite เพื่อสร้างฐานข้อมูล สร้างตาราง และแทรกข้อมูล
รับ SQLite Shell
ในการรับ SQLite สำหรับระบบ Linux ของคุณ ให้เปิดเบราว์เซอร์และไปที่:
https://www.sqlite.org/download.html
เลือกเครื่องมือ SQLite สำหรับระบบของคุณและดาวน์โหลด เมื่อคุณคลายซิปไฟล์เก็บถาวร คุณควรมีไบนารีของ sqlite3 ในการเปิดใช้เชลล์ SQLite ให้รันไบนารี sqlite3
คุณยังสามารถติดตั้ง SQLite โดยใช้ตัวจัดการแพ็คเกจของคุณ ในการติดตั้งโดยใช้ apt ให้ใช้คำสั่ง:
sudo apt-get update
sudo apt-get installsqlite3
SQLite Shell
เชลล์ SQLite เป็นเครื่องมือบรรทัดคำสั่งง่ายๆ ที่ให้คุณเรียกใช้การสืบค้น SQL ดิบกับฐานข้อมูลหรือไฟล์ zip เป็นไฟล์ฐานข้อมูล
เรียกใช้เชลล์ด้วยคำสั่ง:
# sqlite3SQLite เวอร์ชัน 3.27.22019-02-25 16: 06: 06
เข้า'.ช่วย' สำหรับคำแนะนำการใช้งาน
เชื่อมต่อกับฐานข้อมูลในหน่วยความจำชั่วคราว
ใช้'.open FILENAME'เพื่อเปิดอีกครั้งบนฐานข้อมูลถาวร
sqlite>
เมื่อคุณอยู่ใน SQLite Shell แล้ว คุณสามารถเริ่มดำเนินการคำสั่งได้ พิมพ์คำสั่ง .help เพื่อดูวิธีใช้คำสั่งเชลล์:
sqlite>.ช่วย.archive ... จัดการไฟล์เก็บถาวรของ SQL
.auth เปิด|ปิด แสดงการเรียกกลับของผู้อนุญาต
.สำรองข้อมูล ?DB? ไฟล์สำรอง DB(ค่าเริ่มต้น'หลัก')ไปที่ไฟล์
.ประกันตัว|ปิด หยุดหลังจากกดปุ่มผิดพลาด ค่าเริ่มต้น OFF
.binary บน|ปิด เปิดหรือปิดเอาต์พุตไบนารี ค่าเริ่มต้น OFF
.cd DIRECTORY เปลี่ยนไดเร็กทอรีการทำงานเป็น DIRECTORY
.changes on|ปิด แสดงจำนวนแถวที่เปลี่ยนโดย SQL
.check GLOB ล้มเหลวถ้าเอาต์พุตเนื่องจาก .testcase ไม่ตรงกัน
.clone NEWDB โคลนข้อมูลลงใน NEWDB จากฐานข้อมูลที่มีอยู่
.databases รายชื่อและไฟล์ของฐานข้อมูลที่แนบมา
.dbconfig ?op? ?วาล? แสดงรายการหรือเปลี่ยน sqlite3_db_config()ตัวเลือก
.dbinfo ?DB? แสดงข้อมูลสถานะเกี่ยวกับฐานข้อมูล
.dump?ตาราง? ... แสดงเนื้อหาฐานข้อมูลทั้งหมดเช่นSQL
.echo บน|ปิด Turnสั่งการ โยนออกเปิดหรือปิด
.eqp บน|ปิด|เต็ม|... เปิดหรือปิดอัตโนมัติ EXPLAIN QUERY PLAN
-------------------------------------------------- --------------------
เป็นการดีที่จะทราบว่าคำสั่ง .help จะไม่แสดงการสืบค้น SQL ที่คุณสามารถดำเนินการกับฐานข้อมูลได้ คำสั่ง dot เป็นคำสั่งแบบบรรทัดเดียวที่กำหนดค่าหรือโต้ตอบกับเชลล์โดยตรง
หากต้องการรับรายการฐานข้อมูลทั้งหมดขณะอยู่ในเชลล์ SQLite ให้ใช้คำสั่ง .databases
sqlite>.databases หลัก:เป็นการดีที่จะทดลองกับเชลล์ SQLite เพื่อเรียนรู้วิธีกำหนดค่าและโต้ตอบกับเชลล์ หากคุณต้องการคำแนะนำโดยละเอียด ให้พิจารณาเอกสารประกอบของ SQLite:
วิธีสร้างฐานข้อมูล SQLite
ในการสร้างฐานข้อมูล SQLite สิ่งที่คุณต้องทำคือเรียกคำสั่ง sqlite3 ตามด้วยชื่อฐานข้อมูลที่คุณต้องการสร้าง โปรดทราบว่าหากมีฐานข้อมูลที่ระบุอยู่ SQLite จะเปิดฐานข้อมูลภายในเชลล์
ไวยากรณ์ทั่วไปในการสร้างฐานข้อมูลมีดังนี้:
sqlite3 dbName.dbตัวอย่างเช่น ในการสร้างฐานข้อมูล movies.db ให้ใช้คำสั่ง:
sqlite3 movies.dbSQLite เวอร์ชัน 3.27.22019-02-25 16:06:06 เข้าสู่'.ช่วย' สำหรับคำแนะนำการใช้งาน
sqlite>
การดำเนินการคำสั่งนี้จะสร้างฐานข้อมูลหากไม่มีอยู่หรือเปิดขึ้นหากมีฐานข้อมูล ในการดูฐานข้อมูล ใช้คำสั่ง .databases เป็น:
sqlite>.databases หลัก:/บ้าน/เดเบียน/ภาพยนตร์.dbการแนบฐานข้อมูล
SQLite ช่วยให้คุณสามารถแนบฐานข้อมูลเพื่อทำหน้าที่เฉพาะภายใต้ฐานข้อมูลได้ การใช้แบบสอบถามฐานข้อมูล ATTACH เราสามารถแนบฐานข้อมูลเป็น:
sqlite>แนบฐานข้อมูล'movies.db' เช่น 'umovies.db';sqlite>.databases
หลัก:/บ้าน/เดเบียน/ภาพยนตร์.db
umovies.db:/บ้าน/เดเบียน/ภาพยนตร์.db
คำสั่ง as ตั้งค่านามแฝงสำหรับแนบฐานข้อมูล เป็นเรื่องดีที่จะทราบว่าหากไม่มีฐานข้อมูลที่แนบมา SQLite จะสร้างฐานข้อมูลโดยอัตโนมัติ
เมื่อต้องการแยกฐานข้อมูล ให้ใช้แบบสอบถาม DETACH DATABASE ตัวอย่างเช่น:
ถอดฐานข้อมูล umovies.db;บันทึก: ชื่อฐานข้อมูลบางชื่อที่ใช้ในบทช่วยสอนนี้มีไว้เพื่อการสาธิตเท่านั้น และอาจไม่รวมแบบแผนการตั้งชื่อที่ยอมรับ
SQLite สร้างตาราง
ในการสร้างตารางในฐานข้อมูล SQLite เราใช้แบบสอบถาม CREATE TABLE ตามด้วยชื่อตาราง ไวยากรณ์ทั่วไปคือ:
สร้างตาราง db_name.tb_name(ประเภทข้อมูล column_name คีย์หลัก(คอลัมน์(NS)),
ประเภทข้อมูล column_name2,
...
column_nameN ประเภทข้อมูล
);
ตัวอย่างเช่น ให้เราสร้างโปรแกรมฐานข้อมูลและสร้างตารางภาษาที่มีข้อมูลที่เกี่ยวข้องดังนี้:
sqlite3 programming.db sqlite>สร้างภาษาตาราง(...> NSการปรับอัตโนมัติของคีย์หลักจำนวนเต็ม
...>ชื่อข้อความไม่ใช่ค่าว่าง
...>ผู้สร้างข้อความ
...>ปีจำนวนเต็มไม่เป็นค่าว่าง
...>เวอร์ชั่น TEXT ...> );
เมื่อต้องการตรวจสอบความสำเร็จของการสร้างตาราง ให้ใช้คำสั่ง .tables SQLite เพื่อแสดงรายการตารางทั้งหมดในฐานข้อมูล:
sqlite>.tables ภาษาหากต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับตาราง ให้ใช้คำสั่ง .schema ตามด้วยชื่อตาราง
sqlite>.schema ภาษา CREATE TABLE ภาษา(NSการปรับอัตโนมัติของคีย์หลักจำนวนเต็ม
ชื่อข้อความไม่ใช่ค่าว่าง
ผู้สร้างข้อความ
ปีจำนวนเต็มไม่เป็นค่าว่าง
เวอร์ชัน TEXT
);
SQLite แทรกข้อมูล
ในการแทรกแถวข้อมูลใหม่ลงในตาราง เราใช้แบบสอบถาม INSERT INTO ไวยากรณ์ทั่วไปสำหรับคำสั่งนี้คือ:
INSERT INTO TABLE_NAME VALUES(VAR1,VAR2,VAR3,…VARN);ตัวอย่างเช่น ในการเพิ่มข้อมูลลงในตารางภาษาที่สร้างขึ้นด้านบน ให้ใช้แบบสอบถามด้านล่าง:
sqlite>INSERT INTO ภาษา...>ค่า(1,'งูหลาม',กุยโด ฟาน รอสซัม,1991,'0.9.1');
ดำเนินการต่อเพื่อเติมข้อมูลในตารางฐานข้อมูล
sqlite>INSERT INTO ภาษา...>ค่า(2,'จาวาสคริปต์','เบรนแดน ไอช์',1995,'อีซีเอ็มเอ 1');
เพื่อยืนยันการสร้างข้อมูลสำเร็จ คุณสามารถใช้แบบสอบถาม SELECT:
sqlite>เลือก*จากภาษา;1 |Python|กุยโด ฟาน รอสซัม| 1991 |0.9.12 |JavaScript|Brendan Eich| 1995 |ECMA1
SQLite ลบข้อมูล
ในการลบข้อมูลในตาราง เราสามารถใช้แบบสอบถาม DELETE ตามด้วย WHERE และเงื่อนไข ไวยากรณ์ทั่วไปคือ:
ลบออกจาก tb_name WHERE{สภาพ};ตัวอย่างเช่น หากต้องการลบข้อมูลที่ id เท่ากับ 1 เราสามารถใช้เคียวรีได้
sqlite>ลบจากภาษาที่NS=1;เพื่อยืนยันการลบข้อมูลสำเร็จ เราสามารถใช้แบบสอบถาม SELECT ดังที่แสดงด้านบน
sqlite>เลือก*จากภาษา;2 |JavaScript|Brendan Eich| 1995 |ECMA1
สิ่งนี้จะลบแถวที่ id = 1 ในกรณีนี้ รายการ Python
บทสรุป
ในบทช่วยสอนนี้ เราได้พูดถึงวิธีการตั้งค่าและเรียกใช้ SQLite นอกจากนี้เรายังครอบคลุมถึงวิธีการทำงานกับเชลล์ SQLite และรันคำสั่งเป็นคำสั่ง SQL เมื่อใช้สิ่งที่คุณได้เรียนรู้จากบทช่วยสอนนี้ คุณสามารถสร้างฐานข้อมูล สร้างตาราง เพิ่มข้อมูล และลบแถว