python数据库调用

Python是一门广泛应用于数据科学、机器学习、大数据处理等领域的编程语言,也是一种高效、灵活和易于学习的编程语言。在Python中,使用SQLAlchemy来访问数据库,SQLAlchemy是一个强大的ORM库,可以将Python对象映射到数据库中的表,使得开发者可以以Python的面向对象方式操作数据库,并且不用担心跨数据库的兼容性问题。

在Python中,访问数据库分为两种方式:第一种是使用Python的标准库集成的sqlite3,它是一种轻量级的数据库,适用于小型项目的使用;第二种是使用ORM库SQLAlchemy访问各种大型关系型数据库,如MySQL、PostgreSQL、Oracle等。我们将以MySQL作为讲解示例。

下面我们来介绍如何使用SQLAlchemy来连接MySQL数据库和进行数据的增删改查操作。

1. 安装SQLAlchemy

在Python中,可以使用pip来安装SQLAlchemy库。

```

pip install SQLAlchemy

```

2. 连接MySQL数据库

使用SQLAlchemy连接MySQL数据库,需要先安装MySQL驱动,然后根据正确的参数来连接到数据库。示例:

```

from sqlalchemy import create_engine

# 连接数据库,格式为:mysql+驱动://用户名:密码@主机名:端口号/数据库名?charset=编码方式

engine = create_engine('mysql+pymysql://root:password@localhost:3306/test?charset=utf8mb4')

```

其中,`mysql+pymysql`表示使用pymysql驱动连接到MySQL数据库,`root`是用户名,`password`是密码,`localhost`是主机名,`3306`是端口号,`test`是数据库名,`utf8mb4`是编码格式。

3. 定义对象模型和表结构

SQLAlchemy通过ORM技术将Python对象映射到数据库中的表。需要定义一个模型类来表示数据库中的一张表。示例:

```

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import Column, Integer, String

Base = declarative_base()

class User(Base):

__tablename__ = 'user'

id = Column(Integer, primary_key=True, autoincrement=True)

name = Column(String(20))

age = Column(Integer)

```

在这个例子中,我们定义了一个模型类`User`,并将其映射到MySQL中的`user`表。在表`user`中,有`id`、`name`和`age`三列。其中,`id`是主键,自动递增,`name`列是字符串类型,最大长度为20,`age`是整数类型。

4. 创建数据表

使用创建数据表的方式有两种,一种是手动创建,另一种是自动创建。我们使用自动创建方式,只需要使用`Base.metadata.create_all(engine)`一行代码,就可以创建所有的数据表了。

```

Base.metadata.create_all(engine)

```

5. 插入数据

向数据库中插入数据可以使用`session`对象。首先需要先创建一个`session`对象,然后通过它来进行数据的增删改查操作。示例:

```

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)

session = Session()

user = User(name='Tom', age=20)

session.add(user)

session.commit()

```

在这个例子中,我们首先创建了一个`session`对象,并绑定到之前创建的引擎`engine`上。然后,我们创建了一个`User`对象,通过`session.add()`将它添加到数据库中,最后通过`session.commit()`提交事务,将数据写入到MySQL数据库中。

6. 查询数据

查询数据可以使用`session.query()`方法,它会返回一个查询对象,可以通过该对象进行各种条件查询。示例:

```

users = session.query(User).filter_by(name='Tom').all()

for user in users:

print(user.id, user.name, user.age)

```

在这个例子中,我们通过`session.query()`查询`User`表中`name`为`Tom`的所有用户,并打印它们的`id`、`name`和`age`字段。

7. 更新数据

更新数据可以先查询到需要修改的数据,然后直接修改,最后通过`session.commit()`操作来提交。示例:

```

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

user.name = 'Jerry'

session.commit()

```

在这个例子中,我们首先通过`session.query()`方法查询到`id`为1的用户,然后将其`name`修改成`Jerry`,最后通过`session.commit()`提交,并将修改写入到MySQL数据库中。

8. 删除数据

删除数据可以使用`session.delete()`方法,将需要删除的数据传递进去,最后通过`session.commit()`操作来提交删除操作。示例:

```

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

session.delete(user)

session.commit()

```

在这个例子中,我们先使用`session.query()`方法查询到`id`为1的用户,然后通过`session.delete()`将其删除,最后通过`session.commit()`提交,并将删除操作写入到MySQL数据库中。

最后,如果想要修改爱心代码的颜色为绿色,可以将红色背景图片替换成绿色背景图片即可。

本文介绍了如何在Python中使用SQLAlchemy访问MySQL数据库,包括连接数据库、定义对象模型和表结构、创建数据表、插入数据、查询数据、更新数据和删除数据。希望能够帮助大家更好地使用Python进行数据处理和开发。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(31) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部