pymysql 插入更新字典类型数据
import pymysql MYSQL_CONFIG = { 'host': 'localhost', # IP地址 'port': 3306, # 端口 'user': 'root', # 用户名 'passwd': 'mysql', # 密码 'db': 'test03', # 数据库 'charset': 'utf8', # 编码 } def generate_sql(tb, key_list): cols = ", ".join('`{}`'.format(k) for k in key_list) val_cols = ', '.join('%({})s'.format(k) for k in key_list) sql = """ INSERT INTO %s(%s) VALUES(%s) """ % (tb, cols, val_cols) return sql def generate_sql2(tb, key_list, conditions=None): cols = ", ".join('`{}`=%({})s'.format(k, k) for k in key_list) print(cols) if not conditions: conditions = 'where id=%(id)s' sql = """ update %s set %s %s """ % (tb, cols, conditions) return sql def main(): student_list1 = [ {'name': 'yyy', 'age': 18, 'sex': 'female'}, {'name': 'zzz', 'sex': 'male', 'age': None} ] student_list = [ {'name': 'lkjh', 'age': 9, 'sex': '', 'id': 19}, ] conn = pymysql.connect(**MYSQL_CONFIG) # 数据库连接 cur = conn.cursor() # 游标对象 sql = generate_sql2('student', ['name', 'sex', 'age']) sql2 = generate_sql('student', ['name', 'sex', 'age']) print(sql) cur.executemany(sql, student_list) # cur.executemany(sql2, student_list1) conn.commit() cur.close() conn.close() if __name__ == '__main__': main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库