pymysql插入数据详解

pymysql是Python下一个能够在Python3.x版本中连接MySQL数据库的库,它是一个纯Python实现的MySQL客户端,支持Python3.x和Python2.x,完全兼容MySQLdb的API。

一、pymysql连接远程数据库

使用pymysql连接远程数据库需要如下步骤:

1、首先,需要在远程MySQL数据库中创建用户,并给该用户授权:


-- 创建用户
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

-- 给用户授权
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

2、远程MySQL数据库需要开启远程访问功能,通过修改其配置文件来实现:


# 打开MySQL配置文件my.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 注释掉下面这一行
# bind-address        = 127.0.0.1

# 重启MySQL服务
sudo service mysql restart

3、编写Python代码连接远程MySQL数据库:


import pymysql

# 建立连接
db = pymysql.connect(host="host_ip", port=port, user="user_name", password="password", database="database_name")

# 创建游标对象
cursor = db.cursor()

# 执行SQL语句
cursor.execute("SELECT VERSION()")

# 获取数据库版本号
data = cursor.fetchone()

# 输出数据
print("MySQL 版本号为:{}".format(data))

# 关闭连接
db.close()

二、pymysql查询出来的数据格式

pymysql查询出的数据格式为元组(tuple),元组中的值对应查询结果中一行的值,可以通过遍历元组获取所有行的结果。


import pymysql

db = pymysql.connect(host="host_ip", port=port, user="user_name", password="password", database="database_name")

# 创建游标对象
cursor = db.cursor()

# 执行SQL语句
cursor.execute("SELECT * FROM table_name")

# 获取查询结果
data = cursor.fetchall()

# 遍历查询结果
for row in data:
    print(row)

# 关闭连接
db.close()

三、pymysql更改数据

pymysql通过执行SQL语句来更改数据库中的数据,可以使用INSERT、UPDATE和DELETE语句,同时还可以使用事务来保证更改数据的原子性。

以下代码演示了使用pymysql插入数据的过程:


import pymysql

db = pymysql.connect(host="host_ip", port=port, user="user_name", password="password", database="database_name")

# 创建游标对象
cursor = db.cursor()

# SQL语句
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"

# 数据
values = [('value1', 'value2', 'value3'), ('value4', 'value5', 'value6')]

try:
    # 开始事务
    db.begin()

    # 执行SQL语句
    cursor.executemany(sql, values)

    # 提交事务
    db.commit()

    # 获取受影响的行数
    print("成功插入了%d条数据" % cursor.rowcount)

except Exception as e:
    # 回滚事务
    db.rollback()

    print("插入数据失败,原因:{}".format(e))

finally:
    # 关闭连接
    db.close()

四、pymysql查询数据

pymysql通过执行SELECT语句来查询数据库中的数据,可以使用WHERE子句来筛选数据,同时还可以使用ORDER BY子句来对查询结果进行排序。


import pymysql

db = pymysql.connect(host="host_ip", port=port, user="user_name", password="password", database="database_name")

# 创建游标对象
cursor = db.cursor()

# SQL语句
sql = "SELECT * FROM table_name WHERE column1 = %s ORDER BY column2 DESC"

# 数据
value = 'value'

try:
    # 执行SQL语句
    cursor.execute(sql, value)

    # 获取查询结果
    data = cursor.fetchall()

    # 遍历查询结果
    for row in data:
        print(row)

except Exception as e:
    print("查询数据失败,原因:{}".format(e))

finally:
    # 关闭连接
    db.close()

五、pymysql连接数据库

pymysql连接MySQL数据库非常简单,只需要调用connect()方法即可,该方法支持多个参数,包括host、port、user、passowrd和database等参数。


import pymysql

# 连接MySQL数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')

# 关闭连接
db.close()

六、pymysql链接数据库

pymysql链接MySQL数据库时,如果出现用户名或者密码错误、端口号不匹配等问题时,会出现错误提示信息。


import pymysql

try:
    # 连接MySQL数据库
    db = pymysql.connect(host='localhost', port=3307, user='root', password='123456', database='test')

except Exception as e:
    print("连接数据库失败,原因:{}".format(e))

