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

python flask sqlalchemy連接數(shù)據(jù)庫(kù)流程介紹

 更新時(shí)間:2022年09月05日 11:16:55   作者:王大隊(duì)長(zhǎng)  
這篇文章主要介紹了python flask sqlalchemy連接數(shù)據(jù)庫(kù)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、安裝flask_sqlalchemy和pymysql包

pip install flask-sqlalchemy

pip install pymysql

2、進(jìn)行配置

使用Flask-SQLAlchemy擴(kuò)展操作數(shù)據(jù)庫(kù),首先需要通過(guò)URL建立數(shù)據(jù)庫(kù)連接,必須保存到Flask配置對(duì)象的SQLALCHEMY_DATABASE_URI中。

HOSTNAME = '127.0.0.1'
PORT     = '3306'
DATABASE = 'flask_test'
USERNAME = 'root'
PASSWORD = 'root'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI

其中HOSTNAME為路由地址

PORT為端口號(hào),我在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)沒(méi)有更改,所以用的默認(rèn)的3306端口號(hào)

DATABASE為數(shù)據(jù)庫(kù)名字

后面兩個(gè)參數(shù)為數(shù)據(jù)庫(kù)用戶名和密碼

3、創(chuàng)建SQLALchemy實(shí)例

db = SQLAlchemy(app)

我這里創(chuàng)建的實(shí)例記為db

4、創(chuàng)建ORM類

創(chuàng)建這個(gè)類必須繼承db.Model !!!

class Article(db.Model):
    __tablename__ = "article"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text, nullable=False)

第二行設(shè)置數(shù)據(jù)庫(kù)表名為article。第三行設(shè)置id項(xiàng),將其設(shè)置為整數(shù)項(xiàng),并且設(shè)置為主鍵以及自動(dòng)增長(zhǎng)。第四行設(shè)置title項(xiàng),將其設(shè)置為含200個(gè)字符的字符串,并設(shè)置不能非空。第五行設(shè)置content項(xiàng),將其設(shè)置為db.Text格式并且設(shè)置不能非空。

5、創(chuàng)建表

db.create_all()

然后就會(huì)發(fā)現(xiàn),數(shù)據(jù)庫(kù)中多出一張表:

當(dāng)然,這張表目前還是空的

6、在表中增刪查改數(shù)據(jù)

我們可以在一個(gè)視圖函數(shù)中執(zhí)行這些操作,當(dāng)然也可以直接執(zhí)行

@app.route("/article")
def article_view():
    # 添加數(shù)據(jù)
    article = Article(title="鋼鐵是怎樣煉成的", content="xxx")
    db.session.add(article)
    db.session.commit()
    # # 查詢數(shù)據(jù)
    # article = Article.query.filter_by(id=1)[0]
    # print(article.title)
    # 
    # # 修改數(shù)據(jù)
    # article = Article.query.filter_by(id=1)[0]
    # article.content = "yyy"
    # db.session.commit()
    # 
    # # 刪除數(shù)據(jù)
    # article = Article.query.filter_by(id=1)[0]
    # db.session.delete(article)
    # db.session.commit()
    return "數(shù)據(jù)操作成功"

添加數(shù)據(jù)時(shí)沒(méi)加id,是因?yàn)槲覀冎霸O(shè)置id的autoincrement為True,于是它會(huì)自動(dòng)增加。

執(zhí)行完發(fā)現(xiàn)數(shù)據(jù)庫(kù)中多出了如下:

其他三步結(jié)果請(qǐng)自行查看。當(dāng)然,如果想觀察每一步的結(jié)果,在執(zhí)行添加數(shù)據(jù)前最好最好先將其他三步加上注釋,對(duì)于其他三步也是一樣。

到此這篇關(guān)于python flask sqlalchemy連接數(shù)據(jù)庫(kù)流程介紹的文章就介紹到這了,更多相關(guān)python連接數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中列表對(duì)象pop()方法的使用說(shuō)明

    python中列表對(duì)象pop()方法的使用說(shuō)明

    這篇文章主要介紹了python中列表對(duì)象pop()方法的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python中把嵌套的列表合并成一個(gè)列表方法總結(jié)

    python中把嵌套的列表合并成一個(gè)列表方法總結(jié)

    python中l(wèi)ist這種數(shù)據(jù)結(jié)構(gòu)很常用到,下面這篇文章主要給大家介紹了關(guān)于python中把嵌套的列表合并成一個(gè)列表方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Django model select的多種用法詳解

    Django model select的多種用法詳解

    最近看到 大神 運(yùn)維咖啡吧的 一篇文章,這里只做個(gè)備份,講的是各種 django model 查詢,發(fā)現(xiàn)不錯(cuò),十分感謝該大神的無(wú)私奉獻(xiàn)
    2019-07-07
  • Python?socket之TCP通信及下載文件的實(shí)現(xiàn)

    Python?socket之TCP通信及下載文件的實(shí)現(xiàn)

    本文主要介紹了Python?socket之TCP通信及下載文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python制作豆瓣圖片的爬蟲

    Python制作豆瓣圖片的爬蟲

    本文給大家分享的是作者制作的爬取豆瓣首頁(yè)圖片的爬蟲代碼,代碼很簡(jiǎn)單,大家可以參考下思路,希望可以幫到大家
    2017-12-12
  • python?中?關(guān)于reverse()?和?reversed()的用法詳解

    python?中?關(guān)于reverse()?和?reversed()的用法詳解

    這篇文章主要介紹了python?中?關(guān)于reverse()?和?reversed()的用法介紹,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Python基礎(chǔ)之hashlib模塊詳解

    Python基礎(chǔ)之hashlib模塊詳解

    這篇文章主要介紹了Python基礎(chǔ)之hashlib模塊詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • 解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題

    解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題

    今天小編就為大家分享一篇解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python安裝selenium包詳細(xì)過(guò)程

    Python安裝selenium包詳細(xì)過(guò)程

    在本篇文章里小編給大家整理了關(guān)于Python安裝selenium包詳細(xì)過(guò)程,需要的朋友們可以學(xué)習(xí)下。
    2019-07-07
  • python數(shù)據(jù)可視化Seaborn繪制山脊圖

    python數(shù)據(jù)可視化Seaborn繪制山脊圖

    這篇文章主要介紹了利用python數(shù)據(jù)可視化Seaborn繪制山脊圖,山脊圖一般由垂直堆疊的折線圖組成,這些折線圖中的折線區(qū)域間彼此重疊,此外它們還共享相同的x軸.下面來(lái)看看具體的繪制過(guò)程吧,需要的小伙伴可以參考一下
    2022-01-01

最新評(píng)論