成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

flask筆記:flask與數(shù)據(jù)庫的交互

elliott_hu / 664人閱讀

摘要:下面的兩種方式不僅限于,其實(shí)就是對(duì)數(shù)據(jù)庫操作的具體實(shí)現(xiàn)。第一種方式針對(duì)查詢定義數(shù)據(jù)庫屬性創(chuàng)建數(shù)據(jù)庫連接對(duì)象第二種方式針對(duì)增刪改,有事務(wù)定義數(shù)據(jù)庫屬性創(chuàng)建數(shù)據(jù)庫連接對(duì)象

官方推薦使用flask-sqlalchemy,但是這里我個(gè)人并不推薦。因?yàn)橐话愫笈_(tái)程序員其實(shí)更喜歡使用原生sql語言處理數(shù)據(jù)庫的問題,更重要的一個(gè)原因是在項(xiàng)目上線后,處理一些運(yùn)維問題時(shí),如果可以查看sql語句可以更快找到問題。其次flask-sqlalchemy是在sqlalchemy基礎(chǔ)上封裝了一層,從編譯的角度看效率上肯定會(huì)低一些(效率的影響也許微乎其微)。

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

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

第一種方式(針對(duì)查詢):

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ù)庫連接對(duì)象
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

第二種方式(針對(duì)增刪改,有事務(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ù)庫連接對(duì)象
engine = create_engine(dburl,echo=True)
Session = sessionmaker(bind=engine)
session = Session()
session.execute("insert test values ("abc","123")")
session.commit()
session.close()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44572.html

相關(guān)文章

  • flask筆記:是flask.ext.sqlalchemy還是flask_sqlalchemy

    摘要:首先出結(jié)論,和是一個(gè)意思,區(qū)別是寫法不同,兼容性不同。是特有的拓展功能,目前,擴(kuò)展必須支持以及原因擴(kuò)展導(dǎo)入轉(zhuǎn)換我們推薦使用擴(kuò)展的命名空間包。相反,我們現(xiàn)在推薦命名軟件包,而不是現(xiàn)在已棄用的。 最近入門python的flask框架,官方推薦用sqlalchemy庫作為與數(shù)據(jù)庫交互的工具。這時(shí)我在看網(wǎng)絡(luò)上一些文章資料時(shí)發(fā)現(xiàn)一個(gè)問題。 這里插個(gè)題外話,sqlalchemy和flask_sql...

    DandJ 評(píng)論0 收藏0
  • flask文檔學(xué)習(xí)筆記1-快速入門

    摘要:示例如下靜態(tài)路由使用動(dòng)態(tài)變量的路由未指定變量類型使用動(dòng)態(tài)變量的路由指定變量類型指定的路由變量,可以作為被裝飾的函數(shù)參數(shù)傳入進(jìn)來。 開始決定認(rèn)真的在網(wǎng)上寫一些東西,主要原因還是在于希望能提升學(xué)習(xí)效果。雖說python寫了有幾年,但是web后端框架的確沒怎么接觸過,買了本狗書寥寥草草的過了一遍,發(fā)現(xiàn)很多東西還是理解不深,真的是好記性不如爛筆頭,知識(shí)也要從基礎(chǔ)開始,退回來好好看看官方文檔,再...

    lingdududu 評(píng)論0 收藏0
  • Python學(xué)習(xí)筆記:Web后端開發(fā)一覽

    摘要:試想,在多線程服務(wù)器中,多個(gè)線程同時(shí)處理不同客戶端發(fā)送的不同請(qǐng)求時(shí),每個(gè)線程看到的對(duì)象必然不同。多線程服務(wù)器會(huì)創(chuàng)建一個(gè)線程池,再從線程池中選擇一個(gè)線程用于處理接收到的請(qǐng)求。 框架 Django flask flask是一個(gè)輕量的web開發(fā)應(yīng)用示例開發(fā)一個(gè)小應(yīng)用 from flask import Flask app = Flask(__name__) @app.route(/) d...

    DrizzleX 評(píng)論0 收藏0
  • [譯]如何使用Flask開發(fā)一個(gè)增刪改查應(yīng)用

    摘要:教程譯文首發(fā)自我的博客我們將創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫驅(qū)動(dòng)的筆記本應(yīng)用。本教程面向想學(xué)習(xí)如何使用開發(fā)網(wǎng)站或者應(yīng)用的初學(xué)者。在剛創(chuàng)建的文件中,創(chuàng)建一個(gè)名為的文件?,F(xiàn)在,我們將創(chuàng)建一個(gè)函數(shù),并且使用裝飾器將它綁定到一個(gè)上。 showImg(https://segmentfault.com/img/remote/1460000006765797); 教程譯文首發(fā)自我的博客:Defshines Bl...

    tianlai 評(píng)論0 收藏0
  • Flask 源碼閱讀筆記 開篇

    摘要:官方示例第一行類對(duì)象,這個(gè)無需解釋。請(qǐng)求對(duì)象的端點(diǎn)請(qǐng)求視圖函數(shù)的參數(shù)通過源碼的注釋我們可以知道,都只是對(duì)庫的進(jìn)行了一層包裝并加入一些屬性。接下來會(huì)有更多關(guān)于和相關(guān)文章放出來,敬請(qǐng)期待參考文檔項(xiàng)目源碼版本注釋版 Flask 是一個(gè) Python 實(shí)現(xiàn)的 Web 開發(fā)微框架, 有豐富的生態(tài)資源。本文從一段官方的示例代碼通過一步步打斷點(diǎn)方式解釋 Flask 內(nèi)部的運(yùn)行機(jī)制,在一些關(guān)鍵概念會(huì)...

    mikyou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<