七、pymysql获取字段和数据

pymysql可以从查询结果中获取字段和数据,通过description属性获取查询结果的字段信息,通过fetchall方法获取查询结果的数据。


import pymysql

# 连接MySQL数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')

# 创建游标对象
cursor = db.cursor()

# SQL语句
sql = "SELECT * FROM table_name"

try:
    # 执行SQL语句
    cursor.execute(sql)

    # 获取字段信息
    fields = cursor.description

    # 打印字段信息
    for field in fields:
        print(field[0], end='\t')

    print()

    # 获取查询结果
    data = cursor.fetchall()

    # 遍历查询结果
    for row in data:
        print(row)

except Exception as e:
    print("获取字段和数据失败,原因:{}".format(e))

finally:
    # 关闭连接
    db.close()

八、pymysql修改数据库数据

pymysql通过执行UPDATE和DELETE语句来修改数据库中的数据,可以使用WHERE子句来修改和删除指定数据。


import pymysql

# 连接MySQL数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')

# 创建游标对象
cursor = db.cursor()

try:
    # 开始事务
    db.begin()

    # 修改数据
    sql = "UPDATE table_name SET column1 = %s WHERE column2 = %s"
    value = ('new_value', 'value')

    cursor.execute(sql, value)

    # 提交事务
    db.commit()

    print("数据修改成功!")

except Exception as e:
    # 回滚事务
    db.rollback()
    
    print("数据修改失败,原因:{}".format(e))

finally:
    # 关闭连接
    db.close()

九、pymysql连接数据库失败

如果pymysql连接MySQL数据库时出现连接超时、连接拒绝、连接错误等问题时,会出现错误提示信息。


import pymysql

try:
    # 连接MySQL数据库
    db = pymysql.connect(host='localhost', port=3307, user='root', password='123456', database='test', connect_timeout=3)

except Exception as e:
    print("连接MySQL数据库失败,原因:{}".format(e))

总结

本篇文章主要对pymysql插入数据进行了详细的讲解,通过对连接远程数据库、查询出来的数据格式、更改数据、查询数据、连接数据库、链接数据库、获取字段和数据、修改数据库数据以及连接数据库失败这几个方面进行了详细的阐述,希望能够对大家使用pymysql插入数据有所帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/230412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-10 18:17
下一篇 2024-12-10 18:17

相关推荐

  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29
  • Python多线程读取数据

    本文将详细介绍多线程读取数据在Python中的实现方法以及相关知识点。 一、线程和多线程 线程是操作系统调度的最小单位。单线程程序只有一个线程,按照程序从上到下的顺序逐行执行。而多…

    编程 2025-04-29
  • Python两张表数据匹配

    本篇文章将详细阐述如何使用Python将两张表格中的数据匹配。以下是具体的解决方法。 一、数据匹配的概念 在生活和工作中,我们常常需要对多组数据进行比对和匹配。在数据量较小的情况下…

    编程 2025-04-29
  • Python爬取公交数据

    本文将从以下几个方面详细阐述python爬取公交数据的方法: 一、准备工作 1、安装相关库 import requests from bs4 import BeautifulSou…

    编程 2025-04-29
  • Python数据标准差标准化

    本文将为大家详细讲述Python中的数据标准差标准化,以及涉及到的相关知识。 一、什么是数据标准差标准化 数据标准差标准化是数据处理中的一种方法,通过对数据进行标准差标准化可以将不…

    编程 2025-04-29
  • 如何使用Python读取CSV数据

    在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取…

    编程 2025-04-29
  • Python根据表格数据生成折线图

    本文将介绍如何使用Python根据表格数据生成折线图。折线图是一种常见的数据可视化图表形式,可以用来展示数据的趋势和变化。Python是一种流行的编程语言,其强大的数据分析和可视化…

    编程 2025-04-29
  • Python如何打乱数据集

    本文将从多个方面详细阐述Python打乱数据集的方法。 一、shuffle函数原理 shuffle函数是Python中的一个内置函数,主要作用是将一个可迭代对象的元素随机排序。 在…

    编程 2025-04-29

发表回复

登录后才能评论