【Python】pymysql库的介绍及用法

1、应用场景

pymysql库是Python连接MySQL数据库的一个重要工具,常见的应用场景如下:

  1. 数据库连接: pymysql库可以非常方便地在Python程序中连接MySQL数据库,使得Python程序能够操作数据库。
  2. 数据库操作: 通过pymysql库,Python程序能够执行各种SQL语句,包括数据查询(SELECT),数据插入(INSERT),数据更新(UPDATE)和数据删除(DELETE)等操作。
  3. 数据库管理: 除了基本的数据操作外,Python还可以通过pymysql库执行一些数据库管理相关的任务,比如创建或删除数据库,创建或删除数据表,创建或删除索引等。
  4. 数据处理和分析: Python是一种非常适合做数据分析的语言,使用pymysql库,Python可以直接从MySQL数据库中读取数据,然后使用各种Python数据分析库(比如pandas,numpy等)来进行数据处理和分析。

因此,pymysql库在很多涉及到Python和MySQL数据库交互的场合都会被使用到,比如数据分析,网站后端开发,自动化测试等等。

2、pymysql-三方库

pymysql不是Python的标准库。它是一个纯Python实现的MySQL客户端,可以用来连接MySQL服务器并进行相关的操作。

要使用pymysql,首先需要使用pip进行安装:

pip install pymysql

安装成功后,就可以在Python代码中通过import pymysql来引用这个库了。

python连接mysql

Python通过pymysql或mysql-connector模块连接MySQL数据库。

以下是在Python中使用pymysql模块连接MySQL数据库的方法:

# 导入pymysql模块
import pymysql

# 创建数据库连接
db = pymysql.connect("localhost", "用户名", "密码", "数据库名")

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

# 使用execute()方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 通过fetchone()方法获取单条数据
data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接
db.close()

同时,请确保已经在Python环境中安装了pymysql模块,如果没有,需要通过pip进行安装:

pip install pymysql

以下是在Python中使用mysql-connector模块连接MySQL数据库的方法:

# 导入mysql-connector模块
import mysql.connector

# 创建数据库连接
cnx = mysql.connector.connect(user='用户名', password='密码',
                              host='localhost',
                              database='数据库名')

# 关闭数据库连接
cnx.close()

同时,确保已经在Python环境中安装了mysql-connector模块,如果没有,需要通过pip进行安装:

pip install mysql-connector-python
pymysql库的介绍及使用方法

pymysql是一个Python连接MySQL数据库的库,它是全Python实现的,不需要MySQL的客户端库就可以完成所有操作,包括连接、查询、插入、更新等等。

以下是简单的使用介绍:

  1. 安装pymysql: 使用pip进行安装
pip install pymysql
  1. 建立连接: 导入pymysql模块,使用connect() 方法来创建数据库的连接,需要传入数据库地址、数据库用户名、数据库密码、数据库名称等信息。
import pymysql

# 创建数据库连接
db = pymysql.connect("localhost", "username", "password", "dbname")
  1. 创建游标: 游标(cursor)是执行数据库操作的重要对象,它提供了执行SQL命令和获取结果的所有方法。在pymysql中,要执行SQL命令,首先需要创建一个Cursor对象。
# 创建游标对象
cursor = db.cursor()
  1. 执行SQL: 通过游标的execute()方法,将需要执行的SQL语句作为参数传入。
# 执行SQL语句
sql = "SELECT * FROM table_name"
cursor.execute(sql)
  1. 获取结果: 执行完SQL语句后,可以通过游标对象的fetchone()方法获取一条结果,fetchall()获取所有结果,fetchmany(size)获取指定数量的结果。
# 获取结果
data = cursor.fetchone()  # 获取一条结果
data = cursor.fetchall()  # 获取所有结果
  1. 结束操作: 完成所有操作后,需要使用close()方法关闭数据库连接。
# 关闭数据库连接
db.close()

这就是pymysql库的基本介绍和使用方法,更详细的操作,比如异常处理、事务处理等,可以参考pymysql的官方文档或者其他相关教程。

除了上述介绍的基础用法外,pymysql库还有一些其他的高级用法。例如:

**1. 插入数据: **

import pymysql

