python对数据库的调用

Python对数据库的调用

Python作为一门高级语言,与许多数据库的交互都需要第三方库的支持。主流的关系型数据库如MySQL、Oracle、PostgreSQL等,都可以通过Python DB API来连接和操作。而为了方便操作这些数据库,我们通常会选择使用Python中的ORM框架。

ORM全称为Object-Relational Mapping,即对象关系映射,是将面向对象的语言程序中的对象自动持久化到关系型数据库中的一种技术。ORM框架可以使得开发人员不需要深入了解数据库的操作细节,只需要关注业务逻辑即可。

Python中比较流行的ORM框架包括:

1. SQLAlchemy

2. Django ORM

3. Peewee

4. Pony ORM

5. Tortoise ORM

下面以使用SQLAlchemy为例,介绍Python对MySQL数据库的调用。

安装和配置MySQL数据库

首先需要安装MySQL数据库,并创建一个新的数据库和用户。MySQL的安装和配置可以参考官方文档或者其他实用教程。

安装SQLAlchemy库

在安装和使用SQLAlchemy之前,需要先安装其所依赖的库:setuptools和pymysql。可以通过pip命令进行安装:

```

pip install setuptools

pip install pymysql

pip install sqlalchemy

```

设置数据库连接参数

接下来需要设置MySQL数据库的连接参数,如主机名、用户名、密码、端口、数据库名称等。这些参数可以定义在单独的配置文件中,也可以硬编码在程序中,具体取决于应用的实际情况。

例如可以定义一个config.py文件,如下所示:

```

mysql_config = {

'host': 'localhost',

'user': 'user',

'password': 'password',

'port': 3306,

'db': 'database'

}

```

连接数据库

连接MySQL数据库可以使用SQLAlchemy提供的create_engine()函数来创建引擎,例如:

```

from sqlalchemy import create_engine

from config import mysql_config

engine = create_engine(

f'mysql+pymysql://{mysql_config["user"]}:{mysql_config["password"]}@{mysql_config["host"]}:{mysql_config["port"]}/{mysql_config["db"]}?charset=utf8mb4'

)

```

如果没有任何错误,连接数据库的操作将会返回一个连接对象。

使用ORM框架操作数据库

有了连接对象之后,就可以通过ORM框架的工具类和方法来操作MySQL数据库了。以SQLAlchemy为例,下面是一些基本操作的示例代码:

创建数据库表:

```

from sqlalchemy import Column, Integer, String

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):

__tablename__ = 'user'

id = Column(Integer, primary_key=True)

name = Column(String(32))

age = Column(Integer)

```

查询表中所有数据:

```

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)

session = Session()

users = session.query(User).all()

for user in users:

print(user.name)

```

插入数据:

```

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

user2 = User(name='Jerry', age=22)

session.add(user1)

session.add(user2)

session.commit()

```

更新数据:

```

user1 = session.query(User).filter_by(name='Tom').first()

if user1:

user1.age = 21

session.commit()

```

删除数据:

```

user2 = session.query(User).filter_by(name='Jerry').first()

if user2:

session.delete(user2)

session.commit()

```

总结

Python对MySQL数据库的调用需要使用第三方库或ORM框架。SQLAlchemy是Python中应用较为广泛的ORM框架之一,可以方便地对MySQL数据库进行增删改查等操作。同时,在连接数据库时也需要配置好相应的参数,以确保连接成功。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(14) 打赏

评论列表 共有 0 条评论

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