Python——操作MySQL数据库

这篇具有很好参考价值的文章主要介绍了Python——操作MySQL数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🚀前言

😊学习永无止境,记得每天学习新的知识!!

Python——操作MySQL数据库,数据库,python,mysql

在很多业务场景中,我们或多或少都要对数据库上的数据进行的一系列操作,包括读取数据、写数据、更新或修改数据、删除数据等。这些操作可以通过编写SQL语句来实现,也可以通过使用数据库管理系统提供的API接口来实现。数据库操作是应用程序开发中必不可少的一部分。使用数据库编程接口操作数据库的方式也有很多种,比如Java、Python、C++、PHP等等。其实各种编程语言操作数据库的方式大同小异,其基本原理还是一样的,只是实现方式不同。

本章内容基于Python这门编程语言来实现对MySQL数据库的基本增删改查操作,通过本章内容的学习,希望大家都能有所收获,同时也能掌握使用Python来操作MySQL数据库,实现对数据库进行增删改查操作。


🔍数据库编程

🍭数据库编程基本介绍

数据库编程是指使用编程语言来操作和管理数据库的过程。数据库编程通常包括数据库设计、SQL语句编写、数据库连接、数据插入、查询、更新和删除等操作。通过数据库编程,可以实现对数据库的自动化管理和数据的高效处理,提高数据的安全性和可靠性。数据库编程分为数据库客户端编程与数据库服务器端编程。数据库客户端编程主要使用ODBC API、ADO、ADO.NET、OCI、OTL等方法;数据库服务端编程主要使用OLE DB等方法。数据库编程需要掌握一些访问数据库技术方法,还需要注意怎么设计高效的数据库、数据库管理与运行的优化、数据库语句的优化。

🍭数据库编程接口

数据库编程接口(Database Programming Interface,简称DBAPI) 是一组用于访问数据库的规范,它定义了一组API,用于在编程语言中连接数据库、执行SQL语句、获取查询结果等操作。DBAPI的出现,使得不同编程语言之间可以通过统一的接口来访问数据库,从而实现跨语言的数据库编程。DBAPI的实现可以分为两种:一种是基于ODBC(Open Database Connectivity)的实现,如JDBC(Java Database Connectivity);另一种是基于SQLAPI(SQL Application Programming Interface)的实现,如MySQLdb、pymysql等。


🍭什么情况下会使用Python操作MySQL数据库?

Python操作MySQL数据库通常用于需要在Python程序中对MySQL数据库进行增删改查操作的情况,例如:

  1. 开发Web应用程序:Web应用程序通常需要使用数据库存储用户数据、文章数据等,可以使用Python操作MySQL数据库来实现。
  2. 数据分析:数据分析师通常需要从MySQL数据库中提取数据进行分析,可以使用Python操作MySQL数据库来实现。
  3. 数据迁移:数据迁移是指将数据从一个数据库迁移到另一个数据库,可以使用Python操作MySQL数据库来实现。
  4. 自动化脚本:自动化脚本通常需要对MySQL数据库进行操作,例如备份数据库、恢复数据库等,可以使用Python操作MySQL数据库来实现。

🍭Java和Python操作MySQL数据库有何不同?

Java和Python都可以操作MySQL数据库,但它们之间有一些区别:

  1. 语言特性:Java是一种面向对象的编程语言,而Python是一种面向对象的解释型语言。Java需要编译后才能运行,而Python可以直接在解释器中运行。
  2. 数据库连接方式:Java可以使用JDBC(Java Database Connectivity)来连接MySQL数据库,而Python可以使用多种库来连接MySQL数据库,如MySQLdb、pymysql等。
  3. SQL语句:Java和Python都可以使用SQL语句来操作MySQL数据库,但它们的语法略有不同。
  4. 数据类型:Java和Python对MySQL数据库中的数据类型支持略有不同。例如,Java中可以使用Long类型来表示MySQL数据库中的整数类型,而Python中需要使用int类型
  5. 性能:Java通常比Python更快,因为Java是编译型语言,而Python是解释型语言。但是,这种差异在实际应用中并不明显,因为Python也可以使用JIT(Just-In-Time)编译器来提高性能。

总之,Java和Python都可以操作MySQL数据库,但它们之间存在一些区别,开发者需要根据实际需求选择适合自己的语言和库。


🚢Python数据库编程接口

Python有多种数据库编程接口,其中最常用的是Python标准库中的sqlite3模块、MySQL驱动程序和第三方库pymysql、psycopg2等。

