国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy

這篇具有很好參考價(jià)值的文章主要介紹了Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Flask中一般使用flask-sqlalchemy來(lái)操作數(shù)據(jù)庫(kù)。flask-sqlalchemy的使用介紹如下:

一、SQLAlchemy

  1. SQLALchemy 實(shí)際上是對(duì)數(shù)據(jù)庫(kù)的抽象,讓開(kāi)發(fā)者不用直接和 SQL 語(yǔ)句打交道,而是通過(guò) Python
    對(duì)象來(lái)操作數(shù)據(jù)庫(kù),在舍棄一些性能開(kāi)銷的同時(shí),換來(lái)的是開(kāi)發(fā)效率的較大提升。
  2. SQLAlchemy是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)框架,支持多種數(shù)據(jù)庫(kù)后臺(tái)。它提供了高層的 ORM 和底層的原生數(shù)據(jù)庫(kù)的操作。flask-sqlalchemy
    是一個(gè)簡(jiǎn)化了 SQLAlchemy 操作的flask擴(kuò)展。

備注:ORM 全拼Object-Relation Mapping. 稱為對(duì)象-關(guān)系映射主要實(shí)現(xiàn)模型對(duì)象到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)的映射.比如:把數(shù)據(jù)庫(kù)表中每條記錄映射為一個(gè)模型對(duì)象

二、flask-sqlalchemy安裝

  1. 安裝flask-sqlalchemy : pip install flask-sqlalchemy
  2. 如果連接的是 mysql 數(shù)據(jù)庫(kù),需要安裝 flask-mysqldb或者pymysql 驅(qū)動(dòng)。說(shuō)明:pymysql 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個(gè)庫(kù),Python2中則使mysqldb。
pip install flask-mysqldb  #如果flask-mysqldb安裝不上,安裝pymysql
pip install pymysql
  1. 數(shù)據(jù)庫(kù)連接設(shè)置

格式:mysql://<用戶名>:<密碼>@:<端口>/數(shù)據(jù)庫(kù)名

如果安裝pymysql ,需要這樣連接數(shù)據(jù)庫(kù)

mysql+pymysql://<用戶名>:<密碼>@:<端口>/數(shù)據(jù)庫(kù)名

例如:

# 數(shù)據(jù)庫(kù)鏈接地址
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test'
# 動(dòng)態(tài)追蹤修改設(shè)置,如未設(shè)置只會(huì)提示警告,此字段會(huì)增加了大量的開(kāi)銷,建議設(shè)置為False
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
#若要查看映射的sql語(yǔ)句,需要如下配置,此功能對(duì)調(diào)試有用,正式環(huán)境建議設(shè)置為False
app.config['SQLALCHEMY_ECHO'] = True

三、SQLAlchemy常用配置

1、sqlalchemy配置信息

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy
2、SQLAlchemy字段類型及對(duì)應(yīng)python中類型

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

備注:如果使用的是mysql數(shù)據(jù)庫(kù),則數(shù)據(jù)庫(kù)中字段類型和python中數(shù)據(jù)類型對(duì)應(yīng)關(guān)系

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

3、常用的SQLAlchemy列選項(xiàng)

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

4、常用的SQLAlchemy關(guān)系選項(xiàng)

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy
四、數(shù)據(jù)庫(kù)基本操作

在Flask-SQLAlchemy中,增刪改查操作,均由數(shù)據(jù)庫(kù)會(huì)話管理。
會(huì)話用 db.session 表示。在準(zhǔn)備把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)前,要先將數(shù)據(jù)添加到會(huì)話中然后調(diào)用 db.session.commit() 方法提交會(huì)話。提交操作把會(huì)話對(duì)象全部寫入數(shù)據(jù)庫(kù)。

在 Flask-SQLAlchemy 中,查詢操作是通過(guò) query 對(duì)象操作數(shù)據(jù)。
最基本的查詢是返回表中所有數(shù)據(jù),可以通過(guò)過(guò)濾器進(jìn)行更精確的數(shù)據(jù)庫(kù)查詢。

1、查詢過(guò)濾器

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

2、查詢執(zhí)行器方法

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

3、filter過(guò)濾條件

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

4、邏輯運(yùn)算

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

5、DB操作

Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy,Flask,flask,數(shù)據(jù)庫(kù),python,SQLAlchemy

五.、完整流程舉例文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-835592.html

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
 
app = Flask(__name__)
 
