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 ...
随机推荐
- nginx配置静态页面访问
server { server_name static.naice.me; // 你的域名或者 ip # 域名:static.naice.me 这里用 "_" 代表获取匹配所有 ...
- Scrapy 代理IP
Scrapy 代理IP 一.Scarpy使用代理IP 1.在setting.py 配置 代理服务器IP 2.在middlermares.py 配置 downloadmiddlermare(下载中间件) ...
- 使用nginx mirror 制作nexus 的简单ha
主要是运行两台nexus 机器,通过nexus 的host 以及proxy 以及public 模型,结合nginx 的mirror 将对于host 的get 请求 mirror 到另一台机器pro ...
- java8_api_nio
NIO-1 nio的概念 Buffer的属性 Buffer中数据的读写 用以提高IO处理数据的性能问题,之前io里的单位是Byte(java程序向流中写入byte或相反 ...
- 20175202 《Java程序设计》第三周学习总结
20175209 2018-2019-2 <Java程序设计>第三周学习总结 教材知识点总结 1.编程语言发展阶段: 面向机器语言——面向过程语言——面向对象语言. 2.类声明: 类名必须 ...
- 我提出了一个 Lean Html 5 的 概念 和 标准
提出 Lean Html 5 是因为 Html 可以作为 一个 应用程序 开发 的 标准 和 平台, 应用程序 包括 Web 程序 , 本地程序 , 桌面程序 , 嵌入式程序 , 串口通信 等 . L ...
- shell生成随机字符串
#!/bin/bash i=1while [ $i -le 10000 ]doa=`echo `< /dev/urandom tr -dc A-Za-z0-9 | head -c6``echo ...
- [转]C#调用C++dll
本文转载至http://www.cnblogs.com/ysharp/archive/2012/05/25/2517803.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问 ...
- html5/h5课件如何制作?
随着flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上来就问我,flash课件能直接转成Html5课件么?答案 ...
- C#使用Linq to Sqlite
1.首先到Nuget命令行运行: Install-Package linq2db.SQLite 2.在项目下添加一个文件夹:DataModels,用以存放数据库相关的文件,显得规整 3.找到CopyM ...