📖pymysql简介

pymysql是一个Python库,用于连接MySQL数据库并执行SQL语句。它是基于MySQLdb的升级版,支持Python3.x和MySQL5.x及以上版本。pymysql提供了简单易用的API,可以方便地进行数据库操作,如连接数据库、执行SQL语句、获取查询结果等。pymysql还支持事务处理、连接池、数据库连接监控等功能,可以满足不同场景的需求。

📖使用Python操作MySQL数据库

首先,使用Python操作MySQL数据库这里我们需要使用到三方库PyMySQl,利用本地的pip来下载我们所需要的第三方库。win + R ---> 输入cmd打开控制台,输入代码完成下载。

执行命令
pip install pymysql

Python——操作MySQL数据库,数据库,python,mysql
可以通过命令查看第三方库是否安装成功

执行命令
pip list

Python——操作MySQL数据库,数据库,python,mysql
当然,有些小伙伴在执行上述命令可能会出现以下这种情况(这里我做举例),这是因为在安装Python的时候没有配置环境变量,只需要配置以下Python的环境变量即可。

Python——操作MySQL数据库,数据库,python,mysql
接下来,就可以新建一个项目,然后进行对MySQL数据库的操作了。

# 导入第三方库
import pymysql

# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')

补充

connect函数的参数说明

参数 说明
host 数据库的地址,可以是IP地址或者主机名
user 用户名
password 密码
database 数据库名
port 数据库的端口号,默认为3306
charset 数据库的字符集,默认为utf8mb4
cursorclass 游标的类,默认为pymysql.cursors.DictCursor
use_unicode 是否使用Unicode编码,默认为True
connect_timeout 用于设置连接超时时间,其默认值为10秒

connect函数的返回值是一个连接对象,用于建立与MySQL服务器的连接。连接对象可以用于执行SQL语句、获取查询结果等操作。

接下来需要创建一个游标对象,游标对象用于管理查询结果集。游标对象可以用于遍历查询结果集,也可以用于执行多条SQL语句。然后执行SQL查询语句查询数据,并将查询到的结果返回并打印,最后关闭连接。

# 创建游标
cursor = conn.cursor()

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

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

# 打印查询结果
print(rows)

# 关闭游标和连接
cursor.close()
conn.close()

✨补充

connect函数常用方法

方法 语法 说明
close() conn.close() 关闭连接
cursor() cursor = conn.cursor() 创建游标对象
execute() cursor.execute(sql) 执行SQL语句,sql表示要执行的SQL语句
executemany() cursor.executemany(sql, args) 批量执行SQL语句,sql表示要执行的SQL语句,args表示SQL语句中的参数
commit() conn.commit() 提交事务
ollback() conn.rollback() 回滚事务
setinputsizes() cursor.setinputsizes(size1, size2, …) 设置输入参数的大小,size1、size2等表示输入参数的大小
setoutputsize() cursor.setoutputsize(size) 设置输出参数的大小,size表示输出参数的大小
description属性 description = cursor.description 获取查询结果的描述信息

游标对象的常用方法

方法 语法 说明
fetchone() row = cursor.fetchone() 获取查询结果的第一行数据
fetchmany() row = cursor.fetchone() 获取查询结果的多行数据,size表示要获取的数据行数
fetchall() rows = cursor.fetchall() 获取查询结果的所有数据
nextset() cursor.nextset() 获取下一个查询结果集
close() cursor.close() 关闭游标对象
lastrowid属性 id = cursor.lastrowid 获取最后一行数据的ID

以上就是对MySQL数据库的基本操作,完整代码和运行结果如下:

完整代码

import pymysql

# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')

# 创建游标
cursor = conn.cursor()

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

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

# 打印查询结果
print(rows)

# 关闭游标和连接
cursor.close()
conn.close()

运行结果

Python——操作MySQL数据库,数据库,python,mysql

📖查询数据
import pymysql

# 连接数据库
# host表示数据库的地址,user表示用户名,password表示密码,database表示数据库名。
coon = pymysql.connect(host='localhost', user='root', password='123456', database='test')


# 创建游标
cursor = coon.cursor()

# 执行SQL语句 查询全部数据
cursor.execute("SELECT * FROM users")

# 获取查询结果 此时获取全部数据
rows = cursor.fetchall()

# 获取查询结果 此时获取第一条数据
# rows = cursor.fetchone()

# 获取查询结果 此时获取多条数据
# rows = cursor.fetchmany(2)

# 打印结果
print(rows)

