在掌握 Python 面向对象编程和数据库理论后,第四天将聚焦SQL 语言基础与Python 数据库连接实操。SQL 作为操作关系型数据库的核心工具,配合 Python 实现数据自动化处理,是测试工程师必备的技能组合。本文结合 CSDN 技术文章规范,通过案例与代码演示拆解核心知识点。
一、SQL 基础语法:数据查询与操作
1. 数据库与表的创建
-- 创建数据库
CREATE DATABASE test_db;
-- 使用数据库
USE test_db;
-- 创建用户表
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
age INT
);
核心语句:
CREATE
:创建数据库、表或其他对象PRIMARY KEY
:定义主键约束UNIQUE
:确保字段值唯一
2. 数据插入(INSERT)
-- 插入单条记录
INSERT INTO users (username, email, age)
VALUES ('Alice', 'alice@example.com', 25);
-- 插入多条记录
INSERT INTO users (username, email, age)
VALUES
('Bob', 'bob@example.com', 30),
('Charlie', 'charlie@example.com', 35);
3. 数据查询(SELECT)
-- 查询所有字段
SELECT * FROM users;
-- 查询特定字段并过滤
SELECT username, age FROM users WHERE age > 30;
-- 去重查询
SELECT DISTINCT age FROM users;
4. 数据更新与删除
-- 更新记录
UPDATE users SET email = 'new_alice@example.com' WHERE user_id = 1;
-- 删除记录
DELETE FROM users WHERE age < 20;
二、Python 与 MySQL 数据库连接实战(pymysql 库)
1. 环境配置
pip install pymysql
2. 代码示例:查询用户表数据
import pymysql
# 建立数据库连接
conn = pymysql.connect(
host="localhost",
user="root",
password="123456",
database="test_db",
charset="utf8mb4"
)
try:
with conn.cursor() as cursor:
# 执行SQL查询
sql = "SELECT * FROM users"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print(row)
finally:
conn.close()
关键步骤:
- 使用
pymysql.connect()
建立连接 - 通过
cursor.execute()
执行 SQL 语句 fetchall()
获取所有查询结果,fetchone()
获取单条结果
三、数据验证与测试场景应用
在测试中,SQL 常用于:
- 验证接口数据:通过 SQL 查询数据库,对比接口返回结果
- 初始化测试数据:插入预设数据以模拟特定测试场景
- 清理测试数据:删除自动化测试产生的临时数据
示例:验证用户注册接口是否正确写入数据库
# 假设注册接口已调用
with conn.cursor() as cursor:
sql = "SELECT COUNT(*) FROM users WHERE username = 'test_user'"
cursor.execute(sql)
count = cursor.fetchone()[0]
assert count == 1, "注册数据未正确写入数据库"
四、第四天学习实践任务
- SQL 实操:
- 创建 “图书表”(包含
book_id
,title
,author
,price
字段),插入 3 条数据并查询 - 使用
UPDATE
语句修改某本书的价格,再通过DELETE
删除一条记录
- 创建 “图书表”(包含
- Python 数据库连接:
- 编写 Python 脚本连接本地数据库,查询 “users” 表中年龄大于 25 的用户
- 封装数据库查询函数,支持传入不同 SQL 语句并返回结果
- 学习资源:
- CSDN 搜索「SQL 基础教程」「pymysql 实战」
- 官方文档:MySQL 8.0 Reference Manual、pymysql Documentation
- 书籍推荐:《SQL 必知必会》
通过第四天的学习,我们掌握了 SQL 基础操作与 Python 数据库连接技术。这些技能将直接应用于接口测试、数据驱动测试等场景。建议读者结合实际数据库环境练习代码,并在评论区分享遇到的问题,共同探讨优化方案!