• 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、结果演示

  • 相关阅读:
    Expert C programming书摘
    修改文件时间属性的方法
    算法学习, 开始计划
    小游戏学习搜集
    C++ 练习记录2---Effective STL中的vector<bool>
    C++ 练习记录1--vector<T> 中T的初始化
    oracle的wm_concat函数实现行转列
    Oracle批量插入有日期类型数据
    如何将zTree选中节点传递给后台
    第五章:1.数组和广义表 -- 数组
  • 原文地址:https://www.cnblogs.com/pengpengdeyuan/p/13674313.html
Copyright © 2020-2023  润新知