# 关闭游标和连接
cursor.close()
coon.close()
📖新增数据
import pymysql

# 连接数据库
# host表示数据库的地址,user表示用户名,password表示密码,database表示数据库名。
coon = pymysql.connect(host='localhost', user='root', password='123456', database='test', autocommit=True)


# 创建游标
cursor = coon.cursor()

# 执行SQL语句 新增数据 并返回影响行数
rows = cursor.execute('INSERT INTO user(name, age) VALUES ("小明", 20)')

# 手动提交
# coon.commit()

# 打印结果
print(rows)

# 关闭游标和连接
cursor.close()
coon.close()

🎯值得注意的是,如果遇到插入数据不报错但是未成功插入的情况,这是因为在Java中,jdbc默认自动帮我们提交事务。但在Python中,则需要自己手动提交一下,有两种解决方式:

1.在连接数据库时加上autocommit=True(自动提交事务),这种方式在执行execute时就会立即向数据库发出操作请求,完成插入操作

2.在进行数据库的增删改操作时,需要在具体操作后添加commit()函数,手动提交事务,保证在执行操作的时候,能立刻向数据库发送请求。

📖修改数据
import pymysql

# 连接数据库
# host表示数据库的地址,user表示用户名,password表示密码,database表示数据库名。
coon = pymysql.connect(host='localhost', user='root', password='123456', database='tset', autocommit=True)


# 创建游标
cursor = coon.cursor()

# 执行SQL语句 新增数据 并返回影响行数
rows = cursor.execute('UPDATE user SET age=25 WHERE name="张三"')

# 手动提交
# coon.commit()

# 打印结果
print(rows)

# 关闭游标和连接
cursor.close()
coon.close()
📖删除数据
import pymysql

# 连接数据库
# host表示数据库的地址,user表示用户名,password表示密码,database表示数据库名。
coon = pymysql.connect(host='localhost', user='root', password='123456', database='test', autocommit=True)


# 创建游标
cursor = coon.cursor()

# 执行SQL语句 新增数据 并返回影响行数
rows = cursor.execute('DELETE FROM user WHERE name="张丽"')

# 手动提交
# coon.commit()

# 打印结果
print(rows)

# 关闭游标和连接
cursor.close()
coon.close()

以上就是基于Python对MySQL数据库的一些基本操作,在编写代码的同时,需要注意数据库连接的信息是否有误,SQL语句是否正确,以及使用方法是否规范,以保证在运行时,不会出错。当然,遇到错误时,应及时寻找错误并纠正,保证程序可执行性。


☃️封装数据库操作

在实际开发当中,我们并不是每一次连接数据库都需要单独再创建一个新的文件,然后一次又一次反复的配置和具体操作,这样做无疑加大了业务工作量,同时也降低了代码的可维护性和安全性,所以,通常,我们都是单独把数据库操作封装成一个类,需要使用的时候,只需要调用这个类就可以实现具体操作,并且,封装数据库操作可以将数据库操作相关的代码集中在一起,便于阅读和维护,将常用的数据库操作封装成函数,可以在多个地方复用,避免重复编写相同的代码,同时,我们可以根据需要修改数据库操作的实现,而不需要修改调用方的代码,又避免了直接操作数据库,减少了出错的可能性,提高了代码的安全性。

# 简单封装
# 导入第三方库
import pymysql

#连接数据库
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')

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

# 定义数据库操作函数
# 添加数据
def add_user(name, age):
    #具体SQL语句可根据自己实际需求编写
    sql = "INSERT INTO users(name, age) VALUES (%s, %s)"
    cursor.execute(sql, (name, age))
    #提交事务
    conn.commit()

# 修改数据
def update_user(name, age):
    #具体SQL语句可根据自己实际需求编写
    sql = "UPDATE users SET age=%s WHERE name=%s"
    cursor.execute(sql, (age, name))
    #提交事务
    conn.commit()

# 删除数据
def delete_user(name):
    #具体SQL语句可根据自己实际需求编写
    sql = "DELETE FROM users WHERE name=%s"
    cursor.execute(sql, (name,))
    #提交事务
    conn.commit()

# 查询数据
def query_user():
    #具体SQL语句可根据自己实际需求编写
    sql = "SELECT * FROM users"
    cursor.execute(sql)
    result = cursor.fetchall()
    return result

# 调用数据库操作函数
add_user('Tom', 20)
update_user('Tom', 21)
delete_user('Tom')
result = query_user()

#关闭游标和连接
cursor.close()
conn.close()

