python链接mysql数据库及中文编码问题
2016-08-04 14:07
519 查看
在python中链接mysql数据库需要下载MySQLdb模块,命令很简单:
安装完该模块之后只需要在编程的时候import就可以了。
接下来介绍一下常用的数据库操作命令。先定义一个DBConn的类,用于解决数据库连接/事务提交/数据库关闭的功能。
然后介绍一下数据库常用的操作,所有的操作都通过cur.execute()函数进行提交,该函数第一个参数为要执行的mysql数据库命令,第二个参数为提供的python程序中的相关变量列表:
好了,简单的数据库操作命令已经介绍完毕,接下来说一说中文编码问题。这里主要涉及两个方面,一个是数据库本身的编码方式,一个是python程序的编码方式。第一个问题可以参考之前写的一篇文章,第二个问题就是上面提到的在连接数据库的时候一定要设置charset=”utf8”,这一点很关键。如果还是不行的话,可以尝试将插入数据库的字符串改编码格式。比如说要将str变量插入数据库,那么可以在插入之前进行str.encode()。一般情况下都是可以的了。
pip install MySQLdb
安装完该模块之后只需要在编程的时候import就可以了。
接下来介绍一下常用的数据库操作命令。先定义一个DBConn的类,用于解决数据库连接/事务提交/数据库关闭的功能。
# -*- coding: UTF-8 -*- import MySQLdb class DBConn(object): conn = None #建立和数据库系统的连接 #注意这里在数据库中有中文时,必须指定连接的编码方式为utf8,不然插入数据库时会出现乱码,导致出错。 def connect(self): self.conn = MySQLdb.connect(host="localhost",port=3306,user="root", passwd="××××(改成自己的密码)" ,db="house",charset="utf8") #获取操作游标 def cur(self): try: return self.conn.cursor() except (AttributeError, MySQLdb.OperationalError): self.connect() return self.conn.cursor() def commit(self): return self.conn.commit() #关闭连接 def close(self): return self.conn.close()
然后介绍一下数据库常用的操作,所有的操作都通过cur.execute()函数进行提交,该函数第一个参数为要执行的mysql数据库命令,第二个参数为提供的python程序中的相关变量列表:
#创建数据表 cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))") #插入一条数据,可以直接插,也可以将要查的数据以列表形式提供 cur.execute("insert into student values('2','Tom','3 year 2 class','9')") cur.execute("insert into student values(%s,%s,%s,%s)",['2','Tom','3 year 2 class','9']) #修改查询条件的数据 cur.execute("update student set class='3 year 1 class' where name = 'Tom'") #删除查询条件的数据 cur.execute("delete from student where age='9'")
好了,简单的数据库操作命令已经介绍完毕,接下来说一说中文编码问题。这里主要涉及两个方面,一个是数据库本身的编码方式,一个是python程序的编码方式。第一个问题可以参考之前写的一篇文章,第二个问题就是上面提到的在连接数据库的时候一定要设置charset=”utf8”,这一点很关键。如果还是不行的话,可以尝试将插入数据库的字符串改编码格式。比如说要将str变量插入数据库,那么可以在插入之前进行str.encode()。一般情况下都是可以的了。
相关文章推荐
- python的中文编码问题
- JSP连接MySQL数据库时中文编码问题
- Python 中文编码问题
- python中中文编码问题
- 利用python处理xml -- 中文编码问题
- Python中文编码问题
- python中文编码问题
- python 中文编码问题
- 利用MySQLDriverCS链接MySQL数据库及中文乱码问题
- python中文编码问题
- python 中文编码 问题
- python的中文编码问题
- python tornado框架中的中文编码问题
- python中文编码问题
- Python中文编码问题
- python中的中文编码问题
- [web]超级链接传递中文 编码问题
- python+mysql 操作数据库出现的中文编码问题
- python中文编码问题
- Python中文编码问题