1. 程式人生 > >Flask中Mysql資料庫的常見操作

Flask中Mysql資料庫的常見操作

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/myflask?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('/select') def select_user(): #簡單的全量查詢 #翻譯為select * from user ulist = User.query.all() print(ulist) for item in ulist: print(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 limit 1,2') #將結果集強轉為list items = list(items)

#使用原生語句進行修改操作 # db.session.execute("update user set password = '12355554' where id=6 ") # return "這裡是查詢頁面"
#將動態資料傳遞給模板 return render_template('day5.html',items=items)

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

#資料庫的刪除操作(刪) @app.route("/del") def del_user(): #根據某欄位做刪除,filter_by可以理解為where條件限定 #翻譯為 delete from user where id=1 User.query.filter_by(id=1).delete() return "這裡是刪除操作"
#資料庫入庫操作(增) @app.route("/") def index(): #增,入庫邏輯 #宣告物件 user = User(name='賈還虎',password='18636061558') #呼叫新增方法 db.session.add(user) #提交入庫 db.session.commit() return "這是一個首頁"
if __name__ == "__main__": app.run()