最近接手项目,采用Python开发,近期将总结一些关于Python的基础用法。
一、Python连接MySQL
首先第一步肯定是导入所需的类包,但我们会发现有两种形式的类包:PyMySQL与MySQLdb
1、PyMySQL与MySQLdb的区别:
这两个包还是有很大区别的,MySQLdb只支持到python3.4,所以对于python3.5+的用户只可以用PyMySQL包了。
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
由于MySQLdb是用C写的,速度快,相对于PyMySQL来说效率更高一些,所以我们可以根据需要去选择使用哪一个。
其实我们可以用PyMySQL代替MySQLdb的,在导入pymysql库后,在__init__.py中添加两行:
import pymysql pymysql.install_as_MySQLdb()
2、连接数据库
在此我使用的是mysqldb类包演示,
import pymysql class ccsMapper: def __init__(self,conn): self.conn = conn #获取连接 self.cursor = conn.cursor() #游标 def selectAll(self,sql): try: self.cursor.execute(sql) #执行 results = self.cursor.fetchall() #获取结果集 except Exception as e: print("Exception:",e) else: self.conn.close() #关闭资源 for row in results: print(row) """ 可以利用以下形式获取个单元数值 """ # for row in results: # id = row[0] # one = row[1] # two = row[2] # name = row[3] if __name__ == '__main__': #连接数据库 conn = pymysql.connect( host='127.0.0.1', #mysql地址 user='root', #用户名 password='root', #密码 db='user_info', #数据库名 charset='utf8', #编码 # autocommit=True, # 自动提交,和conn.commit()功能一致。 ) mapper = ccsMapper(conn) sql = 'select * from ccs_user' mapper.selectAll(sql)