flask連接數據庫的增刪改查


flask日常步驟省略

 1 #建立數據庫對象
 2 db = SQLAlchemy(app)
 3 
 4 #建立數據庫類,用來映射數據庫表,將數據庫的模型作為參數傳入
 5 class User(db.Model):
 6     #聲明表名
 7     __tablename__ = 'user'
 8     #建立字段函數
 9     id = db.Column(db.Integer,primary_key=True)
10     name = db.Column(db.String(200))
11     password = db.Column(db.String(200))
12 
13 #數據庫入庫操作
14 @app.route('/')
15 def index():
16     #增,入庫邏輯
17     #生命對象
18     user = User(name='你好你好',password='456456')
19     #調用添加方法
20     db.session.add(user)
21     #提交入庫,上面已經導入了提交配置,所以不需要在提交了
22     # db.session.commit()
23     return '這是首頁'

#建立數據庫對象
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('/del')
def del_user():
    #根據某個字段做刪除,filter_by可以理解為where 條件限定
    #翻譯為  delete from user where id=1
    User.query.filter_by(id=1).delete()
    return '這里是刪除操作'

 1 #建立數據庫對象
 2 db = SQLAlchemy(app)
 3 
 4 #建立數據庫類,用來映射數據庫表,將數據庫的模型作為參數傳入
 5 class User(db.Model):
 6     #聲明表名
 7     __tablename__ = 'user'
 8     #建立字段函數
 9     id = db.Column(db.Integer,primary_key=True)
10     name = db.Column(db.String(200))
11     password = db.Column(db.String(200))
12 
13 #數據庫的修改操作
14 @app.route('/edit')
15 def edit_user():
16     #根據某個字段做修改操作
17     #翻譯為update user set name='張三' where id=4
18     User.query.filter_by(id=4).update({'name':'張三'})
19     return '這里是修改操作'

 

 1 #建立數據庫對象
 2 db = SQLAlchemy(app)
 3 
 4 #建立數據庫類,用來映射數據庫表,將數據庫的模型作為參數傳入
 5 class User(db.Model):
 6     #聲明表名
 7     __tablename__ = 'user'
 8     #建立字段函數
 9     id = db.Column(db.Integer,primary_key=True)
10     name = db.Column(db.String(200))
11     password = db.Column(db.String(200))
12 
13 #數據庫的查詢操作
14 @app.route('/select')
15 def select_user():
16     # #簡單的全量查詢
17     # # 翻譯為  select * from user
18     # ulist = User.query.all() 
19     # print(ulist)
20     # for i in ulist:
21     #     print(i.name,i.password)
22 
23     # #只取一條
24     # ulist = User.query.first()
25     # print(ulist)
26 
27     # #使用原生的sql語句
28     # #翻譯為  select * from user order by id desc limit 1,2
29     item = db.session.execute('select * from user order by id desc')
30     # #將結果集強轉為list
31     item = list(item)
32     # print(item)
33     # item = db.session.execute('update user set password = "321321" where id=7')
34     #將動態數據傳遞給模板
35     return render_template('day5.html',item = item)

查中的html頁面

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>動態數據庫展示</title>
 8     <style>
 9         table{
10 
11             border: 5px dashed gold;
12             background-color: blueviolet;
13             padding: 10px;
14 
15         }
16     </style>
17 </head>
18 <body>
19     <table>
20         {# 對數據進行遍歷輸出,循環tr標簽 #}
21         {% for i in item %}
22             <tr>
23                 <td>{{ i.id }}</td>
24                 <td>{{ i.name }}</td>
25                 <td>{{ i.password }}</td>
26             </tr>
27         {% endfor %}
28 
29 
30     </table>
31 </body>
32 </html>

注:

以上就是flask連接數據庫的增刪改查

如果不習慣,也可以使用原生數據庫的增刪改查

格式為 :

item = db.session.execute('sql語句')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM