Python实现MySQL数据库连接和操作指南

一、环境搭建

在Python中连接MySQL数据库,需要引入pymysql模块,使用pip进行安装。


pip install pymysql

在引入pymysql模块后,通过连接MySQL数据库来进行操作,需要先在MySQL Server中创建一个数据库,并且创建一个用户,然后给该用户赋予该数据库的权限。

创建数据库可以通过以下sql语句实现:


CREATE DATABASE database_name;

创建用户并赋予权限可以使用以下sql语句:


CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

其中,’username’和’password’为自定义的用户名和密码,’database_name’为创建的数据库名称。

二、连接MySQL数据库

连接MySQL数据库,需要使用pymysql中的connect()方法。


import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

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

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

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

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

以上代码连接到localhost主机上的MySQL Server,并使用创建的用户名和密码进行连接,其中’database_name’为创建的数据库名称。通过cursor对象执行了一条SQL查询,并使用fetchone()方法获取查询结果。

三、执行SQL语句

在MySQL数据库中,常用的SQL语句有SELECT、INSERT、UPDATE、DELETE等。Python中执行SQL语句需要使用游标对象cursor的execute()方法。

1. SELECT查询语句

SELECT语句用于查询数据库中的数据。


import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询 
cursor.execute("SELECT * FROM table_name")

# 使用 fetchall() 方法获取所有结果
results = cursor.fetchall()

# 遍历结果
for row in results:
    col1 = row[0]
    col2 = row[1]
    col3 = row[2]
    
    # 输出结果
    print("col1=%s,col2=%s,col3=%s" % (col1, col2, col3))

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

以上代码查询了’table_name’表中的所有数据,并将结果遍历输出。

2. INSERT插入语句

INSERT语句用于向数据库中插入数据。


import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO table_name(col1, col2, col3) VALUES('%s', '%s', '%s')" % \
      ('value1', 'value2', 'value3')

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

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

以上代码向’table_name’表中插入了一条数据。

3. UPDATE更新语句

UPDATE语句用于更新数据库中的数据。


import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE table_name SET col1='%s' WHERE col2='%s'" % \
      ('new_value', 'old_value')

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

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

以上代码将’table_name’表中col2=’old_value’的记录的col1字段的值更新为’new_value’。

4. DELETE删除语句

DELETE语句用于从数据库中删除数据。


import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "username", "password", "database_name")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 删除语句
sql = "DELETE FROM table_name WHERE col2='%s'" % ('value')

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

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

以上代码从’table_name’表中删除col2=’value’的记录。

四、总结

以上就是Python实现MySQL数据库连接和操作的指南。连接MySQL数据库并操作数据需要引入pymysql模块,通过connect()方法创建数据库连接,通过cursor()方法创建游标对象,使用execute()方法执行SQL语句,使用fetchone()或fetchall()方法获取查询结果。在执行INSERT、UPDATE、DELETE等操作时,需要使用commit()方法提交操作结果。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-18 01:57
下一篇 2024-11-18 01:57

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论