Python操作MySQL数据库实例详解【安装、连接、增删改查等】

Python操作MySQL数据库实例详解

本文将以Python编程语言为例,介绍如何通过Python连接MySQL数据库实例,并进行增删改查等操作。

安装相关软件

在开始操作之前,需要安装一些相关软件,包括:

  • Python3.x或以上版本【下载地址链接】
  • PyMySQL库:Python连接MySQL数据库的库,可通过pip install pymysql命令进行安装

连接MySQL数据库

在Python程序中连接MySQL数据库,需要先从pymysql库中导入连接相关的方法,示例代码如下:

import pymysql

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

上述代码中,我们通过pymysql的connect方法连接到了本地的MySQL服务。其中host参数表示MySQL服务器的IP地址,port参数表示MySQL服务绑定的端口号,user参数表示登录MySQL的用户名,password参数表示登录MySQL的密码,database参数表示要操作的数据库名称。

连接成功后,我们需要获取MySQL数据库游标,示例代码如下:

# 获取MySQL游标
cursor = conn.cursor()

创建MySQL表格

使用Python操作MySQL数据库之前,需要先创建数据表。我们可以通过Python程序执行SQL语句来创建MySQL表格,示例代码如下:

# 创建表格
cursor.execute('''CREATE TABLE IF NOT EXISTS `student` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
    `name` VARCHAR(255) NOT NULL ,
    `age` INT UNSIGNED NOT NULL ,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARSET=utf8mb4''')

上述代码中,我们创建了名为student的表格,并定义了三个字段:id、name和age。其中id为自动递增的无符号整数类型,name和age分别为字符型和整型。

插入数据

插入数据是在业务逻辑中最常见的操作之一,我们可以通过pymysql库的execute方法执行插入数据的SQL语句,示例代码如下:

# 插入数据
sql = "INSERT INTO `student` (`name`, `age`) VALUES (%s, %s)"
cursor.execute(sql, ('张三', 18))
conn.commit()

上述代码中,我们插入了一条记录,其中name和age分别为张三和18。

查询数据

查询数据是在业务逻辑中另一个常见的操作,我们可以通过pymysql库的execute方法执行查询数据的SQL语句,示例代码如下:

# 查询数据
sql = "SELECT * FROM `student` WHERE age > %s"
cursor.execute(sql, (16,))
result = cursor.fetchall()

for row in result:
    print(row)

上述代码中,我们查询了年龄大于16的学生信息,并打印输出了结果。其中fetchall方法返回所有查询结果,返回的结果是一个元组列表。

更新数据

更新数据需要执行SQL语句,我们可以通过pymysql库的execute方法执行更新数据的SQL语句,示例代码如下:

# 更新数据
sql = "UPDATE `student` SET age = %s WHERE name = %s"
cursor.execute(sql, (20, '张三'))
conn.commit()

上述代码中,我们更新了张三的年龄为20岁。

删除数据

删除数据需要执行SQL语句,我们可以通过pymysql库的execute方法执行删除数据的SQL语句,示例代码如下:

# 删除数据
sql = "DELETE FROM `student` WHERE name = %s"
cursor.execute(sql, ('张三',))
conn.commit()

上述代码中,我们删除了名为张三的学生信息。

示例说明

以下是一个完整的示例程序,实现了与MySQL数据库的交互,并添加了插入、查询、更新和删除等操作。

import pymysql

conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='password',
    database='test_db')

cursor = conn.cursor()

# 创建表格
cursor.execute('''CREATE TABLE IF NOT EXISTS `student` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
    `name` VARCHAR(255) NOT NULL ,
    `age` INT UNSIGNED NOT NULL ,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARSET=utf8mb4''')

# 插入数据
sql = "INSERT INTO `student` (`name`, `age`) VALUES (%s, %s)"
cursor.execute(sql, ('张三', 18))
conn.commit()

# 查询数据
sql = "SELECT * FROM `student` WHERE age > %s"
cursor.execute(sql, (16,))
result = cursor.fetchall()

for row in result:
    print(row)

# 更新数据
sql = "UPDATE `student` SET age = %s WHERE name = %s"
cursor.execute(sql, (20, '张三'))
conn.commit()

