python数据库中文
① 在linux系统下,python连接MYsql数据库,怎么可以在python中看到中文
#!/usr/bin/python
# encoding: utf-8
# filename: dbi.py
class DBI:
'''this is a private abstract Database Interface class'''
def __init__(self, **kwg):
self.config = dict(kwg)
def open(self):
'''use special driver to connect RDBMS and generate cursor'''
pass
def close(self):
self.curr.close()
self.conn.close()
self.curr = None
self.conn = None
def __enter__(self):
self.open()
return self
def __exit__(self, *args):
self.close()
...
#!/usr/bin/python
# encoding: utf-8
# filename: mydbi.py
import MySQLdb
import dbi
class MyDBI(DBI):
def open(self):
self.conn = MySQLdb.connect(
host = self.config.get('host','localhost'),
user = self.config.get('user','root'),
passwd = self.config.get('passwd',''),
db = self.config.get('db','mysql'),
charset = self.config.get('charset','utf8'),
use_unicode = self.config.get('use_unicode',True),
)
self.curr = self.conn.cursor()
② 掌握Python 操作 MySQL 数据库
本文Python 操作 MySQL 数据库需要是使用到 PyMySQL 驱动
Python 操作 MySQL 前提是要安装好 MySQL 数据库并能正常连接使用,安装步骤详见下文。
注意: 安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。
首先需要先下载 MySQL 安装包, 官网下载地址 下载对应版本即可,或直接在网上拉取并安装:
权限设置:
初始化 MySQL:
启动 MySQL:
查看 MySQL 运行状态:
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
登陆:
创建数据库:
查看数据库:
PyMySQL 模块使用 pip命令进行安装:
假如系统不支持 pip 命令,可以使用以下方式安装:
pymysql .connect 函数:连接上数据库
输出结果显示如下:表面数据库连接成功
使用 pymysql 的 connect() 方法连接数据库,connect 参数解释如下:
conn.cursor():获取游标
如果要操作数据库,光连接数据是不够的,咱们必须拿到操作数据库的游标,才能进行后续的操作,游标的主要作用是用来接收数据库操作后的返回结果,比如读取数据、添加数据。通过获取到的数据库连接实例 conn 下的 cursor() 方法来创建游标,实例如下:
输出结果为:
cursor 返回一个游标实例对象,其中包含了很多操作数据的方法,如执行sql语句,sql 执行命令: execute() 和 executemany()
execute(query,args=None):
executemany(query,args=None):
其他游标对象如下表:
完整数据库连接操作实例如下:
以上结果输出为:
创建表代码如下:
如下所示数据库表创建成功:
插入数据实现代码:
插入数据结果:
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
查询数据代码如下:
输出结果:
DB API中定义了一些数据库操作的错误及异常,下表列出了这些错误和异常:
本文给大家介绍 Python 如何连接 Mysql 进行数据的增删改查操作,文章通过简洁的代码方式进行示例演示,给使用 Python 操作 Mysql 的工程师提供支撑。
③ python查mysql数据库 返回结果的中文乱码
这个不是乱码,这是 unicode 字符串在内存中的形式,python 在命令行界面输出的数据,如果不是ASCII码,则会以十六进制形式输出。需要输出看见中文的话,代码如下。
#利用第三方库uniout,如果没有就安装:pipinstalluniout
importuniout
listnine=['梨','橘子','苹果','香蕉']
printlistnine