python将list导入到mysql

数据请看前一篇文章
使用pymysql库连接mysql数据库

import pymysql
from excle.xls import MyList

# 链表数据
list=[]
file_name = "school.xls"
lists = MyList.getList(file_name)

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='toor',
    database='campusfleas',
    charset='utf8',
    # autocommit=True,    # 如果插入数据,, 是否自动提交? 和conn.commit()功能一致。
)

cursor= conn.cursor()

# 插入sql语句
sql = "insert into school (schoolId,schoolName,schoolNum,location,level,served) values (%s,%s,%s,%s,%s,%s)"

for list in lists:
    schoolId = int(list[0])
    schoolName = str(list[2])
    schoolNum = str(list[1])
    location = str(list[4])
    level = str(list[5])
    served = str(list[6])
    # 执行插入操作
    insert = cursor.execute(sql,(schoolId,schoolName,schoolNum,location,level,served))
cursor.close()
conn.commit()
conn.close()

执行结果
在这里插入图片描述
在这里插入图片描述

要将 Python 列表数据导入 MySQL 数据库,可借助 `pymysql` 库来实现。以下是具体步骤和示例代码,示例代码假设列表中的每个元素是一个元组,代表数据库表中的一行数据: ```python import pymysql # 数据库连接配置 db = pymysql.connect( host="localhost", user="root", password="1111", database="school", port=3306, charset='utf8' ) # 创建游标 cursor = db.cursor() # 示例列表数据,每个元素为一个元组,代表数据库表中的一行 data_list = [ ('John', 25, 'Engineer'), ('Jane', 30, 'Doctor'), ('Bob', 22, 'Student') ] # 假设要插入数据的表名为 'employees',有 'name', 'age', 'occupation' 三个字段 table_name = 'employees' columns = 'name, age, occupation' placeholders = ', '.join(['%s'] * len(data_list[0])) insert_query = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})" try: # 批量插入数据 cursor.executemany(insert_query, data_list) # 提交事务 db.commit() print("数据插入成功") except Exception as e: # 发生错误时回滚 db.rollback() print(f"数据插入失败: {e}") # 关闭游标和数据库连接 cursor.close() db.close() ``` 在上述代码中,首先建立与 MySQL 数据库的连接,接着定义了一个包含多个元组的列表 `data_list`,每个元组代表数据库表中的一行数据。然后构建了一个插入语句,使用 `executemany` 方法批量插入数据。如果插入过程中出现错误,会进行回滚操作。最后关闭游标和数据库连接。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值