# 删除数据
sql = "DELETE FROM `student` WHERE name = %s"
cursor.execute(sql, ('张三',))
conn.commit()

cursor.close()
conn.close()

在上述示例程序中,我们先创建了一个名为student的表格,然后插入了一条名为张三、年龄为18岁的学生信息。之后进行了一次查询,查询年龄大于16岁的学生信息,并将查询结果输出。接着,我们将名为张三的学生信息的年龄改为了20岁,最后删除了名为张三的学生信息。

总结

通过本文的介绍,我们学习了如何使用Python编程语言连接MySQL数据库,并进行增删改查等基本的操作。在实际应用中,我们可以根据业务需求进行相应的操作,从而实现MySQL数据库的完整管理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作MySQL数据库实例详解【安装、连接、增删改查等】 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • linux jexus服务设置开机启动

    Linux Jexus服务设置开机启动 什么是Jexus服务器? Jexus是一款支持多平台的ASP.NET服务器软件,可以代替微软的IIS来运行ASP.NET网站。它是完全免费的,并且非常易于使用。在Linux服务器上安装Jexus可以方便地为ASP.NET应用程序提供服务,使得运行ASP.NET应用程序的过程更加简单。 如何设置Jexus服务开机启动? …

    database 2023年5月22日
    00
  • mysql关键字

    在今儿hibernate执行save方法的时候显示sql语法错误 Sql代码   You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near    数据…

    MySQL 2023年4月16日
    00
  • redis中key的设置方法步骤

    Redis是一种基于内存的键值对数据库,它支持丰富的数据类型,同时也提供了强大的键管理机制。在Redis中,key是最基本的存储单位,下面我们就来详细讲解一下Redis中key的设置方法步骤。 1. 命令格式 在Redis中,设置一个key的语法结构非常简单,例如: SET key value 其中key表示键名,value表示键值。 2. 键名的命名规则 …

    database 2023年5月22日
    00
  • SQLite 和 MariaDB 的区别

    SQLite 和 MariaDB 是两种不同的数据库管理系统,主要区别在于其设计目的、使用场景以及性能表现上。下面是详细讲解他们的一篇攻略。 SQLite 和 MariaDB 的概述 SQLite 是一种轻量级的嵌入式数据库管理系统,适用于在资源受限或者没有专门的服务器提供支持的场景下使用。它的底层架构是一个单独的磁盘文件,通常使用 SQL 语言来操作数据。…

    database 2023年3月27日
    00
  • MySQL优化数据库结构的3种方法

    MySQL是一款开源的关系型数据库管理系统,它常常被用来存储企业级应用程序的数据。对于MySQL,优化数据库结构是一项非常重要的工作,因为这可以大幅提升数据库的性能和稳定性,同时也可以减少出错的可能性。 本文将介绍MySQL优化数据库结构的三种方法,包括表的优化、索引的优化和分表操作。 表的优化 MySQL数据库中的表是数据库中非常重要的一个组成部分,因此表…

    MySQL 2023年3月10日
    00
  • Shiro集成Spring之注解示例详解

    “Shiro集成Spring之注解示例详解”是讲解在Spring应用框架中如何使用Apache Shiro进行安全认证与访问控制的教程,下面分为几个部分进行详细讲解: 1. 环境搭建 首先,需要搭建好Spring和Shiro的环境,包括引入相关的依赖项,配置文件等。 2. 开启Shiro注解支持 在Spring应用中使用注解的方式来使用Shiro,在Spri…

    database 2023年5月22日
    00
  • redis搭建哨兵集群的实现步骤

    下面是关于”redis搭建哨兵集群的实现步骤”的详细攻略。 1. 前置条件 在搭建哨兵集群之前,需要先安装并配置好redis主从集群。 2. 部署哨兵节点 2.1 安装redis 使用apt-get命令安装redis: sudo apt-get install redis-server 2.2 配置redis 在每个redis节点的配置文件中,需要添加如下配…

    database 2023年5月22日
    00
  • MySQL 数据类型(float)的注意事项

    摘要:      今天左哥问起一个float浮点数类型的问题,这个类型用的不多,所以也不太了解,现在打算测试下。 知识点:      float:浮点数,单精度,占4字节。 测试 root@localhost : test 05:49:32>create table fl(id int,fl float); Query OK, 0 rows affec…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部