欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask與數(shù)據(jù)庫的交互操作示例

 更新時間:2023年08月07日 09:33:53   作者:hellowoody  
這篇文章主要為大家介紹了flask與數(shù)據(jù)庫的交互操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

官方推薦

官方推薦使用flask-sqlalchemy,但是這里我個人并不推薦。因為一般后臺程序員其實更喜歡使用原生sql語言處理數(shù)據(jù)庫的問題,更重要的一個原因是在項目上線后,處理一些運(yùn)維問題時,如果可以查看sql語句可以更快找到問題。

其次flask-sqlalchemy是在sqlalchemy基礎(chǔ)上封裝了一層,從編譯的角度看效率上肯定會低一些(效率的影響也許微乎其微)。

基于以上原因,我推薦使用sqlalchemy進(jìn)行開發(fā)。

下面的兩種方式不僅限于flask,其實就是python對數(shù)據(jù)庫操作的具體實現(xiàn)。

第一種方式(針對查詢)

from sqlalchemy import create_engine,text
#定義數(shù)據(jù)庫屬性
hostname = '127.0.0.1'
port = '3306'
database = 'dbname'
username = 'root'
pwd = 'pwd'
dburl = 'mysql+mysqldb://{}:{}@{}:{}/{}'.format(username,pwd,hostname,port,database)
#創(chuàng)建數(shù)據(jù)庫連接對象
engine = create_engine(dburl,echo=True)
with engine.connect() as con:
  rs = con.execute('SELECT 1')  # con.execute(text("select 1 "))
  for row in rs:
    print row

第二種方式(針對增刪改,有事務(wù))

from sqlalchemy import create_engine,text
from sqlalchemy.orm import sessionmaker
#定義數(shù)據(jù)庫屬性
hostname = '127.0.0.1'
port = '3306'
database = 'dbname'
username = 'root'
pwd = 'pwd'
dburl = 'mysql+mysqldb://{}:{}@{}:{}/{}'.format(username,pwd,hostname,port,database)
#創(chuàng)建數(shù)據(jù)庫連接對象
engine = create_engine(dburl,echo=True)
Session = sessionmaker(bind=engine)
session = Session()
session.execute("insert test values ('abc','123')")
session.commit()
session.close()

以上就是flask與數(shù)據(jù)庫的交互示例的詳細(xì)內(nèi)容,更多關(guān)于flask數(shù)據(jù)庫交互的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論