# 创建数据库连接
db = pymysql.connect("localhost","username","password","dbname")
cursor = db.cursor()

# 使用预处理语句创建表
sql = """INSERT INTO tableName (
         FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except: 
   # 如果发生错误则回滚
   db.rollback()

# 关闭数据库连接
db.close()

**2. 更新数据: **

import pymysql

# 创建数据库连接
db = pymysql.connect("localhost","username","password","dbname")
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE tableName SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

# 关闭数据库连接
db.close()

请注意在数据库操作中,为了保证数据的一致性和完整性,都需要通过commit()来提交事务,或者在发生错误时通过rollback()进行回滚。

**3. 删除数据: **

import pymysql

# 创建数据库连接
db = pymysql.connect("localhost","username","password","dbname")
cursor = db.cursor()

# 使用预处理语句创建表
sql = """INSERT INTO tableName (
         FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except: 
   # 如果发生错误则回滚
   db.rollback()

# 关闭数据库连接
db.close()

同样地,在删除数据时也要记得提交事务或在发生错误时进行回滚。

查询数据是操作数据库最常见的需求之一。在pymysql库中,可以执行SQL查询语句,并通过游标获取查询结果。

下面是一个示例:

import pymysql

# 创建数据库连接
db = pymysql.connect("localhost","username","password","dbname")

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

# 执行SQL查询语句
sql = "SELECT * FROM table_name"
try:
    cursor.execute(sql)

    # 获取所有记录列表
    results = cursor.fetchall()
    
    for row in results:
        # 打印结果
        print(row)
except:
    print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

在这个示例中,我们首先执行了一个SQL查询语句,然后通过cursor.fetchall()获取了所有的查询结果。这个函数返回一个元组列表,列表中每个元组对应查询结果中的一行记录。然后我们遍历了这个列表,打印出了每行记录。

需要注意的是,如果查询结果很大,fetchall()可能会消耗大量的内存。在这种情况下,可以使用fetchone()或fetchmany(size)函数来一次获取一部分记录。

相关推荐

  1. 【Python】websockets介绍

    2024-03-17 15:54:01       31 阅读
  2. 【Python】requests介绍

    2024-03-17 15:54:01       26 阅读
  3. 【Python】FTP介绍

    2024-03-17 15:54:01       18 阅读
  4. 【Python】pymysql介绍

    2024-03-17 15:54:01       21 阅读
  5. 【Python】Appium-Python-Client介绍

    2024-03-17 15:54:01       8 阅读
  6. 混淆矩阵ROC曲线、AUC介绍及其

    2024-03-17 15:54:01       37 阅读
  7. mysql regex介绍

    2024-03-17 15:54:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 15:54:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 15:54:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 15:54:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 15:54:01       18 阅读

热门阅读

  1. Python面向对象编程:入门篇(类和对象)

    2024-03-17 15:54:01       22 阅读
  2. 华为机试真题练习汇总(41~50)

    2024-03-17 15:54:01       20 阅读
  3. 客户端渲染与服务端渲染(2)

    2024-03-17 15:54:01       17 阅读
  4. linux ---vim的基本使用

    2024-03-17 15:54:01       17 阅读
  5. 前端面试练习24.3.16

    2024-03-17 15:54:01       22 阅读
  6. 速盾cdn:cdn关闭后多长生效?

    2024-03-17 15:54:01       20 阅读
  7. 【TypeScript系列】Iterators 和 Generators

    2024-03-17 15:54:01       18 阅读
  8. 代码随想录算法训练营 Day25|回溯算法2

    2024-03-17 15:54:01       23 阅读
  9. c++函数

    c++函数

    2024-03-17 15:54:01      19 阅读
  10. MySQL中查询所有表及其所有列的信息

    2024-03-17 15:54:01       20 阅读
  11. 快稳省工具总结

    2024-03-17 15:54:01       19 阅读
  12. Python基础语法

    2024-03-17 15:54:01       15 阅读
  13. 栈的顺序存储结构的构建(C++)+ 两栈共享空间

    2024-03-17 15:54:01       17 阅读
  14. 用vue实现“图书馆”前台

    2024-03-17 15:54:01       18 阅读