flask sqlalchemy對資料進行操作

2022-03-21 10:58:30 字數 1781 閱讀 6197

1.如何建表(增刪改查)

2.如何對已存在的表進行增刪改查

方法一:採用對映資料庫的方法操作已存在的表,需要使用automap_base函式。缺點:由於是對映一張表,表與表之間的關係不能反應,查詢多對多關係表時意義不大。

from sqlalchemy import

create_engine

from sqlalchemy.ext.automap import

automap_base

from sqlalchemy.orm import

sessionmaker

uri = '

mysql:

'engine = create_engine(uri, echo=false)

base =automap_base()

base.prepare(engine, reflect=true)

#獲取表物件

table_student = base.classes.students#

對映到students表

session = sessionmaker(bind=engine)

session =session()

#----------新增資料

defadd():

session.add(table_student(name="

hello791"))

session.commit()

defquery():

data=session.query(table_student).filter(table_student.id>=2).all()

for name in

data:

print

(name.name)

if__name__ == '

__main__':

#add()

query()

2.建立表orm模型,資料庫中如果有這個表,也不影響。

uri="

mysql:

"engine=create_engine(uri,echo=false)

base=declarative_base(engine)

session=sessionmaker(bind=engine)()

class

authorsdata(base):

__tablename__="

authors

"id= column(integer, primary_key=true)

name=column(string(64), unique=true)

books = relationship("

booksdata

",backref="

authors

")#以books,authors表示引用對方資料

class

booksdata(base):

__tablename__="

books

"id=column(integer,primary_key=true)

name=column(string(64), unique=true)

author_id= column(integer,foreignkey("

authors.id"))

if __name__=="__main__":

session.query(bookdata).all()

Flask SQLAlchemy學習總結

配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...

flask SQLAlchemy基本使用

作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...

Flask SQLAlchemy定義模型

模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...