flask與數(shù)據(jù)庫的交互操作示例
官方推薦
官方推薦使用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)文章
python操作excel之openpyxl模塊讀寫xlsx格式使用方法詳解
這篇文章主要介紹了python操作excel之openpyxl模塊讀寫xlsx格式使用方法詳解,需要的朋友可以參考下2022-12-12在PyCharm環(huán)境中使用Jupyter Notebook的兩種方法總結(jié)
今天小編就為大家分享一篇在PyCharm環(huán)境中使用Jupyter Notebook的兩種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05解決Django no such table: django_session的問題
這篇文章主要介紹了解決Django no such table: django_session的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04使用Python一鍵提取PDF中的表格到Excel的方法詳解
從PDF文件獲取表格中的數(shù)據(jù),也是日常辦公容易涉及到的一項工作,一個一個復(fù)制吧,效率確實太低了,用Python從PDF文檔中提取表格數(shù)據(jù),并寫入Excel文件,灰?;页8咝?本文就給大家介紹一下如何使用Python一鍵提取PDF中的表格到Excel,需要的朋友可以參考下2023-08-08python高手之路python處理excel文件(方法匯總)
用python來自動生成excel數(shù)據(jù)文件。python處理excel文件主要是第三方模塊庫xlrd、xlwt、xluntils和pyExcelerator,除此之外,python處理excel還可以用win32com和openpyxl模塊2016-01-01