python往mysql数据库中写入数据和更新插入数据

Posted xiao-xue-di

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python往mysql数据库中写入数据和更新插入数据相关的知识,希望对你有一定的参考价值。

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())*2)
   print(‘Successful‘)
   db.commit()
except:
   print(‘Failed‘)
   db.rollback()
cursor.close()
db.close()

以上是关于python往mysql数据库中写入数据和更新插入数据的主要内容,如果未能解决你的问题,请参考以下文章

怎么往mysql中写入数据?

python怎么往mysql数据库添加数据

mysql--数据库优化

mysql 存储过程 若主键冲突则更新,不冲突则插入数据

用Java连接Oracle ,可以用Java往Oracle写入数据,但是用sql往Oracle插入数据时,关闭了再打开,数据消失

MySQL数据写入后显示NULL