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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM