首页 > 数据库 >pymysql

pymysql

时间:2024-02-14 23:25:14浏览次数:28  
标签:pymysql cursor 123 sql password conn

PyMySQL

(1)简介

PyMySQL 是一个用于 Python 的纯 Python MySQL 客户端库,它实现了 MySQL 协议,可以与 MySQL 服务器进行通信。它允许 Python 开发人员在其应用程序中轻松地与 MySQL 数据库进行交互,执行查询、插入、更新和删除数据等操作。PyMySQL 被广泛用于 Python Web 开发、数据分析和其他需要与 MySQL 数据库进行交互的应用程序中。

以下是 PyMySQL 的一些主要特点和优势:

  1. 纯 Python 实现:PyMySQL 是用纯 Python 编写的,因此它可以在各种 Python 环境中运行,而无需额外的依赖项。
  2. 轻量级和易于使用:PyMySQL 提供了简洁的 API,使得连接到 MySQL 数据库并执行常见的数据库操作变得非常简单。
  3. 支持 Python 数据结构:PyMySQL 支持 Python 的数据结构,比如字典和元组,这使得从数据库中检索的数据可以方便地与 Python 中的数据结构进行交互和处理。
  4. 安全性:PyMySQL 提供了防止 SQL 注入攻击的机制,可以通过参数化查询来保护应用程序免受恶意输入的影响。
  5. 跨平台性:由于 PyMySQL 是纯 Python 实现的,因此它可以在各种操作系统上运行,包括 Windows、Linux 和 macOS。
  6. 活跃的社区支持:PyMySQL 有一个活跃的开发社区,用户可以在社区中提问、分享经验和解决问题。

(2)使用

  • 要使用 PyMySQL,首先需要安装它。可以使用 pip 工具来安装 PyMySQL。在终端或命令提示符中执行以下命令:
pip install pymysql

(1)返回的数据是查询到的结果的条数 execute(sql)

import pymysql

conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

cursor = conn.cursor()
sql = 'select * from user where password = 123;'
# 返回的数据是查询到的结果的条数
res = cursor.execute(sql)
print(res) # 3

(2)查看执行sql语句后返回的所有结果 fetchall()

import pymysql

conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

cursor = conn.cursor()
sql = 'select * from user where password = 123;'
res = cursor.execute(sql)
# 查看执行sql语句后返回的所有结果
res = cursor.fetchall()
print(res) 
# [{'id': 1, 'email': '[email protected]', 'password': '123'},
# {'id': 3, 'email': '[email protected]', 'password': '123'}]

(3)查看一条结果 fetone()

import pymysql

conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

cursor = conn.cursor()
sql = 'select * from user where password = 123;'
res = cursor.execute(sql)
res = cursor.fetchone()
print(res)
# {'id': 1, 'email': '[email protected]', 'password': '123'}

(4)查看指定数量结果 fetchamany(size=)

import pymysql

conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

cursor = conn.cursor()
sql = 'select * from user where password = 123;'
res = cursor.execute(sql)
res = cursor.fetchmany(size=1) 
print(res)
# {'id': 1, 'email': '[email protected]', 'password': '123'}

(5)插入数据

  • 连接到 MySQL 数据库。
  • 创建一个游标对象。
  • 使用游标对象执行 SQL 插入语句 INSERT INTO VALUES
  • 提交事务(如果启用了自动提交)或手动提交事务(如果未启用自动提交)。
  • 关闭游标和数据库连接。
import pymysql

# 连接到 MySQL 数据库
conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with conn.cursor() as cursor:
        # 执行插入语句
        sql = "INSERT INTO user (email, password) VALUES (%s, %s)"
        cursor.execute(sql, ('[email protected]', '123456789'))

        # 提交事务(如果未启用自动提交)
        conn.commit()

        print("Data inserted successfully!")
finally:
    # 关闭数据库连接
    conn.close()

(6)更新数据

  • 连接到 MySQL 数据库。
  • 创建一个游标对象。
  • 使用游标对象执行 SQL 更新语句 UPDATE SET
  • 提交事务(如果启用了自动提交)或手动提交事务(如果未启用自动提交)。
  • 关闭游标和数据库连接。
import pymysql

