• Python使用pymysql三方库操作 mysql数据库


    为什么要使用pymysql

            在使用Python工作与学习中难免会使用到mysql数据库,使用pymysql三方库可以让我们轻松的对数据库的记录进行操作,如创建、修改,删除表,如增加、删除、修改、查询数据表中的记录,下边记录一下pymysql的使用方法:


    连接方法 Connect = connect = Connection

    1. # 创建mysql数据库连接
    2. conn = Connection(
    3. user='root',
    4. host='192.168.109.135',
    5. password='test_12345',
    6. port=3306,
    7. database='test_db',
    8. charset='utf8',
    9. cursorclass=cursors.DictCursor
    10. )

    CURSOR种类

            cursor 的种类有四种,默认使用的是Cursor,还有DictCursor,SSCursor,SSDictCursor,Cursor 返回的结果是以元组的形式返回的,DictCursor,是以字典的形式返回的。DictCursor是继承了Cursor与DictCursorMixin,DictCursorMixin里面只有函数两个方法。(可以选择自己需要的返回形式)

    INSERT INTO语句(增)

    1. 单条数据插入

    1. data = (1, 'group1', 'group1/M00/00/00/wKhthmT1PGuAXV09AAABFcYZOGg5350.py', 'Upload successed.', 'fdfs.py', '277B', '192.168.109.134', 'fdfs.py')
    2. with conn.cursor() as cursor:
    3. # Create a new record
    4. sql = "INSERT INTO `upload_file` (`Group name`, `Remote file_id`, `Status`, `Local file name`, `Uploaded size`, `Storage IP`, `Filename`)" \
    5. " VALUES (%s, %s, %s, %s, %s, %s, %s)"
    6. cursor.execute(sql, data)
    7. conn.commit()
    1. 多条数据插入

    1. data = ((1, 'group1', 'group1/M00/00/00/wKhthmT1PGuAXV09AAABFcYZOGg5350.py', 'Upload successed.', 'fdfs.py', '277B', '192.168.109.134', 'fdfs.py'), (2, 'group1', 'group1/M00/00/00/wKhthmT1TMKAH20TAAAD-MJMli03267.py', 'Upload successed.', 'fdfs.py', '1016B', '192.168.109.134', 'fdfs.py'), (3, 'group1', 'group1/M00/00/00/wKhthmT1TSqAFhCyAAxZcPR00vw.tar.gz', 'Upload successed.', 'fastdfs-6.06.tar.gz', '790.36KB', '192.168.109.134', 'fastdfs-6.06.tar.gz'), (4, 'group1', 'group1/M00/00/00/wKhthmT1TTCABEUgAABN8HAGbcY.tar.gz', 'Upload successed.', 'fastdfs-nginx-module-1.22.tar.gz', '19.48KB', '192.168.109.134', 'fastdfs-nginx-module-1.22.tar.gz'), (5, 'group1', 'group1/M00/00/00/wKhthmT1TTWAU-W3ABBjHPqFuIs.tar.gz', 'Upload successed.', 'nginx-1.22.1.tar.gz', '1.02MB', '192.168.109.134', 'nginx-1.22.1.tar.gz'), (6, 'group1', 'group1/M00/00/00/wKhthmT1TUCAaierAAKKfr3HBzE.tar.gz', 'Upload successed.', 'libfastcommon-1.0.43.tar.gz', '162.62KB', '192.168.109.134', 'libfastcommon-1.0.43.tar.gz'), (7, 'group1', 'group1/M00/00/00/wKhthmT1TVeANtONAAKKfr3HBzE.tar.gz', 'Upload successed.', '/tmp/libfastcommon-1.0.43.tar.gz', '162.62KB', '192.168.109.134', 'libfastcommon-1.0.43.tar.gz'))
    2. with conn.cursor() as cursor:
    3. # Create a new record
    4. sql = "INSERT INTO `upload_file` (`Group name`, `Remote file_id`, `Status`, `Local file name`, `Uploaded size`, `Storage IP`, `Filename`)" \
    5. " VALUES (%s, %s, %s, %s, %s, %s, %s)"
    6. cursor.executemany(sql, data)
    7. conn.commit()

    DELETE  语句(删)

    1. def delete(pk: int):
    2. """
    3. delete from table where filed1='';
    4. :param pk:
    5. :return:
    6. """
    7. with conn.cursor() as cursor:
    8. # delete a record
    9. SQL = "delete from `upload_file` where id=%d" % pk
    10. cursor.execute(SQL)
    11. conn.commit()

    UPDATE SET 语句(改)

    1. def update(pk):
    2. """update table set column1=value1, column2=value2"""
    3. with conn.cursor() as cursor:
    4. # delete a record
    5. SQL = "update upload_file set Filename='test.txt' where id=%d" % pk
    6. cursor.execute(SQL)
    7. conn.commit()

    SELECT 语句(查)

    1. 多记录查询

    1. def select(self, pk=None):
    2. with conn.cursor() as cursor:
    3. sql = """ SELECT * from `upload_file`"""
    4. cursor.execute(sql)
    5. rows = cursor.fetchall()
    6. print(rows)
    1. 单记录查询

    1. def select(self, pk):
    2. with conn.cursor() as cursor:
    3. sql = """ SELECT * from `upload_file` where id=%d""" % pk
    4. cursor.execute(sql)
    5. rows = cursor.fetchone()
    6. print(rows)
  • 相关阅读:
    回环设备(/dev/loop*)与losetup命令
    Istio Arch-2
    【语义分割】2015-UNet MICCAI
    JSP基础
    从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
    一个极简的Http请求client推荐,一行搞玩外部请求
    0086 哈希表
    Linux 6.6 初步支持AMD 新一代 Zen 5 处理器
    如何使用 Pyinstaller 编译打包 Python 项目生成 exe 可执行文件(2023 年最新详细教程)
    全量和已占用字符集
  • 原文地址:https://blog.csdn.net/qq_42336581/article/details/132668993