---恢復內容開始---
首先要安裝 flask-sqlalchemy
數據庫連接設置
在flask-SQLAlchemy中,數據庫使用URL指定,而且程序使用的數據庫必須保存到flask配置對象的SQLALCHEMY_DATABASE_URL鍵中
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/xinagmu?charset=utf8'
划橫線哪里填庫的名稱,root后面跟數據庫的密碼
其他相關配置

相關的增刪改查
from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_pyfile('config.ini') # 建立數據庫對象 db = SQLAlchemy(app) # 建立數據庫類,用來映射數據庫,將數據庫的模型作為參數傳入 class User(db.Model): # 聲明表明 __tablename__ = 'user' # 建立字段數 Column字段名 固定寫法 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200)) password = db.Column(db.String(200)) # 數據庫的入庫操作 @app.route("/") def index(): # 增加,入庫邏輯 # 聲明一個對象 # user = User(name='ssss', password='ssss') # # 調用 添加方法 # db.session.add(user) return '這是首頁' # 數據庫的刪除操作 @app.route('/del') def del_(): # 根據某個字段做刪除,filter_by可以理解為where 條件限定 # 翻譯為delete from user where id = 1 User.query.filter_by(id=1).delete() return '刪除' # 數據庫的修改操作 @app.route('/edit') def edit(): # 根據某個字段做修改操作 # 翻譯為 update user set name = '張三' where id = 2 User.query.filter_by(id=4).update({'name': 'susu'}) return '修改' # 數據庫的查詢操作 @app.route('/select') def select(): # 簡單的的全量查詢 # 翻譯為select *from user ulist = User.query.all() print(ulist) for i in ulist: print(i.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) print(items) # 使用原生sql語句進行修改操作 # db.session.execute("update user set password='1234' where id=5 ") return '修改'if __name__ == "__main__": app.run()
小案例:
from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_pyfile('config.ini') app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/xinagmu?charset=utf8' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) class Movies(db.Model): id = db.Column(db.Integer, primary_key=True) photo = db.Column(db.String(200)) title = db.Column(db.String(100)) score = db.Column(db.String(100)) evalueate = db.Column(db.String(100)) @app.route('/') def index(): items = db.session.execute('select *from movies') items = list(items) print(items) return render_template('movies.html', items=items) if __name__ == "__main__": app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>movies</title>
</head>
<body>
<table border="1">
<tr>
<td>id</td>
<td>photo</td>
<td>title</td>
<td>score</td>
<td>evalueate</td>
</tr>
{% for i in items %}
<tr>
<td>{{ i.id }}</td>
<td><img src="{{ i.photo }}" /></td>
<td>{{ i.title }}</td>
<td>{{ i.score }}</td>
<td>{{ i.evalueate }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
效果:

---恢復內容結束---
