如何在Python中使用Flask SQLAlchemy操作数据库?

如何在Python中使用Flask SQLAlchemy操作数据库?

Flask SQLAlchemy是一个基于Flask的Python ORM(对象关系映射)库,它提供了一种简单的方式来操作关系型数据库。使用Flask SQLAlchemy,我们可以使用Python代码来创建、读取、更新删除关系型数据库中的数据。以下是如何在Python中使用Flask SQLAlchemy操作数据库的完整使用攻略,包括连接数据库、创建表、插入数据、查询数据等步骤。同时,提供了两个示例以便更好理解如何在Python中使用Flask SQLAlchemy操作数据库。

步骤1:安装Flask SQLAlchemy

在Python中,我们需要安装Flask SQLAlchemy才能使用它来操作关系型数据库。以下是安装Flask SQLAlchemy的基本语法:

!pip install flask_sqlalchemy

在上面的语法中,我们使用pip命令安装Flask SQLAlchemy。

步骤2:连接数据库

在Python中,我们可以使用Flask SQLAlchemy连接关系型数据库。以下是连接的基本语法:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

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

在上面的语法中,我们首先导入Flask和SQLAlchemy类。然后,我们创建一个Flask应用程序对象,并设置数据库连接URI。最后,我们使用SQLAlchemy类创建一个数据库对象。

步骤3:创建表

在Flask SQLAlchemy中我们使用模型来表示关系型数据库中的表。以下是创建表的基本语法:

