当前位置: 首页 > news >正文

新疆住房建设厅网站网站流量

新疆住房建设厅网站,网站流量,外包公司做网站怎么样,申请做网站要什么局flask创建数据库连接池 在Python中,您可以使用 Flask-SQLAlchemy 这个扩展来创建一个数据库连接池。Flask-SQLAlchemy 是一个用于 Flask 框架的 SQLAlchemy 操作封装,实现了 ORM(Object Relational Mapper)。ORM 主要用于将类与数据库中的表建立映射关系…

在这里插入图片描述

flask创建数据库连接池

在Python中,您可以使用 Flask-SQLAlchemy 这个扩展来创建一个数据库连接池。Flask-SQLAlchemy 是一个用于 Flask 框架的 SQLAlchemy 操作封装,实现了 ORM(Object Relational Mapper)。ORM 主要用于将类与数据库中的表建立映射关系,使得我们可以非常方便地通过操作类来操作数据库。

以下是 SQLAlchemy 的一些关键特点:

  • ORM(Object-Relational Mapping):SQLAlchemy 提供了一套完整的 ORM 系统,它可以将数据库表映射为 Python 类,将表中的行映射为这些类的实例,将列映射为实例的属性。通过这种映射,你可以使用面向对象的方式操作数据库,而不必编写 SQL 语句。
  • 数据库抽象:SQLAlchemy 提供了一套数据库抽象层,它可以适应多种数据库系统,如 MySQL、PostgreSQL、SQLite 等。通过这个抽象层,你可以使用相同的 API 操作不同的数据库系统。
  • SQL 表达式语言:除了 ORM,SQLAlchemy 还提供了一套 SQL 表达式语言,你可以用它来编写 SQL 语句。这个表达式语言提供了比原生 SQL 更高级的抽象,可以更方便地编写复杂的 SQL 语句。
  • 连接池和事务管理:SQLAlchemy 提供了一套连接池和事务管理机制,你可以用它来管理和复用数据库连接,处理事务。

在许多 Python web 框架(如 Flask、Pyramid 等)中,SQLAlchemy 都是默认或推荐的数据库操作库。它提供了许多强大的功能,使得数据库操作变得非常方便和高效。

以下是一种创建 Flask-SQLAlchemy 连接池的方式:

  1. 安装 Flask-SQLAlchemy。如果您还没有安装,可以使用以下命令进行安装:
pip install Flask-SQLAlchemy
  1. 在你的 Flask 应用中设置 SQLAlchemy 的数据库 URI 和连接池的大小:
from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'
app.config['SQLALCHEMY_POOL_SIZE'] = 20
db = SQLAlchemy(app)

上述代码中 'mysql://username:password@localhost/db_name' 是你的数据库连接信息,你需要替换为实际的值。SQLALCHEMY_POOL_SIZE 是连接池的大小,你可以根据实际需要设置。

  1. 使用 db 对象进行数据库操作。例如,定义一个模型:
class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)email = db.Column(db.String(120), unique=True, nullable=False)def __repr__(self):return '<User %r>' % self.username
  1. 您可以使用 db.session 来进行数据库事务,如增删查改等:
user = User(username='test', email='test@example.com')
db.session.add(user)
db.session.commit()

这样就实现了一个 Flask 的 SQLAlchemy 数据库连接池。请注意,如果数据库是 PostgreSQL 或其他类型,需要更改 SQLALCHEMY_DATABASE_URI 中的 'mysql://' 部分。

User模型解释

上述代码中的 User 是一个 SQLAlchemy 的模型,它表示了一个数据库表。在这个例子中,这个表的名称默认是 “user”,并且它有三个字段:id,username 和 email。

  • class User(db.Model): 这一行定义了 User 类,该类继承自 db.Model,所以它具有 SQLAlchemy Model 的所有属性和方法。
  • id = db.Column(db.Integer, primary_key=True) 这一行定义了一个名为 “id” 的列。该列的类型是 Integer,并且它被设置为表的主键。
  • username = db.Column(db.String(80), unique=True, nullable=False) 这一行定义了一个名为 “username” 的列。该列的类型是 String,长度最大为80。unique=True 意味着这个表中的 “username” 必须是唯一的,nullable=False 意味着这个列不能为 NULL。
  • email = db.Column(db.String(120), unique=True, nullable=False) 这一行定义了一个名为 “email” 的列。这个列的类型是 String,长度最大为120。同样地,unique=Truenullable=False 分别表示这个列必须具有唯一值,并且不能为 NULL。
  • def __repr__(self): 这是一个魔法方法,当你尝试打印一个 User 对象时,Python 会调用这个方法。在这个例子中,它将返回一个字符串,如 <User 'username'>

