flask連線資料庫的增刪改查
阿新 • • 發佈:2018-12-25
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=1User.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語句')