class Employee(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    age = db.Column(db.Integer, nullable=False)

在上面的语法中,我们使用db.Model类创建一个模型对象。然后,我们使用db.Column类创建模型的字段。在字段中,我们可以设置字段的类型、长度、是否必须等属性。最后,我们使用primary_key=True设置主键。

步骤4:插入数据

在Python中,我们可以使用Flask SQLAlchemy插入数据到关系型数据库中。以下是插入数据的基本语法:

employee = Employee(name='John', age=30)
db.session.add(employee)
db.session.commit()

在上面的语法中,我们一个Employee对象,并设置nameage字段的值。然后,我们使用db.session.add方法将数据插入到关系型数据库中。最后,我们使用db.session.commit方法提交更改。

步骤5:查询数据

在Python中,我们可以使用Flask SQLAlchemy查询关系型数据库中的数据。以下是查询数据的基本语法:

employees = Employee.query.all()

for employee in employees:
    print(employee.name, employee.age)

在上面的语法中,我们使用query.all()方法查询Employee表中的所有数据。然后,我们使用for循环遍历所有数据,并打印出每个员工的姓名和年龄。

示例1

在这个示例中,我们使用Flask SQLAlchemy连接SQLite数据库,并创建一个Employee表。然后,我们插入一条数据到Employee表中。接着,我们查询所有数据。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

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

class Employee(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    age = db.Column(db.Integer, nullable=False)

employee = Employee(name='John', age=30)
db.session.add(employee)
db.session.commit()

employees = Employee.query.all()

for employee in employees:
    print(employee.name, employee.age)

在上面的代码中,我们首先创建一个Flask应用程序对象,并设置数据库连接URI。接着,我们使用db.Model类创建一个名为Employee的模型对象。在模型中,我们使用db.Column类创建idnameage字段。最后,我们使用primary_key=True设置id字段为主键。

接着,我们使用db.session.add方法将数据插入到SQLite数据库中。

然后,我们使用query.all()方法查询Employee表中的所有数据。然后,我们使用for循环遍历所有数据,并打印出每个员工的姓名和年龄。

示例2

在这个示例中,我们使用Flask SQLAlchemy连接SQLite数据库,并创建一个Order表。然后,我们插入两条数据到Order表中。接着,我们查询所有数据,并更新一条数据和删除一条数据。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

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

class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    customer_name = db.Column(db.String(50), nullable=False)
    order_date = db.Column(db.Date, nullable=False)

order1 = Order(customer_name='John', order_date='2023-05-12')
db.session.add(order1)

order2 = Order(customer_name='Mary', order_date='2023-05-13')
db.session.add(order2)

db.session.commit()

orders = Order.query.all()

for order in orders:
    print(order.customer_name, order.order_date)

order = Order.query.filter_by(customer_name='John').first()
order.order_date = '2023-05-14'
db.session.commit()

order = Order.query.filter_by(customer_name='Mary').first()
db.session.delete(order)
db.session.commit()

在上面的代码中,我们首先创建一个Flask应用程序对象,并设置数据库连接URI。接着,我们使用db.Model类创建一个名为Order的模型对象。在模型中,我们使用db.Column类创建idcustomer_nameorder_date。最后,我们使用primary_key=True设置id字段为主键。

接着,我们使用db.session.add方法将数据插入到SQLite数据库中。

然后,我们使用query.all()方法查询Order表中的所有数据。然后,我们使用for`循环遍历所有数据,并打印出每个订单客户姓名和订单日期。

然后,我们使用query.filter_by方法查询Order表中customer_nameJohn的数据。然后,更新该数据的order_date字段,并使用db.session.commit方法提交更改。

最后,我们使用query.filter_by方法查询Order表中customer_nameMary的数据。然后,我们使用db.session.delete方法删除该数据,并使用db.session.commit方法提交更改。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python中使用Flask SQLAlchemy操作数据库? - Python技术站

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

相关文章

  • Python pip install如何修改默认下载路径

    要修改Python pip默认的下载路径,需要进行以下步骤: 1. 查看pip的配置文件路径 首先通过运行以下命令来查看pip的配置文件路径: pip config –list 运行上述命令后,会输出如下信息: global.index-url=https://pypi.python.org/simple/ global.timeout=60 global…

    python 2023年5月14日
    00
  • python实现在目录中查找指定文件的方法

    要实现在目录中查找指定文件的功能,可以使用Python中的os模块来完成。 具体步骤如下: 导入os模块 import os 指定要查找的目录路径 path = "/path/to/directory" # 替换为实际的目录路径 使用os.walk()函数遍历目录下的所有文件和子目录 for dirpath, dirnames, file…

    python 2023年6月3日
    00
  • 简单实现linux聊天室程序

    实现一个Linux聊天室程序的过程可以分为以下步骤: 确定聊天室的基本架构:服务器端和客户端。服务器端用于管理多个客户端的连接和消息传递。客户端则负责连接服务器、发送和接收消息。 使用Socket API实现网络连接功能。在服务器端和客户端中均需用到Socket API来创建和管理网络连接。 设计通信协议,要求在协议中包含一些关键字段,如消息类型、发送者、接…

    database 2023年5月22日
    00
  • 利用python如何在前程无忧高效投递简历

    这是一篇关于如何利用Python在前程无忧高效投递简历的攻略,以下将对具体的步骤和操作进行详细的讲解。 1. 准备工作 在使用Python进行自动投递之前,需要准备好以下内容: Python开发环境:推荐安装Python 3.x版本; 相关库的安装:需要安装selenium、webdriver和pandas库; 浏览器驱动程序:需要下载并安装适合自己电脑浏览…

    python 2023年6月3日
    00
  • SQL Server 数据库清除日志的方法

    下面是详细讲解SQL Server 数据库清除日志的方法的完整攻略。 什么是SQL Server数据库日志? 当SQL Server执行数据库操作时,它会生成一个详细的日志文件,可用于恢复数据库,重放事务,启用复制以及实现基于时间点的恢复等操作。该日志文件可以帮助管理员恢复数据库到最近的某个时间点。然而,随着时间的推移,该日志文件大小会快速增长,可能会占满磁…

    database 2023年5月21日
    00
  • Python基础进阶之海量表情包多线程爬虫功能的实现

    下面针对“Python基础进阶之海量表情包多线程爬虫功能的实现”这个话题,我将进行如下的讲解,包括背景、目标、实现步骤和示例说明: 背景 在当前社交网络中,表情包已经成为各种聊天场景的必备元素。因此,人们需要大量的表情包来丰富自己在聊天中的表达。为了实现这个需求,我们可以通过自动化爬虫来收集各种类型的表情包。但是,由于表情包数量巨大,为了提高爬取效率,我们可…

    python 2023年5月14日
    00
  • Python基础之文件操作及光标移动详解

    Python基础之文件操作及光标移动详解 在Python中,文件操作是非常常见的操作之一。Python提供了多种文件操作函数方法,可以帮助我们读、写入、复制、移动、删除文件等。本文将详细介绍Python文件操作的基础知识,括文件打开、读写、关闭复制、移动、删除等操作。 文件打开 在Python中,我们可以使用open()函数打一个文件。open()函数的语法…

    python 2023年5月14日
    00
  • python调用bash shell脚本方法

    下面是关于“Python调用Bash Shell脚本方法”的完整攻略及两条示例说明。 1. Python调用Bash Shell脚本方法 Python可以调用Bash Shell来执行命令和脚本,实现方法很简单,只需要使用Python的subprocess模块即可。 2. subprocess模块的用法 使用subprocess模块需要导入该模块,然后使用该…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部