""" Auther:少校 Time:2025/4/18 11:28 越努力,越幸运 """ import pymysql sql1 = pymysql.connect( user='root', #用户名 password='shaoxiao', #密码 host='127.0.0.1', #IP地址 port=3306, #端口号 database='school', #默认连接数据库/多个数据库默认哪个 charset='utf8mb4', #编码 autocommit=False #是否自动提交,默认关 ) s1 = sql1.cursor() # 1. sql语句拼接动态变量 """ 如果sql命令的部分内容是动态变量。 1)用字符串拼接 - 不推荐使用 a.如果数据在sql中是文本数据,拼接的时候注意引号的添加。需要手动在 {}外添加''。 b.如果是插入数据的sql语句,用字符串拼接的sql命令存在sql注入攻击的风险 2)用sql占位符 %s 再写sql语句的时候,在变化的位置用%s占位,然后在通过参数来提供占位符的数据。 """ # 用字符串拼接 # name = '经管学院' #input("请输入学院名称:") # intro = '经管学院介绍...' #input("学院简介:") # s1.execute(f"insert into colleges(`col_name`,`col_intro`) values('{name}','{intro}');") # 用sql占位符 %s # name = '经管学院' #input("请输入学院名称:") # intro = '经管学院介绍...' #input("学院简介:") # s1.execute("insert into colleges(`col_name`,`col_intro`) values(%s,%s);",(name,intro)) # sql1.commit() # 2. 多执行 # 如果sql中有%s对应的sql占位符,那么我们就可以使用executemany将同一个sql执行多次,每次提供不同的数据 try: s1.executemany("insert into colleges(`col_name`,`col_intro`) values(%s,%s);",[ ('理学院','学数学的'), ('佛学院','学佛法的'), ]) sql1.commit() except pymysql.Error: sql1.rollback()
15.拼接sql
本节1395字2025-04-18 17:10:06