如何用flask实现一个web应用来显示在mysql数据库中查询到的内容

如何用flask实现一个web应用来显示在mysql数据库中查询到的内容,第1张

用 Flask-SQLAlchemy(SQLAlchemy ORM 模块的 Flask 定制版)。这个在定义 schema、连接数据库、增删改查方面都给你提供极大的便利。

这个对象就包含 sqlalchemy 和 sqlalchemyorm 中的所有函数和助手。此外它还提供一个名为 Model 的类,用于作为声明模型时的 delarative 基类:

from flask import Flask

from flaskextsqlalchemy import SQLAlchemy

app = Flask(__name__)

appconfig['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/testdb'

db = SQLAlchemy(app)

class User(dbModel):

id = dbColumn(dbInteger, primary_key=True)

username = dbColumn(dbString(80), unique=True)

email = dbColumn(dbString(120), unique=True)

def __init__(self, username, email):

selfusername = username

selfemail = email

def __repr__(self):

return '' % selfusername

这个问题经常难道新手一下,因为大部分教程里(包括经典的《Flask Web开发》一书),告诉了我们如何使用flask-sqlalchemy *** 作sqlite,但在生产环境(线上网站)上,我们肯定是使用MySQL或其他,而大部分的教程里,又告诉我们flask-sqlalchemy使用MySQL的方式是:

mysql://username:password@server/db

结果我们照葫芦画瓢的来一下,发现压根不行,写好的网站一跟数据库沾边就报错。

Python和MySQL是「两个国家的人」,他们互不相通,因而需要一个中间代理,让双方互通有无,跟翻译一样(这比喻不准确,但足够你明白意思就行)。翻译又有很多选择,不同的翻译各有特色。

题主解决问题选择的翻译是「flask-mysqldb」,其背后的主子是「MySQL-python」。恩,说到这里你应该知道,「flask-xxx」这样的包都是对背后主子进行了适合Flask封装的插件,跟包子皮一样,里面的馅才是重点,「flask-mysqldb」的馅是「MySQL-python」。

而我要推荐的是另一个翻译:PyMySQL,这玩意的好处是可以做异步(「MySQL-python」也可以,个人口味罢了),简而言之,网站访问量大了就需要考虑异步,现在别管这是啥子。这玩意的安装方式是:

pip install PyMySQL

之后,数据库连接由:

mysql://username:password@server/db

改为

mysql+pymysql://username:password@server/db

就可以了。

1

先简单叙述一下, 为什么会有update这个修改功能, 就比方说, 我们都有空间, 空间里面都有一个功能叫做发文章, 如果没有update,

这个功能, 那就会导致, 你的文章提交保存之后, 就永远不能修改 你说, 我写文章能够保存100%的正确 但是, 如果你要改呢 所以,

就有update这个关键字

2

看第一个案例 这里只说明案例不剖析原理 首先我们要明确我们做什么 我们要更新数据, 所以, 就要使用update的语法结构

在这个步骤之前, 我们要写说一下, 现在的环境变 首先, 你要有库, 要有表, 还要有数据, 没有数据, 怎么可能会有更新你要更新的数据呢

然后有库有表有数据, 就可以 *** 作数剧了

3

第一个 *** 作: 更新 content 的内容为 content 这里, 就是一个简单的修改, 然后修改表里面所有的

content 字段里面的数据 都会把字段为 content 的值, 修改成 content , 这个是最简单的更新数据的情况

但是这个一般不实用, 我在开发的过程中, 也很少使用到这种情况 因为有些表里面不是一条, 2条数据, 有可能就是上百万的数据 更新一下,

就够你哭的了

第一个图, 是查询出来数据, 然后在执行更新 然后你会发现表里面所有的content字段的值都变成了content了

4

果我们不是全部更新呢 我们就想更新某些条数据, 可以不可以做呢 答案是肯定可以的 这里 update 一样可以如 select

那样使用过滤条件, 就是使用关键字where 比方说, 我们要把id = 1 的数据content内容改成, '这个是id1的内容'

5

更新的时候, 特别是在控制台下, 有时候, 你会发现这样的情况, 就是你明明已经更新了, 而且在更新之后, 查询的, 但是,

在开发中就是查询不到更新的内容, 那有可能是因为你没有做commit 在更改表里面的内容的时候, 都是有事物的这个概念的

就是你不提交(commit)你做的东西, 其他人是看不到你更新的内容的

6

这里只是给出了单表的 *** 作方法, 在update的时候,一样可以进行多表 *** 作 做错的过程中, 一定要找到对应关系, 否则会出现你意想不到的修改数据的错误

以上就是关于如何用flask实现一个web应用来显示在mysql数据库中查询到的内容全部的内容,包括:如何用flask实现一个web应用来显示在mysql数据库中查询到的内容、在python3下怎样用flask-sqlalchemy对mysql数据库 *** 作、flask +mysql 怎样更新数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9745891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存