# 连接到 MySQL 数据库
conn = pymysql.connect(host='localhost',
                             user='root',
                             password='123456',
                             database='123',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with conn.cursor() as cursor:
        # 执行更新语句
        sql = "UPDATE user SET password=%s WHERE email=%s"
        cursor.execute(sql, ('123', '[email protected]'))

        # 提交事务(如果未启用自动提交)
        conn.commit()

        print("Data updated successfully!")
finally:
    # 关闭数据库连接
    conn.close()

标签:pymysql,cursor,123,sql,password,conn
From: https://www.cnblogs.com/ssrheart/p/18015835

相关文章

  • pymysql模块
    支持python代码操作数据库MySQL#安装,不用考虑版本pip3installpymysql1 链接、执行sql、关闭(游标) importpymysqluser=input('用户名:').strip()pwd=input('密码:').strip()#链接conn=pymysql.connect(host='localhost',port=3306,user='ro......
  • scrapy中运行一段时间报错pymysql.err.InterfaceError: (0, '')
    错误信息Traceback(mostrecentcalllast):File"/home/anaconda3/envs/python36/lib/python3.6/site-packages/twisted/python/threadpool.py",line250,ininContextresult=inContext.theWork()File"/home/anaconda3/envs/python36/lib/p......
  • Flask实践-使用pymysql时解决SQL注入问题
    最近在尝试使用flask编写一个网站防篡改监测平台,开始只注意功能,未注意注入问题,开始的SQL执行是拼接的方式,导致SQL注入: 用报错注入:修改为参数化查询: ......
  • Python中使用PyMySQL库连接MySQL数据库
    一、什么是PyMysqlPyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,PyMySQL遵循Python数据库APIv2.0规范,并包含了pure-PythonMySQL客户端库。二、安装PyMysql可以使用命令pipinstallpymysql如果需要确定版本号,则可以使用以下命令pipinstall<包名......
  • centos7:安装python3.6.8:安装uvicorn、fastapi、pymysql:指定国内的pypi镜像源
    yuminstallpython3python3-develgccmakelibaio-develpip3install-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.aliyun.com"uvicorn[standard]"==0.16.0pymysqlfastapi 关键点:因为centos7的软件仓库中,python3的版本比较低:python3-3.6.8-1......
  • Python 利用pymysql和openpyxl操作MySQL数据库并插入Excel数据
    1.需求分析本文将介绍如何使用Python连接MySQL数据库,并从Excel文件中读取数据,将其插入到MySQL数据库中。2.环境准备在开始本文之前,请确保您已经安装好了以下环境:Python3.xPyMySQL库openpyxl库MySQL数据库3.连接MySQL数据库我们可以使用pymysql库来连接MySQL数据库......
  • Python使用pymysql和xlrd2将Excel数据导入MySQL数据库
    在数据处理和管理中,有时候需要将Excel文件中的数据导入到MySQL数据库中进行进一步的分析和操作。本文将介绍如何使用Python编程语言实现这个过程。导入所需库importxlrd2#导入xlrd2库,用于读取Excel文件importpymysql#导入pymysql库,用于连接和操作MySQL数据库fromdat......
  • pymysql模块
    pymysql模块是python3中用于操作mysql数据库的一个库,不是自带模块,需要运行pipinstallpymysql进行安装。数据库的操作无非连接、查询、增、删、改:示例:1importpymysql23#打开数据库连接4conn=pymysql.connect(5host="localhost",6user="sq_test......
  • 【Python】pymysql 连接mysql数据库, 执行数据库语句
    1.数据库设置importpymysql#数据库连接配置DB_HOST='127.0.0.1'#ipDB_PORT=3306#端口DB_USER='root'#用户名DB_PASSWD='root'#密码DB_DATABASE='db_1'#数据库名称2.数据库连接#连接数据库conn=pymysql.connect(host=DB_HOS......
  • 软件测试|使用PyMySQL访问MySQL数据库的详细指南
    简介PyMySQL是Python中流行的MySQL数据库驱动程序,它提供了便捷的方法来连接、查询和更新MySQL数据库。本文将为您提供使用PyMySQL访问MySQL数据库的详细指南,包括安装PyMySQL、连接数据库、执行查询和更新操作等。获取更多技术资料,请点击!环境准备在开始之前,您需要确保已经安装......