Python连接mysql实例及注意事项

最近接手项目,采用Python开发,近期将总结一些关于Python的基础用法。

一、Python连接MySQL

首先第一步肯定是导入所需的类包,但我们会发现有两种形式的类包:PyMySQLMySQLdb

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)

3、结果演示

原文地址:https://www.cnblogs.com/pengpengdeyuan/p/13674313.html