python flask sqlalchemy連接數(shù)據(jù)庫流程介紹
1、安裝flask_sqlalchemy和pymysql包
pip install flask-sqlalchemy
pip install pymysql
2、進(jìn)行配置
使用Flask-SQLAlchemy擴(kuò)展操作數(shù)據(jù)庫,首先需要通過URL建立數(shù)據(jù)庫連接,必須保存到Flask配置對象的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ù)庫時(shí)沒有更改,所以用的默認(rèn)的3306端口號(hào)
DATABASE為數(shù)據(jù)庫名字
后面兩個(gè)參數(shù)為數(shù)據(jù)庫用戶名和密碼
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ù)庫表名為article。第三行設(shè)置id項(xiàng),將其設(shè)置為整數(shù)項(xiàng),并且設(shè)置為主鍵以及自動(dò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ù)庫中多出一張表:

當(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í)沒加id,是因?yàn)槲覀冎霸O(shè)置id的autoincrement為True,于是它會(huì)自動(dòng)增加。
執(zhí)行完發(fā)現(xiàn)數(shù)據(jù)庫中多出了如下:

其他三步結(jié)果請自行查看。當(dāng)然,如果想觀察每一步的結(jié)果,在執(zhí)行添加數(shù)據(jù)前最好最好先將其他三步加上注釋,對于其他三步也是一樣。
到此這篇關(guān)于python flask sqlalchemy連接數(shù)據(jù)庫流程介紹的文章就介紹到這了,更多相關(guān)python連接數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法
- Python?flask?sqlalchemy的簡單使用及常用操作
- python sqlalchemy動(dòng)態(tài)修改tablename兩種實(shí)現(xiàn)方式
- Python+SQLAlchemy輕松實(shí)現(xiàn)管理數(shù)據(jù)庫
- Python SQLAlchemy簡介及基本用法
- 3個(gè)Python?SQLAlchemy數(shù)據(jù)庫操作功能詳解
- Python使用SQLAlchemy模塊實(shí)現(xiàn)操作數(shù)據(jù)庫
- Python?SQLAlchemy與數(shù)據(jù)庫交互操作完整指南
- Python?SQLAlchemy庫的實(shí)現(xiàn)示例
相關(guān)文章
Python數(shù)據(jù)可視化的五種方法小結(jié)
大家好,在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,數(shù)據(jù)可視化是挖掘數(shù)據(jù)價(jià)值的重要一環(huán),本文將介紹五種極為實(shí)用的高級(jí)可視化圖表,從原理到代碼實(shí)現(xiàn),一站式助力繪制數(shù)據(jù)圖,需要的朋友可以參考下2025-04-04
Python數(shù)據(jù)結(jié)構(gòu)列表
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)列表,本文重點(diǎn)內(nèi)容主要是對列表數(shù)據(jù)結(jié)構(gòu)的使用,在Python中,序列是一組按順序排列的值。Python?有?3?種內(nèi)置的序列類型:字符串、?元組和列表,下面一起進(jìn)入文章了解更詳細(xì)內(nèi)容吧,需要的小伙伴可以參考一下</P><P>2021-12-12
python開發(fā)實(shí)時(shí)可視化儀表盤的示例
這篇文章主要介紹了python開發(fā)實(shí)時(shí)可視化儀表盤的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-05-05
Pandas數(shù)據(jù)形狀df.shape的實(shí)現(xiàn)
本文主要介紹了Pandas數(shù)據(jù)形狀df.shape的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Python中遍歷字典過程中更改元素導(dǎo)致異常的解決方法
這篇文章主要介紹了Python中遍歷字典過程中更改元素導(dǎo)致錯(cuò)誤的解決方法,針對增刪元素后出現(xiàn)dictionary changed size during iteration的異常解決做出討論和解決,需要的朋友可以參考下2016-05-05
python使用pynput庫操作、監(jiān)控你的鼠標(biāo)和鍵盤
這篇文章主要介紹了python使用pynput庫操作、監(jiān)控你的鼠標(biāo)和鍵盤,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
Python實(shí)現(xiàn)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

