如何在Python中使用SQLAlchemy操作Microsoft SQL Server数据库?

  • Post category:Python

以下是如何在Python中使用SQLAlchemy操作Microsoft SQL Server数据库的完整使用攻略,包括安装SQLAlchemy库、连接Microsoft SQL Server数据库、创建表、插入数据、查询数据、更新数据、删除数据等步骤。同时,提供了两个示例以便更好理解如何在Python中使用SQLAlchemy操作Microsoft SQL Server数据库。

步骤1:安装SQLAlchemy库

在Python中,我们可以使用SQLAlchemy库连接Microsoft SQL Server数据库。以下是安装SQLAlchemy库的基本语法:

pip install sqlalchemy

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

步骤2:连接Microsoft SQL Server数据库

在Python中,我们可以使用SQLAlchemy库连接Microsoft SQL Server数据库。以下是连接Microsoft SQL Server数据库的基本语法:

from sqlalchemy import create_engine

# 连接Microsoft SQL Server数据库
engine = create_engine('mssql+pyodbc://server_name/database_name?driver=SQL+Server+Native+Client+11.0')

在上面的语法中,我们使用create_engine方法连接到Microsoft SQL Server数据库。在create_engine方法中,我们需要指定mssql+pyodbc为数据库类型,server_namedatabase_name作为服务器和数据库名称,以及driver作为ODBC驱动程序名称。

步骤3:创建表

在Python中,我们可以使用SQLAlchemy库创建表。以下是创建表的基本语法:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

# 创建基类
Base = declarative_base()

# 创建表
class Employee(Base):
    __tablename__ = 'employees'
    id = Column(Integer, primary_key=True)
    first_name = Column(String(50))
    last_name = Column(String(50))
    age = Column(Integer)

在上面的语法中,我们首先使用declarative_base方法创建基类。然后,我们使用Column方法创建列,并使用__tablename__属性指定表名。最后,我们使用Base.metadata.create_all(engine)方法创建表。

步骤4:插入数据

在Python中,我们可以使用SQLAlchemy库插入数据到Microsoft SQL Server数据库。以下是插入数据的基本语法:

from sqlalchemy.orm import sessionmaker

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 插入数据
employee = Employee(first_name='John', last_name='Doe', age=30)
session.add(employee)
session.commit()

# 关闭Session
session.close()

在上面的语法中,我们首先使用sessionmaker方法创建Session。然后,我们使用add方法插入数据到Microsoft SQL Server数据库。接着,我们使用commit方法提交事务。最后,我们使用close方法关闭Session。

步骤5:查询数据

在Python中,我们可以使用SQLAlchemy库查询数据从Microsoft SQL Server数据库。以下是查询数据的基本语法:

from sqlalchemy.orm import sessionmaker

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 查询数据
employees = session.query(Employee).all()
for employee in employees:
    print(employee.first_name, employee.last_name, employee.age)

# 关闭Session
session.close()

在上面的语法中,我们首先使用sessionmaker方法创建Session。然后,我们使用query方法查询数据从Microsoft SQL Server数据库。接着,我们使用all方法获取所有数据,并使用for循环遍历数据。最后,我们使用close方法关闭Session。

步骤6:更新数据

在Python中,我们可以使用SQLAlchemy库更新数据到Microsoft SQL Server数据库。以下是更新数据的基本语法:

from sqlalchemy.orm import sessionmaker

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 更新数据
employee = session.query(Employee).filter_by(first_name='John').first()
employee.age = 35
session.commit()

# 关闭Session
session.close()

在上面的语法中,我们首先使用sessionmaker方法创建Session。然后,我们使用query方法查询数据从Microsoft SQL Server数据库。接着,我们使用filter_by方法过滤数据,并使用first方法获取第一条数据。然后,我们更新数据并使用commit方法提交事务。最后,我们使用close方法关闭Session。

步骤7:删除数据

在Python中,我们可以使用SQLAlchemy库删除数据从Microsoft SQL Server数据库。以下是删除数据的基本语法:

from sqlalchemy.orm import sessionmaker

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 删除数据
employee = session.query(Employee).filter_by(first_name='John').first()
session.delete(employee)
session.commit()

