初学者必备——python sqlalchemy 映射实战

02200059 871 0

Python是目前世界上最受欢迎的编程语言之一,而SQLAlchemy则是Python中使用非常广泛的ORM(Object Relational Mapping)框架之一。SQLAlchemy可以方便地管理和操作数据库,大大减少了开发人员的工作量。本篇文章将介绍初学者使用SQLAlchemy进行ORM映射的实战经验。

一、安装SQLAlchemy

初学者必备——python sqlalchemy 映射实战

首先,我们需要安装SQLAlchemy,可以在终端或命令行界面中输入以下语句进行安装:

pip install sqlalchemy

二、创建数据库连接

在使用SQLAlchemy进行ORM映射之前,我们需要先创建数据库连接。可以在代码中输入以下语句:

from sqlalchemy import create_engine

engine = create_engine(mysql+pymysql://username:password@host:port/database_name)

其中,username为数据库用户名;password为数据库密码;host为数据库地址;port为数据库访问端口;database_name为数据库名称。需要根据自己的实际情况进行修改。

三、创建ORM映射类

我们可以通过SQLAlchemy将数据表中的数据映射成Python类,这样我们就可以直接使用Python的面向对象思想来操作数据库。首先,我们定义一个基类Base:

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

然后,我们可以定义一个数据表对应的ORM映射类,例如:

from sqlalchemy import Column, Integer, String

class User(Base):

__tablename__ = users

id = Column(Integer, primary_key=True)

name = Column(String(50))

age = Column(Integer)

其中,__tablename__属性指定了该ORM映射类对应的数据表名称。而Column则用来定义该ORM映射类中的属性,需要指定该属性在数据表中对应的字段名称以及数据类型等。

四、创建数据表

在定义好ORM映射类之后,我们需要通过Base来创建数据表。可以在代码中输入以下语句:

Base.metadata.create_all(engine)

其中,engine为之前创建的数据库连接。

五、增删改查操作

最后,我们可以使用ORM映射类进行增删改查操作。例如,我们可以使用以下代码进行查询操作:

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)

session = Session()

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

for user in user_list:

print(user.name, user.age)

这段代码中,我们首先通过sessionmaker创建了一个session会话对象。然后,我们通过该会话对象查询了所有的用户信息,并输出每个用户的姓名和年龄。

其他操作,如增加、更新和删除数据也非常类似,可以通过以下代码进行:

# 增加操作

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

session.add(user)

session.commit()

# 更新操作

user = session.query(User).filter(User.name == Tom).first()

user.age = 21

session.commit()

# 删除操作

user = session.query(User).filter(User.name == Tom).first()

session.delete(user)

session.commit()

六、总结

通过本文的介绍,我们了解了初学者使用SQLAlchemy进行ORM映射的实战经验。当然,SQLAlchemy还有很多其他的功能和用法,需要不断学习和实践才能熟练掌握。希望本篇文章对初学者能够有所帮助。