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

猜你喜欢

转载自www.cnblogs.com/LeYu/p/10175072.html