Flask对数据库的操作-----
首先得做好做基本的框架
# -*- encoding: utf-8 -*-
from flask import Flask,render_template #导入第三方连接库sql点金术
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/my_flask?charset=utf8' #指定配置,用来省略提交操作
# app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True #建立数据库对象
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('/')
def index():
return "这是首页" if __name__ == "__main__":
app.run()
对数据库的增
@app.route('/')
def index():
#增,,入库逻辑
#声明对象
user = User(name = '你好你好', password = '456456')
#调用添加方法
db.session.add(user)
#提交入库
# db.session.commit()
return '这里是首页'
对数据库的删
@app.route('/del')
def del_user():
#根据某个字段做删除,filter_by 可以理解为where条件限定
#翻译为 delete from user where id = 1
User.query.filter_by(id = 3).delete()
return '这里是删除操作'
对数据库的改
@app.route('/edit')
def edit_user():
#根据某个字段做修改操作
#翻译为 update user set name = '张三' where id = 2
User.query.filter_by(id=5).update({'name':'张三'})
return '这里是修改操作'
对数据库的查
@app.route('/select')
def select_user():
#简单的全量查询
#翻译为 select * from user
ulist = User.query.all()
print(ulist)
for item in ulist:
print(item.id,item.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 ')
#将结果集强转成list
items = list(items)
print(items)
#使用原生语句进行修改操作
# db.session.execute(" update user set password = '31313' where id = 6")
#将动态数据传递给模板
return render_template('day5.html',item = items)
Flask对数据库的操作-----的更多相关文章
- Flask:数据库的操作
1.对数据库的增加操作 在Django中,数据库查询需要借助objects方法,在Flask中也有类似的操作.在执行对数据库的增加操作之前,我们首先需要实例化一个session对象,这里的sessio ...
- Flask学习笔记:数据库迁移操作flask-script+alembic/flask-migrate
数据库迁移是将代码中模型类(即表)的修改同步到数据库中, flask-sqlalchemy的模型类一旦使用create_all()映射到数据库中后,对这个模型类的修改(例如添加了一个新的字段)就不会再 ...
- Flask学习笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy
Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqla ...
- python框架之Flask基础篇(二)-------- 数据库的操作
1.flask连接数据库的四步: 倒入第三方数据库扩展包:from flask_sqlalchemy import SQLAlchemy 配置config属性,连接数据库: app.config[&q ...
- Flask之数据库设置
4 数据库 知识点 Flask-SQLALchemy安装 连接数据库 使用数据库 数据库迁移 邮件扩展 4.1 数据库的设置 Web应用中普遍使用的是关系模型的数据库,关系型数据库把所有的数据都存储在 ...
- flask写入数据库
sqlalchemy是一个关系型数据库框架,它提供了高层的ORM 和底层的原生数据库的操作. sqlalchemy实际上是对数据库的抽象,通过python对象操作数据库,提高开发效率. 安装 flas ...
- 【Python】Flask系列-数据库笔记
MySQL-python中间件的介绍与安装: 1.如果是在类unix系统上,直接进入虚拟环境,输入sudo pip install mysql-python. 2.如果是在windows系统上,那么在 ...
- 简单的vue.js的表单提交数据至flask然后数据库入库,再将表里面的数据展示在网页
一.先在数据库中创建表格 在mysql中建users库并建立一个含有ID,username,email三个字段的user表 二.去vue的组件里面写页面的表单代码,注意form标签里的action需要 ...
- Flask:数据库的建模
学习完模板系统,接下来要研究的就是框架对数据库的操作,不论python的那个框架,直接使用数据库API(redis.pymysql等)都可以进行操作,但是这些操作不够方便,于是就有了ORM 1.Fla ...
随机推荐
- openpyxl工具总结
1.openpyxl使用 涉及到单元格合并.赋值 ''' .格式转换 raw_data create_data boolean Bool uint8 UInt8 int8 Int8 uint16 UI ...
- Error: no override found for 'vtkRenderWindow'
VSK7.1+QT5.10环境下报该错误,应该在mainwindow.cpp中添加如下语句 记住,是在mainwindow.cpp中添加,不是在main.cpp中添加:
- 2_PY基本数据类型
python的数据类型和R差不多,但是需要注意的是字符访问方式与R不一样,另外,python中的“真”和“假”是True False(首字母大写). 1.字符串 字符串和R的定义差不多比如: data ...
- vim的学习
vi和vim的关系: vim是vi发展而来的. 2.vim的三种模式: 1>.命令模式 -- 打开文件后,默认进入命令模式. 2>.编辑模式 -- 需要输入一些命令,切换到编辑模式. 3& ...
- ZZFAFA_BilibiliMusic_DownUrl
OneDrive_DownFileUrl: FHProductionHK-BGM:https://1drv.ms/f/s!Ajs97XY1QSQ8cPXo36h4AK9XG7k CABAL&A ...
- web前端调试的消除缓存对更改页面的影响
平时调试网页的时候经常会短时间多次修改html和css文件,已达到最好的体验效果,但是有时候因为浏览器缓存的原因就导致虽然代码修改了,但是 页面还是没什么变化, 经常以为是自己代码修改的不对, 之后发 ...
- Panel 中加载窗体
pnlMain.Controls.Clear(); ControlAnalyzer1 CA1 = new ControlAnalyzer1(); CA1.TopLevel = false; CA1.S ...
- 黄聪:C#中CefSharp的简单使用
C#中CefSharp的简单使用 https://blog.csdn.net/qq_26712977/article/details/78282995
- HTML5 Audio(音频)
<audio controls> <source src="horse.ogg" type="audio/ogg"> <s ...
- let const区别!
这次做项目在申明变量的时候用到let const 总结下这两个区别 : 首先 let与const都是只在声明所在的块级作用域内有效. let声明的变量可以改变,值和类型都可以改变,没有限制.const ...