详细讲解Python连接Mysql的基本操作

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

前言

连接Mysql一般有几种方法,主要讲解mysql.connector以及pymysql的连接
后续如果用到其他库还会持续总结!

对于数据库中的表格,本人设计如下:(为了配合下面的操作)

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库

1. mysql.connector

mysql.connector 是一个用于连接 MySQL 数据库的 Python 模块,它提供了一个官方的 MySQL 驱动程序,用于在 Python 中执行与 MySQL 数据库的交互。

概念:

  • 连接器(Connector): mysql.connector 是 MySQL 官方提供的一个 Python 连接器,用于在 Python 程序中连接和操作 MySQL 数据库。
  • 游标(Cursor): 游标是用于执行 SQL 语句并获取结果的对象。通过游标,可以执行查询、插入、更新、删除等数据库操作。
作用 基本功能
1.连接数据库: 提供了建立与 MySQL 数据库的连接的功能。

2.执行 SQL 语句: 可以通过游标执行 SQL 查询和操作。

3.事务管理: 支持事务,可以提交或回滚事务。

4.错误处理: 提供了处理数据库操作中的错误的机制。

5.数据转换: 自动进行 Python 数据类型和 MySQL 数据类型之间的转换。

6.连接池管理: 可以使用连接池提高数据库连接的性能和效率。
1.建立连接: 使用 connect() 方法建立与 MySQL 数据库的连接。

2.创建游标: 使用 cursor() 方法创建游标对象,用于执行 SQL 语句。

3.执行 SQL 语句: 使用游标的 execute() 方法执行 SQL 查询或操作。

4.获取结果: 使用游标的 fetchone()、fetchall() 等方法获取查询结果。

5.提交事务: 使用连接的 commit() 方法提交事务。

6.回滚事务: 使用连接的 rollback() 方法回滚事务。

7.关闭连接: 使用连接的 close() 方法关闭与数据库的连接。

执行代码前,需要安装如下包:pip install mysql-connector-python

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库

示例代码如下:

import datetime

import mysql.connector

# 建立数据库连接
db_connection = mysql.connector.connect(
    host="your_host",  # 数据库主机地址
    user="your_username",  # 数据库用户名
    password="your_password",  # 数据库密码
    database="your_database"  # 数据库名称
)


