1. 连接mysql
import pymysql db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='spiders') cursor = db.cursor() sql = 'select * from students;' cursor.execute(sql) cursor.close() db.close()
2. 多字段动态插入mysql数据库中
import pymysql
db = pymysql.connect(host='localhost',user='root', password='123456', port=3306, db='spiders')
data = {
'id': '20180606',
'name': 'Lily',
'age': 20
}
table = 'students'
keys = ', '.join(data.keys())
values = ', '.join(['%s'] * len(data))
sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(table=table, keys=keys, values=values)
try:
cursor.execute(sql, tuple(data.values()))
print('Successful')
db.commit()
except:
print('Failed')
db.rollback()
cursor.close()
db.close()
3. 数据更新插入mysql数据库中
import pymysql
db = pymysql.connect(host='localhost',user='root', password='123456', port=3306, db='spiders')
data = {
'id': '20180606',
'name': 'Lily',
'age': 25
}
table = 'students'
keys = ', '.join(data.keys())
values = ', '.join(['%s'] * len(data))
sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, values=values)
update = ','.join([" {key} = (%s)".format(key=key) for key in data])
sql += update
try:
cursor.execute(sql, tuple(data.values()))
print('Successful')
db.commit()
except:
print('Failed')
db.rollback()
cursor.close()
db.close()
execute(sql,args)方法注意事项:
1、execute方法中sql语句占位符是%s,与mysql中的?不同。
2、%s必须用括号包裹,如:
insert into teacher(name) values (%s) 正确 insert into teacher(name) values %s 报错
琼杰笔记![Python 问题解决 | urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed-琼杰笔记](https://www.zhangqiongjie.com/wp-content/uploads/2020/02/python2-220x150.jpg)






评论前必须登录!
注册