使用MySQLdb库来连接数据库

import MySQLdb
conn = MySQLdb.connect(host='127.0.0.1',
user='root',
passwd='',
port=3306,
db='database_name',
charset='GBK'
)
# 生成游标对象
cur = conn.cursor()
sql="select * from table_name where value like '%黑客%';" # SQL语句
# print(sql)
cur.execute(sql) # 执行SQL语句
# 通过fetchall方法获得数据
data = cur.fetchall()
# 打印输出前4条数据
for i in data[:4]:
print(i)
cur.close() # 关闭游标
conn.close() # 关闭连接

错误一:MySQLdb._exceptions.OperationalError: (1698, "Access denied for user 'root'@'localhost'")

解决方法:

该报错说明root不能登录,终端可以登录的情况下,查看本地mysql默认密码:cat /etc/mysql/debain.cnf

登录mysqlmysql -uroot -p,运行命令

use mysql;

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

FLUSH PRIVILEGES;

exit;

service mysql restart

即可解决

错误二:包含中文无法查询

首先确定mysql的编码格式,若无法确定在连接的时候尝试更换编码格式

  conn = MySQLdb.connect(host='127.0.0.1',

                       user='root',

                       passwd='',

                       port=3306,

                       db='xxx',

                       charset='GBK' #在此确定编码格式
)

连数据库几个编码都要确定好:

  • 数据库自身的字符集
  • 连接是输送命令的字符集
  • 数据库返回数据的字符集

这些都统一了或者确定好一套合适的转换方案才行,特别是 ODBC 连接的时候要特别注意

python连接数据库及查询包含中文错误解决方法的更多相关文章

  1. linux sqlplus查询数据中文乱码解决方法记录

    locale-gen -lang en.US.UTF-8 重启.

  2. Python 排错UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法

    Python UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法   by:授客 QQ:1033553122 错误描述: py ...

  3. Django 分页查询并返回jsons数据,中文乱码解决方法

    Django 分页查询并返回jsons数据,中文乱码解决方法 一.引子 Django 分页查询并返回 json ,需要将返回的 queryset 序列化, demo 如下: # coding=UTF- ...

  4. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

  5. Python更新pip出现错误解决方法

    Python更新pip出现错误解决方法 更新pip python -m pip install --upgrade pip 查看时报错 解决方法 在命令栏(即win+r)输入:easy_install ...

  6. Java 前台后台数据传递、中文乱码解决方法

    1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递:  这种方式只是单一的向前台传递 ...

  7. (C#)asp_net调试错误解决方法收集(1)

    (C#)asp_net调试错误解决方法收集(1) 2007-11-2309:20 一.异常详细信息:System.InvalidOperationException:对于不返回任何键列信息的Selec ...

  8. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  9. linux上备份Oracle时EXP-00091的错误解决方法

    unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable stati ...

  10. C#常见错误解决方法

    1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...

随机推荐

  1. macOS下安装 n 管理包(node版本管理工具)

    1. 安装 n 管理包 终端命令全局安装 npm install -g n 安装成功后在终端输入 n --version 或 n 查看,可看到 n 的默认安装目录 下面就是使用 n 的方式了, 首先查 ...

  2. RedisTemplate在拦截器前没有注入的问题

    RedisTemplate为null的问题 最近在搭建一个项目,然后项目框架采用的是spring boot,然后登录我就使用新学习的JWT嘛,然后就想着在请求进来的时候使用拦截器先对传进来的token ...

  3. Java8 Stream流的合并

    最近的需求里有这样一个场景,要校验一个集合中每个对象的多个Id的有效性.比如一个Customer对象,有3个Id:id1,id2,id3,要把这些Id全部取出来,然后去数据库里查询它是否存在. @Da ...

  4. 在docker容器里,ffmpeg给视频文件内嵌字幕文件,不生效,如何解决?

    用ffmpeg命令,发现执行成功,但视频文件就是没有字幕.看不出问题出现在什么地方.后来直接用ffmpeg添加水印命令测试,发现是缺少字体文件,如下图所示: 报Fontconfig error: Ca ...

  5. 2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h

    2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x.y两个小数组长度都是4. 如果有: a + e = b + f = c + g = d + h ...

  6. c++函数参数和返回值

    c++函数参数和返回值 函数存储位置 函数参数入栈顺序 初始化列表 函数的返回值 用参数引用来返回 返回一个参数指针 返回一个对象 总结 函数的几种变体 inline 函数 函数对象 lambda 函 ...

  7. 2014年蓝桥杯C/C++大学B组省赛真题(蚂蚁感冒)

    题目描述: 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒.当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行.这些蚂蚁中,有1只蚂蚁 ...

  8. < Python全景系列-7 > 提升Python编程效率:模块与包全面解读

    欢迎来到我们的系列博客<Python全景系列>!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还是有一 ...

  9. 自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易

    在生产环境中,直接登录服务器是非常不方便的,我们可以使用Kiali配置Istio的流量管理. 本文以Istio官方提供的Bookinfo应用示例为例,使用Kiali配置Istio的流量管理.Booki ...

  10. Blazor HyBrid 授权讲解

    Blazor HyBrid 授权讲解 本文介绍 ASP.NET Core 对 Blazor Hybrid 应用中的安全配置和管理及 ASP.NET Core Identity 的支持. Blazor ...