Python flask sqlalchemy的简单使用及常用操作

本文将为大家介绍Python Flask结合SQLAlchemy的简单使用及常用操作,内容分为以下几个部分:

  1. Flask简介
  2. SQLAlchemy简介
  3. 简单使用Flask和SQLAlchemy
  4. 常用操作
  5. 示例说明
  6. 总结

1. Flask简介

Flask是一个轻量级的Python web开发框架,它的核心思想是保持简单和灵活。Flask的特点是基于Werkzeug WSGI工具箱和Jinja2模板引擎,使用Python语言编写。

2. SQLAlchemy简介

SQLAlchemy是一款Python的ORM库,全称Object Relational Mapping,即对象关系映射,它采用了类似于Hibernate的数据映射模式,将关系数据库的表结构映射到了对象上。使用SQLAlchemy可以大大减少编写SQL语句的时间,同时还可以让Python程序员更加方便地使用关系型数据库。

3. 简单使用Flask和SQLAlchemy

3.1 安装Flask和SQLAlchemy

可以使用pip安装Flask和SQLAlchemy:

pip install Flask
pip install SQLAlchemy

3.2 构建Flask应用

导入Flask和SQLAlchemy库后,可以像下面这样构建一个简单的Flask应用:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)

if __name__ == '__main__':
    app.run()

3.3 定义模型

定义一个模型类,用于表示数据库中的一个表:

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, name, email):
        self.name = name
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.name

3.4 创建数据库表

继承自db.Model的类都可以通过db.create_all()方法来创建对应的数据表。对于本文中的User模型,可以通过如下命令来创建:

from app import db

db.create_all()

3.5 操作数据库

Flask和SQLAlchemy一起使用时,可以很方便地执行CRUD操作。下面是操作数据库的一些常用方法:

# 添加一条记录
user = User('admin', 'admin@example.com')
db.session.add(user)
db.session.commit()

# 查询所有记录
users = User.query.all()

# 根据主键查询
user = User.query.get(1)

# 根据条件查询
user = User.query.filter_by(name='admin').first()

# 修改一条记录
user = User.query.get(1)
user.email = 'new_email@example.com'
db.session.commit()

# 删除一条记录
user = User.query.get(1)
db.session.delete(user)
db.session.commit()

4. 常用操作

4.1 数据库连接配置

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@server:port/database'

4.2 定义模型

class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    age = db.Column(db.Integer)

4.3 创建表格

db.create_all()

4.4 插入数据

user1 = User(id=1, name='Alice', age=23)
user2 = User(id=2, name='Bob', age=24)
db.session.add_all([user1, user2])
db.session.commit()

4.5 查询数据

# 获取所有用户
users = User.query.all()

# 获取id为1的用户
user = User.query.get(1)

# 获取姓名为'Alice'的用户
users = User.query.filter_by(name='Alice')

# 获取姓名包含'B'的用户
users = User.query.filter(User.name.like('%B%'))

4.6 更新数据

user = User.query.filter_by(id=1).first()
user.age = 24
db.session.commit()

4.7 删除数据

user = User.query.filter_by(id=1).first()
db.session.delete(user)
db.session.commit()

5. 示例说明

下面是两个简单的示例:

5.1 Python Flask和SQLAlchemy实现注册登录示例

实现注册和登录的功能,使用MySQL数据库存储用户信息。具体代码实现可以参考这个仓库: https://github.com/luozijian/flask-login-register

5.2 Python Flask和SQLAlchemy实现博客网站示例

实现一个简单的博客网站,包含了博客的创建、编辑、删除等操作。具体代码实现可以参考这个仓库: https://github.com/miguelgrinberg/flasky

6. 总结

