Python---Mysql

这是修改mysql内写入有空白的字段值.py文件

import pymysql

connection = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    database='ol',
    charset='utf8mb4'
)

try:
    with connection.cursor() as cursor:
        # 执行UPDATE语句
        sql = "UPDATE gaokao SET is_2022 = 489.00 WHERE is_2022 = ''"
        cursor.execute(sql)
        
    # 提交事务
    connection.commit()
    
    # 输出受影响的行数
    print(f"{cursor.rowcount} rows updated")
    
except Exception as e:
    # 发生异常时回滚事务
    connection.rollback()
    print(f"Error: {e}")
    
finally:
    # 关闭数据库连接
    connection.close()

下一个是,就是固定分数,随机添加专业的分数.py文件

import pymysql
import random

connection = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    database='ol',
    charset='utf8mb4'
)

cursor = connection.cursor()

# 查询is_2022字段的所有数据
sql = "SELECT is_2022 FROM gaokao"
cursor.execute(sql)
result = cursor.fetchall()

# 遍历每一行数据,并随机生成一个浮动分数,将其加上is_2022分数得到最终分数,将最终分数插入major字段
majors = ['Philosophy', 'Economics', 'Law', 'Education', 'Literature', 'History', 'Science', 'Engineering', 'Agriculture', 'Medicine', 'Management', 'Art']
idd = 1
for row in result:
    is_2022 = row[0]
    if is_2022 is not None:
        score_2022 = float(is_2022)
        for major in majors:
            score_float = random.randint(10, 20)  # 设置浮动范围为10-20
            final_score = score_2022 + score_float
            sql_update = "UPDATE gaokao SET " + major + " = %s WHERE id = %s"
            cursor.execute(sql_update, (final_score, idd))
        idd += 1

# 提交并关闭数据库连接
connection.commit()
cursor.close()
connection.close()

下面是弄4000到6000增加id字段值的代码

import pymysql


connection = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    database='ol',
    charset='utf8mb4'
)

mycursor = connection.cursor()

for i in range(4000, 6001):
    sql = f"INSERT INTO `gaokao` (`id`, `diqu`, `xuexiao`, `is211`, `is_2020`, `is_2021`, `is_2022`, `is_985`, `Philosophy`, `Economics`, `Law`, `Education`, `Literature`, `History`, `Science`, `Engineering`, `Agriculture`, `Medicine`, `Management`, `Art`, `province`) VALUES ('{i}', '地区{i}', '学校{i}', '否', '1.00', '1.00', '1.00', '否', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '1.00', '省份{i}');"
    mycursor.execute(sql)

connection.commit()

print(mycursor.rowcount, "record(s) inserted.")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四川财阀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值