data_base.py 1.5 KB
Newer Older
liyang's avatar
liyang committed
1 2
import pymysql.cursors

3 4 5 6 7 8 9 10 11 12
def connection_databse():
    # 连接到数据库
    connection = pymysql.connect(host='192.168.0.103',
                                 user='root',
                                 password='123456',
                                 database='test',
                                 cursorclass=pymysql.cursors.DictCursor)
    # try:
    #     # 创建游标
    #     with connection.cursor() as cursor:
liyang's avatar
liyang committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
def write_to_database(data):
    """
    将数据写入数据库。

    参数:
    - data: 要写入数据库的数据,应为一个包含字典的列表。

    返回值:
    无。

    异常:
    - pymysql.Error: 当执行数据库操作时发生错误时会引发该异常。

    """
    try:
        # 创建游标
        with connection.cursor() as cursor:
            for data_item in data:
                # 获取数据
                title = data_item['title']
                content = data_item['content']
                log.debug("content 长度:" + str(len(content)))
                # 执行数据库操作
                sql = "INSERT INTO message (title, content) VALUES (%s, %s)"
                cursor.execute(sql, (title, content))

        # 提交事务
        connection.commit()

        # 事务执行成功
        log.debug("事务执行成功")

    except pymysql.Error as e:
        # 发生异常时回滚事务
        connection.rollback()
        log.debug("事务执行失败:", e)

    finally:
        # 关闭连接
        connection.close()