软件测试 SQLAlchemy环境安装与基础使用_pip3 install sqlalchemy

32 阅读2分钟

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H


注:`SQLAlchemy`需要python3.6或更新版本的python才可以安装


安装完`SQLAlchemy`后,我们还需要安装驱动程序,`SQLAlchemy`本身并不包含数据库驱动程序,我们需要根据数据库选择适当的驱动。例如,如果我们使用MySQL,可以安装`mysql-connector-python`

pip install mysql-connector-python


**注:如果我们使用的是`SQLite`,则无需额外安装驱动程序,因为`SQLite`已经包含在Python标准库中**


##### 连接数据库


在使用SQLAlchemy之前,我们需要建立与数据库的连接。这需要配置数据库的连接字符串,其中包括数据库类型、主机、端口、用户名和密码。下面是一个连接到SQLite数据库的示例:


1. `from sqlalchemy import create_engine`
2. - `# SQLite连接字符串,数据库文件名为mydatabase.db`
- `db_url = "sqlite:///mydatabase.db"`
- `engine = create_engine(db_url)`
- - `# 建立连接`
- `connection = engine.connect()`


##### 新建表格


在数据库中创建表格需要使用`SQLAlchemy``declarative_base`和表格定义类。下面是一个创建用户表格的示例:


1. `from sqlalchemy import Column, Integer, String`
2. `from sqlalchemy.ext.declarative import declarative_base`
3. - `Base = declarative_base()`
- - `class User(Base):`
- `__tablename__ = 'users'`
- - `id = Column(Integer, primary_key=True)`
- `username = Column(String(50))`
- `email = Column(String(100))`
- - `# 创建表格`
- `Base.metadata.create_all(engine)`


##### 插入数据


使用`SQLAlchemy`,我们可以轻松地插入数据。下面是一个插入用户数据的示例:


1. `from sqlalchemy.orm import sessionmaker`
2. - `# 创建一个会话`
- `Session = sessionmaker(bind=engine)`
- `session = Session()`
- - `# 插入一条用户记录`
- `new_user = User(username='theshy', email='theshy@ig2018.com')`
- `session.add(new_user)`
- `session.commit()`


##### 查询数据


我们可以使用`SQLAlchemy`进行各种查询操作。下面是一个简单的查询用户数据的示例:


1. `# 查询所有用户`
2. `all_users = session.query(User).all()`
3. - `# 根据条件查询`
- `john_doe = session.query(User).filter_by(username='theshy').first()`


##### 更新和删除数据


更新和删除数据也很容易。示例如下:


1. `# 更新数据`
2. `john_doe.email = 'theshy@wbg2023.com'`
3. `session.commit()`
4. - `# 删除数据`
- `session.delete(theshy)`
- `session.commit()`


##### 




![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/065e8fc878f44eda91c135edfb3115f8~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1771140523&x-signature=Fz2nl9F0FVhAUu2t%2FukTBiaADmY%3D)
![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/f41dc8825a784078ad6f103febef946c~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1771140523&x-signature=C2jMbKsShO0bQTzqIf7XRpqRODs%3D)
![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/7c2d2e60002c4314abd2bf7b05b708d4~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1771140523&x-signature=e1eFnwPUgWRFP%2F5xF5EJOpTruBI%3D)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H**