Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างฐานข้อมูล SQLite ใน Python: คู่มือพื้นฐาน

บทนำ

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 file
  • cursor(): object สำหรับ execute SQL commands
  • execute(): รัน SQL (ใช้ ? placeholders ป้องกัน SQL injection)
  • commit(): บันทึกการเปลี่ยนแปลง (สำคัญมาก!)
  • PRIMARY KEY NOT NULL: ID ต้อง unique และไม่ว่าง

เครื่องมือช่วย

DB Browser for SQLite (ฟรี open-source) ดู/แก้ไข database ด้วย GUI

เอกสาร: https://docs.python.org/3/library/sqlite3.html