Python (一) 操作Mysql


程序员的公众号:源1024,获取更多资料,无加密无套路!

最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等
获取方式: 关注公众号并回复 666 领取,更多内容持续奉上


在 Python3 中,我们可以使用mysqlclient、pymysql三方库来接入 MySQL 数据库并实现数据持久化操作。

下面使用纯 Python 的三方库pymysql来操作:

用命令安装pymysql

pip install pymysql cryptography

#导入模块
import pymysql

#创建连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='1234',
    database='ry',
    charset='utf8mb4',
    autocommit=True
)

try:
    # 获取游标
    with conn.cursor() as cursor:
        #发送sql
        cursor.execute(
            'select * from sys_dict_type'
        )
        #抓取数据 fetchone抓取一条记录,fetchmany和fetchall方法会抓取到多条记录
        #一次性将所有记录抓取到一个嵌套元组,不建议使用,会造成非常大的内存开销
        # for row in cursor.fetchall():
        #     print(row)

        #while循环实现了逐行抓取查询结果,适合查询结果有非常多行的场景
        row = cursor.fetchone
        while row:
            print(row)
            row = cursor.fetchone()
    # 非查询操作 提交事务,也可以设置自动提交
    # conn.commit()    
except pymysql.MySQLError as err:
    print(type(err),err)
    #回滚事务
    # conn.rollback()

finally:
    #关闭连接释放资源
    conn.close()                

注意 

fetchone抓取一条记录,fetchmany和fetchall方法会抓取到多条记录

fetchall会一次性将所有记录抓取到一个嵌套元组,不建议使用,会造成非常大的内存开销


系列文章索引

Python(一)关键字、内置函数

Python(二)基本数据类型

Python(三)数据类型转换

Python(四)字符串

Python(五)数字

Python(六) 列表

Python(七) 条件控制、循环语句

Python(八) 字典

Python(九) 集合

Python (十) 元组


你可能感兴趣的:(#,高阶,python)