这个 User 模型可以用来操作数据库中的用户表。例如,你可以使用这个模型来查询用户,添加新的用户,或者删除用户。

下面是一个删除用户的例子:

user = User.query.filter_by(username='test').first()  # 查询用户名为 'test' 的用户
if user:db.session.delete(user)  # 如果用户存在,就删除这个用户db.session.commit()  # 提交事务
  • user = User.query.filter_by(username='test').first():这行代码查询数据库中用户名为 ‘test’ 的用户。filter_by() 是一个过滤方法,它返回满足条件的结果。first() 是一个查询方法,它返回查询结果的第一项。如果查询结果为空,那么 first() 将返回 None
  • if user::这个判断语句检查查询结果是否为 None。如果 userNone,说明数据库中没有用户名为 ‘test’ 的用户,因此我们不能删除它。如果 user 不是 None,说明我们找到了一个用户名为 ‘test’ 的用户,因此我们可以删除它。
  • db.session.delete(user):这行代码删除查询到的用户。delete() 方法接受一个 SQLAlchemy 模型的实例作为参数,并将其标记为待删除。
  • db.session.commit():这行代码提交事务,将所有的改动(包括删除操作)保存到数据库。如果你没有调用 commit(),那么 delete() 的改动不会被保存到数据库。

请注意,如果你尝试删除一个不存在的对象,SQLAlchemy 会抛出一个异常。所以在删除之前,你应该检查你的对象是否存在。

补充

虽然这个User类代表了数据库中的一个表,但是并不意味着这个表已经在数据库中创建了。在你第一次操作这个表之前,你需要确保这个表已经在数据库中创建。你可以使用 db.create_all() 方法来自动创建所有的表,或者你也可以手动在数据库中创建这个表:

  1. 使用 db.create_all() 方法。这个方法会自动创建所有定义的但尚未在数据库中存在的表。这个方法通常在 Flask 应用启动时运行一次,例如:

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'
    db = SQLAlchemy(app)class User(db.Model):# ...db.create_all()
    
  2. 手动在数据库中创建这个表。你可以通过 SQL 语句或者数据库管理工具在数据库中创建这个表。

如果你尝试对一个在数据库中不存在的表进行操作(如查询、添加记录或删除记录),SQLAlchemy 会抛出一个错误。所以在操作表之前,你应该确保这个表已经在数据库中存在。

http://www.hkea.cn/news/470979/

相关文章:

  • 百度网站排名关键词整站优化培训网站建设
  • 网络平台代理seo外包 杭州
  • 东方头条网站源码免费推广软件工具
  • 北京网站建设公司分享网站改版注意事项流程优化四个方法
  • 案例学 网页设计与网站建设手机百度seo快速排名
  • 江门网站建设总部电话产品推广渠道有哪些
  • 网站建设全攻略站长之家ping检测
  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计
  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名
  • 做网站要有什么团队淘宝关键词排名查询工具
  • 开源门户网站源码宁波谷歌seo
  • wordpress+一页一屏seo关键技术有哪些
  • 学校校园网站建设实施方案精准营销的案例
  • 腾讯云服务器可以做网站可以推广发广告的app
  • seo外链友情链接网站运营推广选择乐云seo
  • 做网站 要学 什么语言网站优化公司
  • 天乐测绘网做网站吗搜索引擎广告图片
  • 湖南营销型网站建设多少钱百度关键词优化软件网站
  • 怎样给网站做关键词优化百度词条
  • 做网站哪个平台搭建网站需要什么技术
  • 做gif图的网站简述网络营销的主要方法
  • 做图网站被告seo视频网页入口网站推广
  • 做的网站底部应该标注什么意思免费文案素材网站
  • 企业网站搜索引擎拓客农夫山泉软文300字
  • 青岛黄岛区网站开发武汉seo优化