pythonsplite是一個輕量級的關係型數據庫,它可以嵌入到Python中,讓我們能夠靈活地管理本地數據。其最大的好處就是不需要安裝額外的軟件,只需要導入相應的庫即可開始使用。本文將從多個方面進行詳細闡述,幫助讀者更深入了解pythonsplite。
一、創建數據庫和表格
在使用pythonsplite之前,首先需要了解如何創建數據庫和表格。
import sqlite3
#創建一個本地數據庫文件test.db
conn = sqlite3.connect("test.db")
#創建一張students表
conn.execute('''CREATE TABLE students
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
GRADE CHAR(50));''')
#關閉數據庫連接
conn.close()
以上代碼展示了如何創建一個本地數據庫文件,並在其中創建了一張名為students的表格。其中,ID、NAME、AGE、GRADE分別代表表格的四個列,其中ID列是主鍵,不能重複,其他列則有各自的數據類型。
二、插入數據
創建好表格之後,我們需要往表格里插入數據。下面是一個插入數據的示例:
import sqlite3
conn = sqlite3.connect("test.db")
conn.execute("INSERT INTO students (ID, NAME, AGE, GRADE) \
VALUES (1, 'Tom', 18, 'A')")
conn.execute("INSERT INTO students (ID, NAME, AGE, GRADE) \
VALUES (?, ?, ?, ?)", (2, 'Mary', 19, 'B'))
conn.commit()
conn.close()
以上代碼展示了兩種插入數據的方式。第一種是直接在SQL語句中傳入數據,不過需要注意的是,這種方式存在SQL注入的風險。第二種方式則是使用參數化的方式傳入數據,避免了SQL注入的風險。
三、查詢數據
插入數據之後,我們需要查詢數據。下面是一個查詢數據的示例:
import sqlite3
conn = sqlite3.connect("test.db")
#查詢students表中的所有數據
cursor = conn.execute("SELECT * FROM students")
#遍歷查詢結果
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("AGE = ", row[2])
print("GRADE = ", row[3])
conn.close()
以上代碼展示了如何查詢一張表格中所有的數據,並且使用遍歷的方式將查詢結果打印出來。
四、更新和刪除數據
在有了插入和查詢的基礎之後,我們還需要了解如何更新和刪除數據。
import sqlite3
conn = sqlite3.connect("test.db")
#更新一條記錄,將ID為2的記錄的AGE改為20
conn.execute("UPDATE students SET AGE = ? WHERE ID = ?", (20, 2))
#刪除一條記錄,刪除ID為1的記錄
conn.execute("DELETE FROM students WHERE ID = ?", (1,))
conn.commit()
conn.close()
以上代碼展示了如何更新和刪除數據。在更新數據時,我們可以使用UPDATE語句來更新一條記錄。在刪除數據時,我們使用DELETE語句來刪除指定的記錄。
五、使用ORM框架
ORM(Object Relational Mapping)是一種將對象和關係型數據庫映射的技術,可以讓我們在Python中使用類似於面向對象的方式來訪問數據庫。下面展示了在SQLAlchemy中使用ORM的方式:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
#連接到test.db數據庫
engine = create_engine('sqlite:///test.db')
#創建Session類
Session = sessionmaker(bind=engine)
#創建一個session實例
session = Session()
#定義students表的ORM類
class Student(Base):
__tablename__ = 'students'
ID = Column(Integer, primary_key=True)
NAME = Column(String(20), nullable=False, unique=True)
AGE = Column(Integer, nullable=False)
GRADE = Column(String(50))
#插入一條記錄
s = Student(ID=3, NAME='Lucy', AGE=17, GRADE='C')
session.add(s)
session.commit()
#查詢所有記錄
students = session.query(Student).all()
for student in students:
print(student.NAME, student.AGE)
session.close()
以上代碼展示了如何使用ORM框架將Python對象映射到數據庫中。首先,我們需要在框架中定義ORM類,定義完成之後,我們就可以在Python代碼中使用這個ORM類的實例來操作數據庫了。在使用ORM框架時,我們無需編寫SQL語句,可以大大提高代碼的可讀性和可維護性。
六、總結
本文從創建數據庫和表格、插入數據、查詢數據、更新和刪除數據、使用ORM框架等多個方面進行了詳細闡述,希望可以幫助讀者更深入地了解pythonsplite。
原創文章,作者:ZGCRH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/316693.html