专栏首页LaravelCodePython 操作 MySQL 字符集的问题

Python 操作 MySQL 字符集的问题

使用 Python 操作 MySQL 有不少库供我们选择,比如 MySQLdb、mysqlclient、PyMySQL、peewee 和 SQLAIchemy 等。我使用的是 mysql-connector,它是 MySQL 官方提供的驱动器,用来给后端语言,比如 Python 提供连接。下面我们看下如何用 Python 使用 mysql-connector,以完成数据库的连接和使用。

首先安装 mysql-connector。在使用前,你需要先使用下面这句命令进行安装:

pip3 install mysql-connector

使用

# -*- coding: UTF-8 -*-
import mysql.connector
# 打开数据库连接
db = mysql.connector.connect(
       host="localhost",
       user="root",
       passwd="XXX", # 写上你的数据库密码
       database='wucai', 
       auth_plugin='mysql_native_password'
)
# 获取操作游标 
cursor = db.cursor()
# 执行SQL语句
cursor.execute("SELECT VERSION()")
# 获取一条数据
data = cursor.fetchone()
print("MySQL版本: %s " % data)
# 关闭游标&数据库连接
cursor.close()
db.close()

我插入了一条带有表情的字符,突然插不进去。出现如下错误:

很明显,我们知道要想存表情数据库字符集必须是 utf8mb4 的字符集,但是我就是 utf8mb4 呀?

最后整了半天原来创建 MySQL 连接的时候需要指定字符集

db = mysql.connector.connect(
        host="140.143.190.184",
        user="root",
        passwd="20140709ZHENROOT.",
        database='geek_test',
        auth_plugin='mysql_native_password',
        charset="utf8mb4")

唉,往我改了半天 字符集,表、字段都改了。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Yii2 连接多个数据库

    日常生活中我们一个项目一个数据库就足够了,但是难免会有意外,会使用多个数据库进行读写操作。例如:从另一个数据库导入数据到现在的数据库 今天就探讨下,Yii2.0...

    hedeqiang
  • 关于域名使用第三方HTTPS代理 部分样式找不到的问题

    今天把网站上传到服务器中,忽然发现样式找不到,F12一看,静态资源默认链接都是http 因此找不到

    hedeqiang
  • aliyun服务器MySQL开启远程连接

    说下阿里云服务器开启MySQL远程连接吧 每次执行SQL命令都得去服务器上操作 很是不爽。所以。。。。。。 根据度娘的搜索 总结如下:

    hedeqiang
  • 基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(四)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148526
  • [知乎作答]·关于在Keras中多标签分类器训练准确率问题

    本文来自知乎问题 关于在CNN中文本预测sigmoid分类器训练准确率的问题?中笔者的作答,来作为Keras中多标签分类器的使用解析教程。

    小宋是呢
  • Go组件学习——gorm四步带你搞定DB增删改查

      Object-Relationl Mapping, 它的作用是映射数据库和对象之间的关系,方便我们在实现数据库操作的时候不用去写复杂的sql语句,把对数据库...

    JackieZheng
  • 第一次和SQLite接触

    要使用java程序连接SQLite,并与SQLite进行数据存取操作,必须在系统上设置SQLite JDBC驱动程序和安装Java JDK。按照以下步骤进行:

    IT小马哥
  • JSP (3)------JDBC编程1

    DriverManager : 驱动程序管理类,用来装载驱动程序,为创建数据库连接提供支持。

    py3study
  • kubernetes 应用管理之道 - 有状态服务

    用户通过 Deployment、ReplicationController 可以方便地在 kubernetes 中部署一套高可用、可扩展的分布式无状态服务。这类...

    kubernetes中文社区
  • 2020年及未来的软件编程趋势预测

    2020年马上就要到了,这听起来很疯狂。似乎2020年就像是科幻小说里的故事那么遥远,但我们在这里 — 即将敲开它的大门。

    中国DevOps社区

扫码关注云+社区

领取腾讯云代金券