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

yizhihongxing

本文将为大家介绍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实现swagger在线文档与接口测试流程详解

    下面来详细讲解一下Flask实现swagger在线文档与接口测试流程的完整攻略。 1.搭建Flask环境 我们先需要安装Flask,可以通过下面的命令来安装: pip install Flask 安装完成后,开始搭建Flask环境。我们需要创建一个app.py文件,文件中的代码如下: from flask import Flask, jsonify, req…

    Flask 2023年5月16日
    00
  • Pycharm+Flask零基础项目搭建入门的实现

    我将为您详细讲解“Pycharm+Flask零基础项目搭建入门的实现”的完整攻略。该攻略分为以下几个步骤: 1. 安装Pycharm和Flask 首先需要安装Python的开发环境——Pycharm。Pycharm是一个功能强大、使用便捷的Python集成开发环境,可以大大提高开发效率。 安装完Pycharm后,需要安装Flask,这是一个基于Python的…

    Flask 2023年5月15日
    00
  • Python实现Web服务器FastAPI的步骤详解

    下面我将为你详细讲解“Python实现Web服务器FastAPI的步骤详解”的完整攻略,包含两条示例说明。 简介 FastAPI是一个快速、现代化、Web框架,用于构建API,它是一个基于到框架运行的代码生成工具 FastAPI的Python Web框架,拥有很多现代和简单易用的特点,如自动生成API文档、类型标注和依赖注入等。本文将详细介绍如何使用Pyth…

    Flask 2023年5月16日
    00
  • python项目打包成exe和安装包的方法步骤

    当你完成了一个Python项目,你可能会想将其转化为一个可执行文件(Executable)或者安装包文件(Installer)来进行分发,本文将详细介绍如何将Python项目打包为exe或者安装包。下面是两条示例步骤。 一、将Python项目打包为exe 步骤1:安装 PyInstaller 打包 Python 项目需要用到一个第三方库 PyInstalle…

    Flask 2023年5月16日
    00
  • python框架flask入门之环境搭建及开启调试

    接下来我会详细讲解“Python框架Flask入门之环境搭建及开启调试”的完整攻略。 Flaks的环境搭建主要包括安装Python、安装Flask和安装虚拟环境。 安装Python Python是Flask框架的基础,因此我们需要先安装Python。可以从Python官网下载Python安装包,根据自己电脑的操作系统选择对应版本下载安装即可。 安装Flask…

    Flask 2023年5月15日
    00
  • flask框架json数据的拿取和返回操作示例

    下面我将为你详细讲解“flask框架json数据的拿取和返回操作示例”的完整攻略,包含两条示例说明。 一、获取JSON数据 在Flask框架中获取JSON数据很容易,我们只需要通过request对象的get_json()方法即可获取提交的JSON数据。下面是一个简单的示例: from flask import Flask, request, jsonify …

    Flask 2023年5月16日
    00
  • 使用apidoc管理RESTful风格Flask项目接口文档方法

    使用apidoc管理RESTful风格Flask项目接口文档的步骤如下: 一、安装APIDoc APIDoc是一个用于生成文档的工具,可以通过npm安装: npm install apidoc -g 二、在项目中添加Apidoc注释 在代码中添加注释,以便APIDoc能够识别、解析并自动生成API文档。以Flask为例,注释标识符是”””,示例代码如下: @…

    Flask 2023年5月15日
    00
  • Python Flask-Login模块使用案例详解

    我会为你详细讲解“Python Flask-Login模块使用案例详解”的完整攻略,同时会为你提供两条示例。 标题 介绍 Flask-Login 是一个 Flask 扩展,它提供了用户登录和会话管理的一个方案。通过这个模块,我们可以快速简便地添加认证、保护和会话管理到我们的 Flask 应用程序中。 安装 要使用 Flask-Login 模块,需要先安装它。…

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