#設(shè)置連接數(shù)據(jù)庫(kù)的URL
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test'
 
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
#查詢時(shí)會(huì)顯示原始SQL語(yǔ)句
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)
class Role(db.Model):
    # 定義表名
    __tablename__ = 'roles'
    # 定義列對(duì)象
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    us = db.relationship('User', backref='role')
    #repr()方法顯示一個(gè)可讀字符串
    def __repr__(self):
        return 'Role:%s'% self.name
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True, index=True)
    email = db.Column(db.String(64),unique=True)
    password = db.Column(db.String(64))
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    def __repr__(self):
        return 'User:%s'%self.name
if __name__ == '__main__':
    app.run(debug=True)

到了這里,關(guān)于Flask數(shù)據(jù)庫(kù)操作-Flask-SQLAlchemy的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何使用Flask-SQLAlchemy來(lái)管理數(shù)據(jù)庫(kù)連接和操作數(shù)據(jù)?

    首先,我們需要安裝Flask-SQLAlchemy。你可以使用pip來(lái)安裝它,就像這樣: 好了,現(xiàn)在我們已經(jīng)有了一個(gè)可以操作數(shù)據(jù)庫(kù)的工具,接下來(lái)讓我們來(lái)看看如何使用它吧! 首先,我們需要?jiǎng)?chuàng)建一個(gè)Flask應(yīng)用對(duì)象,并配置數(shù)據(jù)庫(kù)的連接字符串和師: 現(xiàn)在,我們已經(jīng)創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù),

    2024年02月15日
    瀏覽(46)
  • 【python】flask操作數(shù)據(jù)庫(kù)工具SQLAlchemy,詳細(xì)用法和應(yīng)用實(shí)戰(zhàn)

    【python】flask操作數(shù)據(jù)庫(kù)工具SQLAlchemy,詳細(xì)用法和應(yīng)用實(shí)戰(zhàn)

    ?? 歡迎大家來(lái)到景天科技苑?? ???? 養(yǎng)成好習(xí)慣,先贊后看哦~???? ?? 作者簡(jiǎn)介:景天科技苑 ??《頭銜》:大廠架構(gòu)師,華為云開(kāi)發(fā)者社區(qū)專家博主,阿里云開(kāi)發(fā)者社區(qū)專家博主,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。 ??《博客》:Python全棧,

    2024年04月17日
    瀏覽(31)
  • 【Flask 連接數(shù)據(jù)庫(kù),使用Flask-Migrate實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移及問(wèn)題匯總】

    Flask 連接數(shù)據(jù)庫(kù),使用Flask-Migrate實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移 安裝Flask-Migrate插件 使用Flask-Migrate步驟 app.py主要用于數(shù)據(jù)庫(kù)連接 model.py 中導(dǎo)入了 db,作用是存儲(chǔ)一個(gè)User類 ,用于生成表頭。 manager.py用于數(shù)據(jù)遷移管理,運(yùn)行后將生成一個(gè)文件夾。 Flask-Migrate運(yùn)行 問(wèn)題匯總 問(wèn)題一:flask_mig

    2024年01月16日
    瀏覽(57)
  • Flask數(shù)據(jù)庫(kù)之SQLAlchemy--介紹--鏈接數(shù)據(jù)庫(kù)

    Flask數(shù)據(jù)庫(kù)之SQLAlchemy--介紹--鏈接數(shù)據(jù)庫(kù)

    目錄 SQLAlchemy介紹 SQLAlchemy連接數(shù)據(jù)庫(kù)? 數(shù)據(jù)庫(kù)是一個(gè)網(wǎng)站的基礎(chǔ)?。。?比如MySQL、MongoDB、SQLite、PostgreSQL等,這里我們以MySQL為例進(jìn)行講解。 SQLAlchemy是一個(gè)ORM框架 對(duì)象關(guān)系映射 (英語(yǔ): Object Relational Mapping ,簡(jiǎn)稱 ORM ,或 O/RM ,或 O/R mapping ),是一種程序設(shè)計(jì)技術(shù),用于實(shí)

    2024年02月07日
    瀏覽(27)
  • Flask連接數(shù)據(jù)庫(kù)

    目錄 ? 導(dǎo)入相應(yīng)包 創(chuàng)建接口 基于上述db對(duì)象創(chuàng)建一個(gè)Student 添加信息 顯示學(xué)生信息 修改與刪除信息 ? html頁(yè)面 將表單的 action 直接指向當(dāng)前路徑,這就要求在當(dāng)前路徑所對(duì)應(yīng)的函數(shù)中,對(duì) POST 數(shù)據(jù)進(jìn)行處理: html頁(yè)面 添加路由 html頁(yè)面如下 修改代碼如下 刪除代碼如下 ? ?

    2024年02月15日
    瀏覽(43)
  • Flask-數(shù)據(jù)庫(kù)-SQLAlchemy

    Flask-數(shù)據(jù)庫(kù)-SQLAlchemy

    SQLAlchemy是flask的擴(kuò)展,是一個(gè)功能強(qiáng)大的OR映射器,支持多種數(shù)據(jù)庫(kù)后臺(tái),可以將類的對(duì)象映射至數(shù)據(jù)庫(kù)表。 使用這個(gè)工具,可以創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表,并為數(shù)據(jù)庫(kù)添加數(shù)據(jù),進(jìn)行查詢操作等。 參考:Flask SQLAlchemy - Flask 教程 | BootWiki.com ?app=Flask(__name__)? #創(chuàng)建Flask實(shí)例 ?app

    2023年04月09日
    瀏覽(23)
  • flask創(chuàng)建數(shù)據(jù)庫(kù)連接池

    flask創(chuàng)建數(shù)據(jù)庫(kù)連接池

    flask創(chuàng)建數(shù)據(jù)庫(kù)連接池 在Python中,您可以使用 Flask-SQLAlchemy 這個(gè)擴(kuò)展來(lái)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接池。Flask-SQLAlchemy 是一個(gè)用于 Flask 框架的 SQLAlchemy 操作封裝,實(shí)現(xiàn)了 ORM(Object Relational Mapper)。ORM 主要用于將類與數(shù)據(jù)庫(kù)中的表建立映射關(guān)系,使得我們可以非常方便地通過(guò)操作類來(lái)操作

    2024年02月15日
    瀏覽(21)
  • flask筆記 02 | Flask數(shù)據(jù)庫(kù)連接(sqlite、mysql)

    flask筆記 02 | Flask數(shù)據(jù)庫(kù)連接(sqlite、mysql)

    Flask沒(méi)有指定使用的數(shù)據(jù)庫(kù),不像django提供了orm數(shù)據(jù)庫(kù)抽象層,可以直接采用對(duì)象的方式操作數(shù)據(jù)庫(kù)。但為了開(kāi)發(fā)效率,在開(kāi)發(fā)Flask項(xiàng)目中一般會(huì)選擇 SQLALchemy 來(lái)操作數(shù)據(jù)庫(kù),類似django的ORM. SQLALchemy實(shí)際是對(duì)數(shù)據(jù)庫(kù)的抽象,讓開(kāi)發(fā)者不直接使用sql語(yǔ)句進(jìn)行開(kāi)發(fā),而是通過(guò)Pytho

    2024年01月25日
    瀏覽(18)
  • Flask-sqlalchemy更新數(shù)據(jù)庫(kù)

    Flask-sqlalchemy更新數(shù)據(jù)庫(kù)

    Flask開(kāi)發(fā)過(guò)程中,難免不會(huì)在開(kāi)發(fā)工程中修改數(shù)據(jù)庫(kù)信息,如添加字段,修改字段類型等,F(xiàn)lask可以通過(guò)擴(kuò)展庫(kù)flask-migrate來(lái)更新DEBUG中的工程數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)步驟如下: 1、首先需要安裝flask_migrate,pip install flask_migrate 2、因?yàn)閒lask_sqlalchemy是通過(guò)終端命令更新,所以需要f

    2023年04月08日
    瀏覽(15)
  • Flask狼書(shū)筆記 | 05_數(shù)據(jù)庫(kù)

    Flask狼書(shū)筆記 | 05_數(shù)據(jù)庫(kù)

    這一章學(xué)習(xí)如何在Python中使用DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng)),來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理和操作。本書(shū)使用 SQLite 作為示例。 注 :按下 Ctrl+F5 ,或 Shift+F5 可以清除瀏覽器緩存。 分為SQL(Structured Query Language)數(shù)據(jù)庫(kù)和NoSQL(Not Only SQL)數(shù)據(jù)庫(kù)。 SQL :稍顯復(fù)雜,但不容易出錯(cuò),可以適應(yīng)大

    2024年02月09日
    瀏覽(47)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包