1、安裝sqlalchemy
pip install sqlalchemy
2、匯入必要的包及模組import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
3、建立資料庫連線例項#建立資料庫連線例項(#"資料庫型別+資料庫模組://使用者名稱:密碼@主機/庫名")
db=sqlalchemy.create_engine(
"mysql+pymysql://root:q1q1q1@localhost/a"
)
4、建立乙個元類的繼承類base = declarative_base(db)
5、定義乙個表(使用類)繼承baseclass
student
(base)
: __tablename__ =
"student"
id= sqlalchemy.column(sqlalchemy.integer,primary_key=
true
) name = sqlalchemy.column(sqlalchemy.string(32)
) age = sqlalchemy.column(sqlalchemy.string(32)
)
6、建立表
base.metadata返回sqlalchemy.schema.metadata物件,它是所有table物件的集合,呼叫create_all()該物件會觸發create table語句,如果資料庫還不存在這些表的話。
if __name__ ==
"__main__"
: base.metadata.create_all(db)
指令碼執行前a資料庫中的表:
執行上述**之後,a資料庫表:
7、繫結連線並建立session
cursor = sessionmaker(bind=db)
#得到的時乙個類
session = cursor(
)#例項
8、增(插入資料)
①插入一條資料
stu = student(id=
1,name =
"張1"
②同時插入多條資料
session.add_all(
[ student(id=
2,name=
"張2"
,age=19)
, student(id=
3,name=
"張3"
9、查詢
①查詢所有資料
all_data = session.query(student)
.all()
#得到的是乙個可迭代物件
②根據條件查詢多條資料
many_data = session.query(student)
.filter_by(age=18)
print
(many_data)
#實際是乙個sql查詢語句,其還是乙個儲存乙個物件的帶迭代內容
還可以通過序列解包的方式獲取資料
many_data = session.query(student)
.filter_by(age=18)
data,
= many_data
print
("id:%s__name:%s__age:%s"
%(data.
id,data.name,data.age)
)
③查詢一條資料
data = session.query(student)
.get(ident=3)
#查一條,只能以主鍵查
print
("id:%s__name:%s__age:%s"
%(data.
id,data.name,data.age)
)
10、刪除#先查詢一條
data = session.query(student)
.get(ident=3)
#然後刪除
session.delete(data)
#然後提交操作
11、修改
# 先查詢一條
data = session.query(student)
.get(ident=2)
#然後刪除
data.name =
"老李頭"
#然後提交操作
python ORM框架mapping資料庫
4款python orm 持久層框架開源軟體 1 資料持久層框架 sqlalchemy sqlalchemy 是乙個python 的sql 工具包以及資料庫物件對映框架 示例 2 資料持久層框架 sqlobject sqlobject 是乙個流行的python 資料庫物件對映框架,對映的規則就是表 ...
Python ORM 方案一覽
目錄摘取一段對orm的認識過程 對於我,對orm的經歷了反反覆覆的愛恨交織過程。最早對其神奇之處的十分感嘆 而後又鄙視其生成sql方式 如今,適時適當的在專案中使用orm。歸根結底,對orm態度的轉變,源於對其認識的不足。最早接觸orm源自django自帶的orm,用起來很爽。當時對sql並不熟悉,...
任務模組 報告模組 日誌模組
需求背景 報告模組 怎麼來處理這個報告的問題,報告是非常重要的一塊,1,可以看到每一次執行的情況,多少通過了,多少失敗了 2,可以看到執行的日誌,每一步的日誌,失敗了,我要知道失敗在 了,3,每次都要有報告 業務設計 1,任務列表,任務名稱,檢視任務詳情,報告列表,執行的功能,2,任務詳情,每乙個用...