python ORM模組sqlalchemy的使用

2021-09-24 14:25:24 字數 3549 閱讀 4288

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、定義乙個表(使用類)繼承base
class

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,任務詳情,每乙個用...