Flask對資料庫的操作-----
阿新 • • 發佈:2018-12-25
首先得做好做基本的框架
# -*- 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)