บทนำ
SQLite เป็น embedded database ไฟล์เดียว ไม่ต้องติดตั้ง server Python มี sqlite3 module built-in
เริ่มต้นใช้งาน
import sqlite3
สร้าง/เชื่อมต่อ Database
database = sqlite3.connect("Student_records.db")
print("Connection has been made successfully!")
database.close()จะสร้างไฟล์ Student_records.db ใน working directory
สร้าง Table (เพิ่ม Attributes/Columns)
database = sqlite3.connect("Student_records.db")
database.execute("""CREATE TABLE Scores(
ID INT PRIMARY KEY NOT NULL,
NAMES TEXT NOT NULL,
MARKS TEXT NOT NULL,
GRADES NOT NULL)""")
print("Columns created in your Database")
database.close()Insert Records
connection = sqlite3.connect("Student_records.db")
cursor = connection.cursor()
cursor.execute("""INSERT INTO Scores(ID,NAMES,MARKS,GRADES) VALUES(?,?,?,?)""", (1, "Vijay", 93, "A"))
connection.commit()
connection.close()โค้ดตัวอย่างครบถ้วน
import sqlite3
connection = sqlite3.connect("Student_records.db")
cursor = connection.cursor()
cursor.execute("""INSERT INTO Scores (ID,NAMES,MARKS,GRADES) VALUES(?,?,?,?)""", (1, "Vijay", 93, "A"))
cursor.execute("""INSERT INTO Scores (ID,NAMES,MARKS,GRADES) VALUES(?,?,?,?)""", (2, "Tony", 86, "B"))
cursor.execute("""INSERT INTO Scores (ID,NAMES,MARKS,GRADES) VALUES(?,?,?,?)""", (3, "Stark", 100, "A"))
cursor.execute("""INSERT INTO Scores (ID,NAMES,MARKS,GRADES) VALUES(?,?,?,?)""", (4, "Steve", 63, "C"))
print("Records have been added")
connection.commit()
connection.close()คำอธิบาย
connect(): สร้าง/เปิด database filecursor(): object สำหรับ execute SQL commandsexecute(): รัน SQL (ใช้ ? placeholders ป้องกัน SQL injection)commit(): บันทึกการเปลี่ยนแปลง (สำคัญมาก!)PRIMARY KEY NOT NULL: ID ต้อง unique และไม่ว่าง
เครื่องมือช่วย
DB Browser for SQLite (ฟรี open-source) ดู/แก้ไข database ด้วย GUI