1. 程式人生 > >flask連線資料庫的增刪改查

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語句')