# 关闭Session
session.close()

在上面的语法中,我们首先使用sessionmaker方法创建Session。然后,我们使用query方法查询数据从Microsoft SQL Server数据库。接着,我们使用filter_by方法过滤数据,并使用first方法获取第一条数据。然后,我们使用delete方法删除数据并使用commit方法提交事务。最后,我们使用close方法关闭Session。

示例1

在这个示例中,我们使用SQLAlchemy库连接Microsoft SQL Server数据库,并创建employees表。然后,我们插入一条数据到employees表中。

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

# 连接Microsoft SQL Server数据库
engine = create_engine('mssql+pyodbc://server_name/database_name?driver=SQL+Server+Native+Client+11.0')

# 创建基类
Base = declarative_base()

# 创建表
class Employee(Base):
    __tablename__ = 'employees'
    id = Column(Integer, primary_key=True)
    first_name = Column(String(50))
    last_name = Column(String(50))
    age = Column(Integer)

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 插入数据
employee = Employee(first_name='John', last_name='Doe', age=30)
session.add(employee)
session.commit()

# 查询数据
employees = session.query(Employee).all()
for employee in employees:
    print(employee.first_name, employee.last_name, employee.age)

# 关闭Session
session.close()

在上面的代码中,我们首先使用create_engine方法连接到Microsoft SQL Server数据库。然后,我们使用declarative_base方法创建基类。接着,我们使用Column方法创建列,并使用__tablename__属性指定表名。最后,我们使用Base.metadata.create_all(engine)方法创建表。

然后,我们使用sessionmaker方法创建Session。接着,我们使用add方法插入数据到Microsoft SQL Server数据库。然后,我们使用commit方法提交事务。接着,我们使用query方法查询数据从Microsoft SQL Server数据库。最后,我们使用for循环遍历数据并打印结果。最后,我们使用close方法关闭Session。

示例2

在这个示例中,我们使用SQLAlchemy库连接Microsoft SQL Server数据库,并创建employees表。然后,我们插入一条数据到employees表中。接着,我们更新employees表中age30的数据。最后,删除employees表中age30的数据。

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

# 连接Microsoft SQL Server数据库
engine = create_engine('mssql+pyodbc://server_name/database_name?driver=SQL+Server+Native++11.0')

# 创建基类
Base = declarative_base()

# 创建表
class Employee(Base):
    __tablename__ = 'employees'
    id = Column(Integer, primary_key=True)
    first_name = Column(String(50))
    last_name = Column(String(50))
    age = Column(Integer)

# 创建Session
Session = sessionmaker(bind=engine)
session = Session()

# 插入数据
employee = Employee(first_name='John', last_name='Doe', age=30)
session.add(employee)
session.commit()

# 更新数据
employee = session.query(Employee).filter_by(age=30).first()
employee.age = 35
session.commit()

# 删除数据
employee = session.query(Employee).filter_by(age=30).first()
session.delete(employee)
session.commit()

# 关闭Session
session.close()

在上面的代码中,我们首先使用create_engine方法连接到Microsoft SQL Server数据库。然后,我们使用declarative_base方法创建基类。接着,我们使用Column方法创建列,并使用__tablename__属性指定表名。最后,我们使用Base.metadata.create_all(engine)方法创建表。

然后,我们使用sessionmaker方法创建Session。接着,我们使用add方法插入数据到Microsoft SQL Server数据库。然后,我们使用commit方法提交事务。接着,我们使用query方法查询数据从Microsoft SQL Server数据库。然后,我们使用filter_by方法过滤数据,并使用first方法获取第一条数据。然后,我们更新数据并使用commit方法提交事务。接着,我们使用filter_by方法过滤数据,并使用first方法获取第一条数据。然后,我们使用delete方法删除数据并使用commit方法提交事务。最后,我们使用close`方法关闭Session。

以上是如何在Python中使用SQLAlchemy操作Microsoft SQL Server数据库的完整使用攻略,包括安装SQLAlchemy库、连接Microsoft SQL Server数据库、创建表、插入数据、查询数据、更新数据、删除数据等步骤。同时,提供了两个示例以便更好理解如何在Python中使用SQLAlchemy操作Microsoft SQL Server数据库。