if "__main__" == __name__:
    try:
        # 创建游标对象
        cursor = db_connection.cursor()

        # 示例1: 执行插入
        insert_query = "INSERT INTO test_student (username,delete_flag,time) VALUES (%s, %s, %s)"
        data = ('manong',0,datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
        cursor.execute(insert_query, data)
        # 提交事务
        db_connection.commit()


        # 执行 SQL 查询或操作
        cursor.execute("SELECT * FROM test_student")
        # 获取查询结果
        result = cursor.fetchall()
        for row in result:
            print(row)


    finally:
        # 关闭游标和连接
        cursor.close()
        db_connection.close()

截图如下:
详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库

2. pymysql

pymysql 是一个纯 Python 实现的 MySQL 客户端库,用于在 Python 中连接和操作 MySQL 数据库。

DB-API 2.0 兼容: pymysql 遵循 Python 数据库 API 规范,使得在使用时更容易与其他数据库连接库切换。

对于作用以及API,与上述代码一致,只需要把包名替换即可!

运行前,先安装pymsql:pip install pymysql

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库

修改的代码如下:

import pymysql

# 建立数据库连接
db_connection = pymysql.connect(
    host="your_host",  # 数据库主机地址
    user="your_username",  # 数据库用户名
    password="your_password",  # 数据库密码
    database="your_database"  # 数据库名称
)

最终截图如下:

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库
由于pymysqlmysql.connector要更加常用(但两者代码又差不多),所以在此处科普其他的CRUD,现已有插入和查询

如果是删除数据,示例代码:

if "__main__" == __name__:
    try:
        # 创建游标对象
        cursor = db_connection.cursor()

        # 示例1: 执行删除
        delete_query = "DELETE FROM test_student WHERE id = 9"
        cursor.execute(delete_query)
        # 提交事务
        db_connection.commit()


        # 执行 SQL 查询或操作
        cursor.execute("SELECT * FROM test_student")
        # 获取查询结果
        result = cursor.fetchall()
        for row in result:
            print(row)
            
    except:
        db_connection.rollback();

    finally:
        # 关闭游标和连接
        cursor.close()
        db_connection.close()

截图如下:

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库


增加一张表:

if "__main__" == __name__:
    try:
        # 创建游标对象
        cursor = db_connection.cursor()

        # 示例1: 创建一张表
        create_query = """CREATE TABLE test_student1 (
          username  CHAR(20) NOT NULL,
          age INT,
          sex CHAR(1) )"""
        cursor.execute(create_query)


        # 示例1: 执行插入
        insert_query = "INSERT INTO test_student1 (username,age,sex) VALUES (%s, %s, %s)"
        data = ('manong', 18, 1)
        cursor.execute(insert_query, data)


        # 执行 SQL 查询或操作
        cursor.execute("SELECT * FROM test_student1")
        # 获取查询结果
        result = cursor.fetchall()
        for row in result:
            print(row)

        # 提交事务
        db_connection.commit()

    except:
        db_connection.rollback();

    finally:
        # 关闭游标和连接
        cursor.close()
        db_connection.close()

截图如下:

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库
数据库表如下:

详细讲解Python连接Mysql的基本操作,python,python,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-793188.html

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

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

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

相关文章

  • Python之列表和元组的基本操作(超详细)

    列表中的元素是有序存放的,因此可以直接通过索引来访问列表元素。同时列表中的元素是可变的。即不仅列表中的元素值可以修改,列表中的元素个数也是可变的。因此列表中的元素支持修改、添加和删除操作。 格式:列表名【索引】= 新值 1.2.1 append()方法  append()方

    2024年02月04日
    浏览(14)
  • 利用Python+selenium技术,实现浏览器基本操作详解,代码有详细注释

    首先,需要安装selenium库和对应的浏览器驱动程序。以Chrome浏览器为例,可以使用以下命令安装selenium和chromedriver: 然后,需要下载对应版本的chromedriver,并将其添加到环境变量中。下载地址:http://chromedriver.storage.googleapis.com/index.html 不懂安装的,可以参考Chormedriver下载和安

    2024年02月09日
    浏览(27)
  • Blender--》页面布局及基本操作讲解

    接下来我会在three.js专栏中分享关于3D建模知识的文章,如果学习three朋友并且想了解和学习3D建模,欢迎关注本专栏,关于这款3D建模软件blender的安装,我在前面的文章已经讲解过了,如果不了解的朋友可以去考考古:建模软件如何加载外部3D模型?ok接下来就让我们正式的进

    2024年02月09日
    浏览(24)
  • Git基本操作(超详细)

    仓库是进⾏版本控制的⼀个⽂件⽬录 我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。 首先创建一个 gitcode 目录来存放git, 创建⼀个Git本地仓库对应的命令为 git init 查看当前目录,发现多了个隐藏文件 .git .git ⽬录是Git来跟踪管理仓库的,不要⼿动修改这个⽬录

    2024年02月20日
    浏览(25)
  • 【MySQL基础】MySQL基本操作详解

    第1篇: 【MySQL基础】MySQL介绍及安装 第2篇: 【MySQL基础】MySQL基本操作详解 文章目录 ✍1,数据库操作     🔍1.1,查看数据库     🔍1.2,创建数据库     🔍1.3,选择数据库     🔍1.4,删除数据库 ✍2,数据表操作     🔍2.1,创建数据表     🔍2.2,查

    2024年02月03日
    浏览(26)
  • mysql 基本操作2

    目录 Update 将小白龙的数学成绩跟新为 80 分 将总成绩后三名的数学成绩+30分 Delete 删除沙悟净的成绩 删除倒数第一名的成绩 Truncate 聚合函数 count 查看员工表里面的人数 查看男女员工的个数 查看男员工占所有员工个数的比例 sum 计算所有员工的工资和 计算各个部门的工资和

    2024年02月11日
    浏览(17)
  • MySQL基本操作

    创建学生信息库: 创建学生信息表: 查看结果: 单行数据 + 全列插入: 多行数据 + 指定列插入: 查看插入结果: update用于对查询到的结果进行列值更新 目前的qq是NULL,可以修改: 查看结果: 上述直接修改,接下来也可以在插入时检测自动更新 再次插入,检测到数据冲突自

    2024年02月02日
    浏览(22)
  • MySQL 基本操作1

    目录 Create insert 插入跟新 1 插入跟新 2 Retrive select where 子句查询 1.查找数学成绩小于 80 的同学。 2.查询数学成绩等于90分的同学。 3.查询总分大于240 的学生 4.查询空值或者非空值 5.查询语文成绩在70~80之间的同学 6.查询英语成绩是99 和 93 和 19 和 30 7.模糊匹配 排序 LIMIT mysql

    2024年02月10日
    浏览(20)
  • 头歌——MySQL 基本操作

    目录 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据库 - 数据库和表的基本操作(一) MySQL数据库 - 数据库和表的基本操作(二) MySQL数据库 - 单表查询(一) MySQL数据库 - 单表查询(二) MySQL数据库 - 单表查询(三) MySQL数据库 - 连接查询 MySQL数据库 - 子查

    2024年02月03日
    浏览(23)
  • 链栈的基本操作(超详细)

    目录 前言 一.链栈的定义  二、链栈的c++语言结构描述表示 三、链栈中基本操作的实现  3.1链栈的初始化 3.2判断链栈是否为空  3.3求链栈的长度  3.4 链栈的入栈 3.4 链栈的出栈 3.5求栈顶元素  3.6销毁栈 四.链栈的具体实现  五.测试结果 六、总结  本文参考王卓老师的数据结

    2023年04月25日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包