1. 程式人生 > >Flask對資料庫的操作-----

Flask對資料庫的操作-----

首先得做好做基本的框架

# -*- encoding: utf-8 -*-
from flask import Flask,render_template

#匯入第三方連線庫sql點金術
from flask_sqlalchemy import SQLAlchemy

#建立物件
app = Flask(__name__)

#載入配置檔案
app.config.from_pyfile('config.ini')

# #指定資料庫連線還有庫名
# app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]
:3306/my_flask?charset=utf8' #指定配置,用來省略提交操作 # app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True #建立資料庫物件 db = SQLAlchemy(app) #建立資料庫,用來對映資料庫表,將資料庫的模型作為引數傳入 class User(db.Model): #宣告表名 __tablename__ = 'user' #建立欄位函式 id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(200)) password = db.Column(db.String(200)) @app.route('/') def index(): return "這是首頁" if __name__ == "__main__": app.run()

  

對資料庫的增

@app.route('/')
def index():
    #增,,入庫邏輯
    #宣告物件
    user = User(name = '你好你好', password = '456456')
    #呼叫新增方法
    db.session.add(user)
    #提交入庫
    # db.session.commit()

    return '這裡是首頁'

  

對資料庫的刪

@app.route('/del')
def del_user():
    #根據某個欄位做刪除,filter_by 可以理解為where條件限定
    #翻譯為 delete from user where id = 1
    User.query.filter_by(id = 3).delete()
    return '這裡是刪除操作'

  

 

對資料庫的改

@app.route('/edit')
def edit_user():
    #根據某個欄位做修改操作
    #翻譯為 update user set name = '張三' where id = 2
    User.query.filter_by(id=5).update({'name':'張三'})
    return '這裡是修改操作'

 

 

對資料庫的查

@app.route('/select')
def select_user():
    #簡單的全量查詢
    #翻譯為 select * from user
    ulist = User.query.all()
    print(ulist)
    for item in ulist:
        print(item.id,item.name)

    #只取一條
    #翻譯為select * from user limit 1
    ulist = User.query.first()
    print(ulist)


    #使用原生的sql語句
    #翻譯為 select * from user order by id desc limit 1,2
    items = db.session.execute('select * from user order by id desc ')
    #將結果集強轉成list
    items = list(items)
    print(items)


    #使用原生語句進行修改操作
    # db.session.execute(" update user set password = '31313' where id = 6")

    #將動態資料傳遞給模板
    return render_template('day5.html',item = items)