当前位置:   article > 正文

Python 进阶(一):Python连接MySQL数据库和CRUD操作_python连接mysql实现crud

python连接mysql实现crud

前言

本文基于MySQL8.x版本的学习,python版本基于当前最新的3.x,windows操作系统下mysql的安装流程,可参考我之前的文章:Windows MySQL8.0免安装版,配置多个安装实例

Python连接MySQL的五种方式

在Python中,您可以使用多种方式来操作MySQL数据库。以下是一些常见的方式:

  1. mysql-connector-python:这是MySQL官方提供的官方驱动程序,可以通过pip安装。它提供了mysql.connector模块,用于连接和操作MySQL数据库。

  2. PyMySQL:PyMySQL是一个纯Python编写的MySQL客户端库,可以通过pip安装。它提供了与MySQL数据库交互所需的各种功能。

  3. mysqlclient:mysqlclient是Python的MySQL数据库驱动程序,可以通过pip安装。它是基于C语言的MySQL客户端库的绑定,提供了高性能的操作。

  4. SQLAlchemy:SQLAlchemy是一个流行的Python SQL工具和对象关系映射(ORM)库,支持多种数据库,包括MySQL。它提供了一种更高级的抽象来操作数据库。

  5. peewee
    peewee 是一个流行的 ORM 框架,实现了对象与数据库表的映射,兼容多种数据库,我们无需知道原生 SQL,只要了解面向对象的思想就可以简单、快速的操作相应数据库,支持 Python3。

在Python 3中,可以使用mysql-connector-python库来连接和进行CRUD(创建、读取、更新和删除)操作。以下是Python 3和MySQL 8.x版本的连接和基本操作的示例代码:

1. 安装mysql-connector-python

在使用mysql-connector-python库之前,需要先安装它。可以使用以下命令来安装:

pip install mysql-connector-python
  • 1

在这里插入图片描述

2. 连接数据库

  1. 安装好mysql数据库后,执行创建数据库命令
CREATE DATABASE `py_conn_test` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
  • 1
  1. 执行创建数据表操作
# 书目表
CREATE TABLE `py_conn_test`.`book`  (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NULL COMMENT '书名',
  `author` varchar(255) NULL COMMENT '作者',
  `price` float(10, 2) NULL COMMENT '书名价格',
  `edition` int NULL COMMENT '版次',
  PRIMARY KEY (`id`)
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="192.168.0.146",# 数据库主机ip,或者localhost表示当前主机
    port=4706, # 端口,不写此参数默认3306
    user="zhouquan", # 数据库账户
    password="zhouquan@123", # 数据库密码
    database="py_conn_test" # 数据库名,上面语句创建的mysql数据库名
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3. 查询数据

import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="192.168.0.146",
    port=4706,
    user="zhouquan",
    password="zhouquan@123",
    database="py_conn_test"

)

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

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

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

# 打印结果
for row in results:
    print(row)

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

在上述代码中,我们使用mysql.connector库来连接MySQL数据库。需要提供主机名、端口号、用户名、密码和数据库名来建立连接。然后创建一个游标对象,该对象用于执行SQL语句。在示例中,我们执行了一个简单的SELECT语句,并使用fetchall()方法获取查询结果。最后关闭游标和连接对象。
在这里插入图片描述

4. 插入数据

import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="192.168.0.146",
    port=4706,
    user="root",
    password="数据库密码",
    database="py_conn_test"

)

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

# 插入数据
sql = "INSERT INTO `py_conn_test`.`book`( `title`, `author`, `price`, `edition`) VALUES ( %s,%s,%s,%s);"
values = ("动物农场", "乔治.奥威尔", 15.5, 3)
cursor.execute(sql, values)

# 提交事务
conn.commit()

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在插入数据的示例中,我们使用execute()方法执行INSERT语句,并将要插入的值作为参数传递给execute()方法。然后使用commit()方法提交事务以保存更改。
在这里插入图片描述
在这里插入图片描述

5. 更新数据

在更新的示例中,我们使用execute()方法执行UPDATE语句,并传递相应的参数。最后,使用commit()方法提交事务以保存更改。

import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="192.168.0.146",
    port=4706,
    user="zhouquan",
    password="zhouquan@123",
    database="py_conn_test"

)

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

# 更新数据 当前数据库数据:2	动物农场	乔治.奥威尔	15.50	3
sql = "UPDATE `book` SET title = %s WHERE id = %s"
values = ("1984", 2)
cursor.execute(sql, values)
conn.commit()

# 提交事务
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述
在这里插入图片描述

6. 删除数据

在删除数据的示例中,我们使用execute()方法执行DELETE语句,并传递相应的参数。最后,使用commit()方法提交事务以保存更改。

import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="192.168.0.146",
    port=4706,
    user="zhouquan",
    password="zhouquan@123",
    database="py_conn_test"

)

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

# 删除数据
sql = "DELETE FROM book WHERE id = %s"
value = (2,)
cursor.execute(sql, value)
conn.commit()

# 提交事务
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号