上述代码只是一个简单的封装,具体封装步骤要根据自己的业务实现逻辑进行设计,同时也只是提供封装的思路,供小伙伴们学习和参考。将数据库的具体操作操作封装成一个类的话,又比上述代码复杂一点,但实际运用也更为广泛,同时,也进一步简化了对数据库的具体操作,只需要用到的时候调用即可。


🔊总结

以上就是Python数据库编程的基本操作,对数据库的操作在实际开发过程中也很常用,所以,希望小伙伴们在看完文章后,能够掌握Python连接以及操作MySQL数据库的方法,在实际应用场景中,根据自己业务需要,对数据库操作进行具体设计,对数据库操作进行封装,提高代码的可读性、可维护性、复用性和安全性。同时,注意连接数据库时要指定正确的数据库地址、用户名、密码和数据库名;执行SQL语句时要注意SQL语句的正确性;获取查询结果时要注意查询结果的类型和数量;关闭游标和连接时要确保游标和连接已经正确关闭。

🎨觉得不错的话记得点赞收藏呀!!🎨

😀别忘了给我关注~~😀文章来源地址https://www.toymoban.com/news/detail-708620.html

到了这里,关于Python——操作MySQL数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python3使用pymsql操作mysql数据库

    操作系统 :Windows 10_x64 python版本 :3.9.2 pymysql版本: 1.0.2 MySQL版本: 5.7.38   之前写过一篇关于python操作mysql数据库的文章: https://www.cnblogs.com/MikeZhang/p/pythonOptMysql20170703.html 当时是基于python 2.7 和 mysql 5.5来整理的,但目前python 2.7已经不再维护,主流的是python 3,今天基于pyt

    2024年02月05日
    浏览(66)
  • 一个月学通Python(十四):Python操作Mysql数据库详解(必备)

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础》

    2024年02月16日
    浏览(55)
  • Python FastAPI 框架 操作Mysql数据库 增删改查

    2 比 1 更容易理解,可以先看2(单文件级别) FastAPI 可以使用任何您想要的关系型数据库。 在这里,让我们看一个使用着SQLAlchemy的示例。 您可以很容易地将SQLAlchemy支持任何数据库,像: PostgreSQL MySQL SQLite Oracle Microsoft SQL Server,等等其它数据库 在此示例中,我们将使用SQL

    2024年01月16日
    浏览(39)
  • 使用Python进行数据库连接与操作SQLite和MySQL【第144篇—SQLite和MySQL】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代应用程序开发中,与数据库进行交互是至关重要的一环。Python提供了强大的库来连接和操作各种类型的数据库,其中包括SQLite和MySQL。

    2024年03月27日
    浏览(62)
  • 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库

    这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的 CRUD 吧。 1、Flask SQLAlchemy简介 Flask SQLAlchemy 是基于 Flask web 框架和 SQLAlchemy ORM (对象关系映射)的工具。它旨在为 Flask web 应用

    2024年02月05日
    浏览(71)
  • 【100天精通python】Day32:使用python操作数据库_MySQL下载、安装、配置、使用实战

    目录  专栏导读  1 MySQL概述 2 MySQL下载安装 2.1 下载  2.2 安装 2.3 配置

    2024年02月12日
    浏览(49)
  • 如何利用Python中的pymysql库来操作Mysql数据库,看这篇就够啦~

     为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库,本文是向大家介绍了如何利用python中的pymysql库来操作mysql数据库。 1、什么是pymysql? pymysql是从python连接到mysql数据库服务器的接口, 简单理解就是,pymysql是python操作mysql数据库的三方模块,可

    2024年02月06日
    浏览(57)
  • 一篇文章打好SQL基础,熟悉数据库的基础操作和方法,以及安装MySQL软件包和Python操作MySQL基础使用

    SQL的全称:Structured Query Language,结构化查询语言,用于 访问和处理数据库的标准计算机语言 。 SQL语言1974年有Boyce和Chamberlin提出的,并且首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发展,SQL已经成为数据库领域同意的数据操作标准语言,可以说几乎市面上所

    2024年02月08日
    浏览(81)
  • MySQL数据库(Python)

    常用指令 linux安装 更新YUM源:sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm 安装MySQL:sudo yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck 启动数据库 net start mysql或者sudo systemctl start mysqld 停止MySQL服务 sudo service mysql stop 启动MySQL服务 sudo servic

    2023年04月13日
    浏览(35)
  • Python 连接 MySQL 数据库

    在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题。 本文将介绍两种方法来连接 MySQL 数据

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包