本文介绍了Python Flask和SQLAlchemy的简单使用及常用操作。Flask是一个轻量级的Python web开发框架,而SQLAlchemy是一款Python的ORM库,两者结合可以大大减少编写SQL语句的时间,让Python程序员更加方便地使用关系型数据库。在实际开发过程中,我们可以使用Flask和SQLAlchemy来构建Web应用和互联网服务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python flask sqlalchemy的简单使用及常用操作 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • flask路由分模块管理及自定义restful响应格式详解

    让我来详细讲解一下 “flask路由分模块管理及自定义restful响应格式详解”。 分模块管理路由 对于复杂的 Flask 应用程序,通常需要将路由根据其功能进行分类和组织。这便是 Flask 蓝图的用处。蓝图可以让我们更好的组织视图函数及其关联的路由。 以下是 Flask 蓝图的使用方式: 导入 Blueprint 类 pythonfrom flask …

    Flask 2023年5月16日
    00
  • flask/django 动态查询表结构相同表名不同数据的Model实现方法

    Flask/Django是目前非常流行的Python Web框架,可以用于开发各种规模的Web应用程序。在开发Web应用程序时,经常需要动态地查询不同数据表中结构相同的数据。本文将介绍如何实现动态查询表结构相同、表名不同的数据表。 方法一:使用Django的多数据库 在Django应用程序中,可以使用多个数据库连接(Multi-database)来连接多个数…

    Flask 2023年5月16日
    00
  • Python利用flask sqlalchemy实现分页效果

    下面为你详细讲解如何利用flask sqlalchemy实现分页效果。 准备工作 首先,我们需要安装flask sqlalchemy包,可以通过 pip install flask_sqlalchemy 命令进行安装。另外,我们还需要创建一个用于存储数据的数据库。这里我们使用sqlite作为数据库,创建一个名为example.db的数据库文件,以存储数据。 …

    Flask 2023年5月15日
    00
  • 详解 Flask 消息闪现方法

    Flask 消息闪现是指将一条消息存储到 session 中,然后在下个 HTTP 请求中进行显示,然后立即从 session 中删除这条消息。这在用户注册、登录、注销等场景下非常有用。 本文将为大家详细介绍 Flask 消息闪现的完整攻略,包括以下内容: 创建 Flask 应用 添加消息闪现功能 在模板中显示闪现消息 在视图函数中设置闪现消息 完整示例代码…

    Flask 2023年3月13日
    00
  • Flask框架中的session设置详解

    Flask是一个非常流行的Python Web框架,它提供了许多功能来帮助Web开发者构建高效和可维护的Web应用程序。其中,session是Flask框架提供的一个功能强大的机制,来实现对客户端的状态跟踪。 本文将详细介绍Flask框架中session的设置和使用方法。 什么是session? Session是一种保存在服务器上的对象,用于存储跨请求的信息…

    Flask 2023年5月15日
    00
  • 基于SQLAlchemy实现操作MySQL并执行原生sql语句

    基于SQLAlchemy实现操作MySQL并执行原生sql语句的完整攻略如下: 安装SQLAlchemy 首先需要安装SQLAlchemy,可以通过pip命令安装: pip install sqlalchemy 连接到MySQL数据库 使用SQLAlchemy连接到MySQL数据库的代码如下: from sqlalchemy import create_en…

    Flask 2023年5月16日
    00
  • Flask框架编写文件下载接口过程讲解

    以下是关于Flask框架编写文件下载接口的完整攻略: 1. 准备工作 在开始编写文件下载接口之前,需要先准备好Flask框架及相关依赖。可以通过以下代码安装所需依赖: pip install flask pip install -U flask-cors 在准备工作完成之后,我们需要按照以下步骤进行文件下载接口的编写。 2. 示例一:下载指定路径文件 接下来…

    Flask 2023年5月16日
    00
  • 一个基于flask的web应用诞生 flask和mysql相连(4)

    下面来详细讲解“一个基于flask的web应用诞生 flask和mysql相连(4)”的完整攻略,并且包含两条示例说明。 标题 一、前言 在建立web应用的时候,数据的处理是非常重要的一项任务,而flask本身只是一个web应用框架,并不具备直接处理关系型数据库的能力,需要借助mysql等数据库来进行数据的存取操作。而本篇攻略将讲解如何基于flask框架来实…

    Flask 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部