---恢复内容开始---

首先要安装  flask-sqlalchemy

数据库连接设置

在flask-SQLAlchemy中,数据库使用URL指定,而且程序使用的数据库必须保存到flask配置对象的SQLALCHEMY_DATABASE_URL键中

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/xinagmu?charset=utf8'

划横线哪里填库的名称,root后面跟数据库的密码

其他相关配置

相关的增删改查

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_pyfile('config.ini') # 建立数据库对象
db = SQLAlchemy(app)
# 建立数据库类,用来映射数据库,将数据库的模型作为参数传入 class User(db.Model): # 声明表明
__tablename__ = 'user'
# 建立字段数 Column字段名 固定写法
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(200))
password = db.Column(db.String(200)) # 数据库的入库操作 @app.route("/")
def index():
# 增加,入库逻辑
# 声明一个对象
# user = User(name='ssss', password='ssss')
# # 调用 添加方法
# db.session.add(user)
return '这是首页' # 数据库的删除操作
@app.route('/del')
def del_():
# 根据某个字段做删除,filter_by可以理解为where 条件限定
# 翻译为delete from user where id = 1
User.query.filter_by(id=1).delete()
return '删除' # 数据库的修改操作 @app.route('/edit')
def edit():
# 根据某个字段做修改操作
# 翻译为 update user set name = '张三' where id = 2
User.query.filter_by(id=4).update({'name': 'susu'})
return '修改' # 数据库的查询操作
@app.route('/select')
def select():
# 简单的的全量查询
# 翻译为select *from user
ulist = User.query.all()
print(ulist) for i in ulist:
print(i.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 limit 1,2')
# 将结果集强转为list
items = list(items)
print(items) # 使用原生sql语句进行修改操作
# db.session.execute("update user set password='1234' where id=5 ") return '修改'if __name__ == "__main__":
app.run()

小案例:

from flask import Flask, render_template
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/xinagmu?charset=utf8'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) class Movies(db.Model):
id = db.Column(db.Integer, primary_key=True)
photo = db.Column(db.String(200))
title = db.Column(db.String(100))
score = db.Column(db.String(100))
evalueate = db.Column(db.String(100)) @app.route('/')
def index():
items = db.session.execute('select *from movies')
items = list(items)
print(items)
return render_template('movies.html', items=items) if __name__ == "__main__":
app.run()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>movies</title>
</head>
<body>
<table border="1">
<tr>
<td>id</td>
<td>photo</td>
<td>title</td>
<td>score</td>
<td>evalueate</td>
</tr>
{% for i in items %}
<tr>
<td>{{ i.id }}</td>
<td><img src="{{ i.photo }}" /></td>
<td>{{ i.title }}</td>
<td>{{ i.score }}</td>
<td>{{ i.evalueate }}</td>
</tr> {% endfor %}
</table>
</body>
</html>

  效果:

---恢复内容结束---

flask与数据库连接相关操作的更多相关文章

  1. python三大框架之一flask中cookie和session的相关操作

    状态保持 Cookie cookie 是指某些网站为了 辨别  用户身份,进行会话跟踪而储存在用户本地的数据(通常会经过加密),复数形式是 coolies. cookie是由服务器端生成,发送给客户端 ...

  2. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  3. PHP对MySQL数据库的相关操作

    一.Apache服务器的安装 <1>安装版(计算机相关专业所用软件---百度云链接下载)-直接install<2>非安装版(https://www.apachehaus.com ...

  4. Flask 的 数据库连接 与 DBUtils 数据库连接池

    Flask 的 数据库连接 与 DBUtils 数据库连接池 本地线程:thread_local 为每个线程创建存储数据的空间,用于线程之间的数据隔离 否则多个线程同时访问,会使得数据混乱 1 Fla ...

  5. MySQL 库、表、记录、相关操作(1)

    库.表.记录.相关操作(1) 数据库配置 # 通过配置文件统一配置的目的:统一管理 服务端(mysqld) .客户端(client) # 配置了 mysqld(服务端) 的编码为utf8,那么再创建的 ...

  6. Phoenix简介概述,Phoenix的Java API 相关操作优秀案例

    Phoenix简介概述,Phoenix的Java API 相关操作优秀案例 一.Phoenix概述简介 二.Phoenix实例一:Java API操作 2.1 phoenix.properties 2 ...

  7. openresty 学习笔记四:连接mysql和进行相关操作

    openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...

  8. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...

  9. 6月20日 Django中ORM介绍和字段、字段参数、相关操作

    一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...

随机推荐

  1. Java Web之Tomcat

    Tomcat的下载安装配置什么的,百度一大把.现在介绍一下Tomcat的文件夹目录结构. 浏览器访问127.0.0.1:8080 出现Tomcat页面即表示安装成功. 这个就是Tomcat的目录了 b ...

  2. Spring+Mybatis+SpringMVC+Atomikos多数据源共存+不同数据库事物一致性处理

    网上找了一大堆的例子,没一个跑通的,都是copy转发,哎,整理得好辛苦..做个笔记,方便正遇到此问题的猿们能够得到帮助....废话不多说,贴代码..... 项目结构说明: 1.dao层的admin.w ...

  3. linux查看IP

    1:输入 ifconfig,出现如下信息,找到eno16777736(网卡ip信息的配置文件名) 2:输入 cd /etc/sysconfig/network-scripts 找到网卡ip信息的配置文 ...

  4. HDU 6400(括号组合 ~)

    题意是说在 h 行 w 列的矩阵中,通过设计使得尽可能多的行或列能满足题中的平衡条件. 如果行数(列数)是奇数,那么每一列(行)一定不能平衡,就要按照满足每一行(列)平衡,输出“ () “:若行数和列 ...

  5. Golang入门教程(十)内建函数

    比较常用的内建函数 参考: http://blog.csdn.net/liumiaocn/article/details/54804074

  6. sqlalchemy外键和relationship查询

    前面的文章中讲解了外键的基础知识和操作,上一篇文章讲解了sqlalchemy的基本操作.前面两篇文章都是作为铺垫,为下面的文章打好基础.记得初一时第一次期中考试时考的不好,老爸安慰我说:“学习是一个循 ...

  7. ArcGis Go to XY功能代码C#

    IPoint point = new PointClass(); point.PutCoords(x,y); IEnvelope pEnvelope= this.m_hookHelper.Active ...

  8. 040、Docker managed volume(2019-03-01 周五)

    参考https://www.cnblogs.com/CloudMan6/p/7152775.html   docker managed volume 与bind mount 在使用上最大的区别是不需要 ...

  9. vue 组件动态 循环

    组件可以是动态的,记录如下 <div v-for="item in arrComponent"> <component v-bind:is="item. ...

  10. 清除 SQL Server Management Studio 服务器名称历史记录

    Ø  前言 在开发过程中,经常使用 SQL Server Management Studio 连接本地或远程 SQL Server 服务器,时间长了可能有些名称就不用了或者重复了,SQL Server ...