为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python将多个插入转换为一个插入

如何使用python将多个插入转换为一个插入

互换的青春 2022-04-27 16:22:41
我有一个 sql 文件,其中有许多插入 sql 到同一个表: insert into tbname values (xxx1);insert into tbname values (xxx2);insert into tbname values (xxx3);...如何将此文件转换为包含一个 sql 的新文件,例如:insert into tbname (xxx1),(xxx2),(xxx3)...;由于上述sql文件中的插入格式不同,在python中很难使用正则表达式。
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

如果要在表中插入多行使用executemany()方法。


   mydb = mysql.connector.connect(

      host="localhost",

      user="yourusername",

      passwd="yourpassword",

      database="mydatabase"

    )


    mycursor = mydb.cursor()

    sql = "INSERT INTO tbname VALUES (%s)"

    val = [

      ('xx1'),

      ('xx2'),

      ('xx3')

    ]


    mycursor.executemany(sql, val)

    mydb.commit()


查看完整回答
反对 回复 2022-04-27
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

将文件打开为字符串并使用 split 获取表中的所有值,然后再次获取字符串。就像是:


s = "insert into tbname values (val1, val2);insert into tbname values (val3, val4);insert into tbname values (val5, val6);"

values = s.replace(";insert into tbname values", ', ')

这是一种非正统的方法,但可以在您的情况下将其放入一个插入物中。


查看完整回答
反对 回复 2022-04-27
  • 2 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号