接外包,有相关需求的可以联系我:Telegram | Email

Python写入数据到MySql

该文章创建(更新)于09/18/2020,请注意文章的时效性!

缘由

最近在完善一个自己的小软件,其所有的数据都从维基百科获取,最近软件和API都完善了,但数据总是有部分获取失败!今天仔细研究了一下发现大部分数据是获取成功了,但没有写入数据库,且没有报错!这我就懵了,第一想法是换一个包,换了就perfect!我看网上有三种选择方式,我这里就试过两种方式!我这里就放出简单的插入操作代码,具体操作点击链接就可去菜鸟查看!

mysql-connector(推荐使用)

推荐选择这个,这一个没怎么毛病!数据都写入成功!我看简介好像这一个是官方推出的!

安装

pip3 install mysql-connector 

使用(以insert为例子)

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="123456",
  database="runoob_db"
)
mycursor = mydb.cursor()

sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = ("RUNOOB", "https://www.runoob.com")
mycursor.execute(sql, val)

mydb.commit()    # 数据表内容有更新,必须使用到该语句

print(mycursor.rowcount, "记录插入成功。")

报错

Authentication plugin 'caching_sha2_password' is not supported

import mysql.connector

db = mysql.connector.connect(
    host='host', 
    user='user', 
    passwd='password', 
    # Important!!!
    auth_plugin='mysql_native_password'
    # Important!!!
)

PyMySQL

这一个我数据获取成功,但写入不到数据库(多次测试,50到70条数据),且没有任何提示信息!有点懵!

安装

pip3 install PyMySQL

使用(以insert为例子)

#!/usr/bin/python3

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 如果发生错误则回滚
   db.rollback()

# 关闭数据库连接
db.close()

要不赞赏一下?

微信
支付宝
PayPal
Bitcoin

版权声明 | Copyright

除非特别说明,本博客所有作品均采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明转自-
https://www.emperinter.info/2020/09/18/mysql-and-python/


要不聊聊?

我相信你准备留下的内容是经过思考的!【勾选防爬虫,未勾选无法留言】

*

*



微信公众号

优惠码

阿里云国际版20美元
Vultr10美元
搬瓦工 | Bandwagon应该有折扣吧?
域名 | namesiloemperinter(1美元)