数据库操作--pymysql库

1.接口测试数据库的使用

在接口测试中,通过request()发送请求后,我们需要通过断言来判断这个接口的测试有没有通过,有时候除了要对接口的返回值进行断言外,也需要取数据库里面的数据来进行校验,这就需要我们取连接到相对应的数据库、表。
pymysql 是python第三方模块,主要用于python与mysql交互。

2.数据库连接、查询等操作:

(1):建立数据库连接 :conn =pymysql.connect(数据库的信息 )
(2):从连接建立游标,有了游标才能操作数据库:cur = conn.cursor( )
(3):使用游标执行sql:cur.execute( sql语句)
(4):获取执行sql得结果:cur.fetchall()/cur.fetchmany(3)/cur.fetchone( )

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='123456',  # passwd也可以
    db='数据库名',
    charset='utf8')    # 如果查询有中文需要指定数据库编码

# 从连接建立游标,有了游标才能操作数据库
cur = conn.cursor()

# 更改数据库
cur.execute("INSERT INTO student VALUES (123, '张三', '男', 1997, 'python', '广东' )")

# 查询数据库
cur.execute("select * from student where name='张三'")

# 获取查询结果
result = cur.fetchall()
print(result)
# 提交更改
conn.commit()

注意:最后有两个close,游标要关闭,连接也要关闭 !!!

3.读取select返回的值:fetchone() 、fetchall() 、fetchmany(num)

如果select本身取的时候有多条数据时:
cursor.fetchone():将只取最上面的第一条结果,返回单个元组如(‘a’,‘b’),然后多次使用cursor.fetchone(),依次取得下一条结果,直到为空。
cursor.fetchmany(num) :将返回num个结果,返回二维元组
cursor.fetchmany(6) :将返回6个结果,返回二维元组
cursor.fetchall() :将返回所有结果,返回二维元组,如((‘a’,‘b’),(‘a2’,b2’)),

如果select本身取的时候只有一条数据时:
cursor.fetchone():将只返回一条结果,返回单个元组如(‘a’,‘b’)。
cursor.fetchall() :也将返回所有结果,返回二维元组,如((‘a’,‘b’),),
cursor.fetchmany(1) :因为只有一条数据,所以必须要指定num为 1,返回值和fetchall一样,返回二维元组。

你可能感兴趣的:(python,数据库,python,开发语言)