Python读写数据库

这篇博客详细介绍了如何使用Python进行数据库的读写操作,包括连接MySQL,创建表,插入数据以及查询数据等步骤,适合测试、手工测试和自动化测试场景。
摘要由CSDN通过智能技术生成

Python读写数据库

为什么要Python操作数据库?

(1)测试需要:用例检查点、用例数据准备、运维

(2)手工测试:使用工具

(3)自动化测试:编程语言访问数据库

1 Python操作Mysql

mysqlclient库,第三方开发的

安装命令:pip install mysqlclient == 1.3.12

获取数据记录:fetchone,fetchmany,fetchall

import MySQLdb

# 连接数据库,设置连接参数:数据库地址、端口、用户名、密码、所需连接的数据库名、编码方式
conn = MySQLdb.connect(
    host = '192.168.5.249',
    port = '9809',
    user = 'admin',
    password = '123456',
    db = 'TestDB',
    charset = 'utf8'
)

c = conn.cursor()
c.execute("select * from student")

# 打印出查询的所有记录
for i in range(c.rowcount):
    row = c.fetchone()
    if row[1] == 'MySQL'
        print("检查点 ==》 MySQL课程存在,测试通过")
        break

# 插入一条记录并提交事务
c.execute("insert into student(name, sex, year) value ('王少伟', '男', 25)")
conn.commit()
conn.close()

2 Python创建表create

import pymysql

def create_table():
    db = pymysql.connect("localhost", "admin", "123456", "TestDB")
    cursor = db.cursor()
    cursor.execute("DROP TABLE IF EXISTS student")

    sql = """
        create table student(
        first_name char(10) not null,
        last_name char(10),
        age int,
        create_time datetime
        )
    """

    try:
        cursor.execute(sql)
        print("数据库创建成功!")
    except Exception as msg:
        print("创建数据库识别,case:%s" % msg)
    finally:
        db.close()

def main():
    create_table()

if __name__ == "__main__" :
    main()

3 Python插数据insert

在这里插入图片描述

import pymysql
import datetime

def insert_record():
    db = pymysql.connect("localhost", "admin", "123456", "TestDB")
    cursor = db.cursor()

    sql = "insert into student(first_name, last_name, age, create_time)"\
        "values('%s', '%s', %d, '%s') % " \
          "('san', 'zhang', 22, datetime.datetime.now())"

    try:
        cursor.execute(sql)
        db.commit()
        print("插入数据成功!")
    except Exception as msg:
        print("插入数据失败,case:%s" % msg)
        db.rollback()
    finally:
        db.close()

def main():
    insert_record()

if __name__ == "__main__":
    main()

4 Python查数据select

import pymysql
import datetime

def select_record():
    db = pymysql.connect("localhost", "admin", "123456", "TestDB")
    cursor = db.cursor()

    sql = "select * from student"

    try:
        cursor.execute(sql)
        resulte = cursor.fetchall()
        for row in resulte:
            first_name = row[0]
            last_name = row[1]
            age = row[2]
            create_time = row[4]
            print(first_name, last_name, age, create_time)
    except Exception as msg:
        print("查询数据失败,case:%s" % msg)
        db.rollback()
    finally:
        db.close()

def main():
    select_record()

if __name__ == "__main__":
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值