python3操作mysql数据库的方法

下面我来详细讲解“Python3操作MySQL数据库的方法”的完整攻略。

准备工作

在使用Python3操作MySQL数据库之前,需要先安装pymysql或者mysql-connector-python模块,这两个模块都可以用来连接MySQL数据库,并且都是通过Python3能够直接安装的。

  • 安装pymysql模块:可以使用pip3 install pymysql命令进行安装。

  • 安装mysql-connector-python模块:可以使用pip3 install mysql-connector-python命令进行安装。

连接MySQL数据库

连接MySQL数据库的过程中,我们需要通过Python3提供的pymysql或mysql-connector-python模块来连接数据库。具体如下:

使用pymysql连接MySQL数据库

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306)

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

# 查询数据库版本号
cursor.execute('SELECT VERSION()')
data = cursor.fetchone()

print('Database version:', data)

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们成功连接了本地MySQL数据库,并通过游标执行了一条SQL语句查询数据库版本号。最后关闭了连接,释放资源。

使用mysql-connector-python连接MySQL数据库

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306)

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

# 查询数据库版本号
cursor.execute('SELECT VERSION()')
data = cursor.fetchone()

print('Database version:', data)

# 关闭游标和数据库连接
cursor.close()
db.close()

以上示例代码与使用pymysql连接MySQL数据库的代码非常相似,不过在连接时使用了mysql-connector-python模块的类。

创建数据库和数据表

在成功连接到MySQL数据库之后,我们就可以使用Python3来创建数据库和数据表了。具体如下:

使用pymysql创建数据库和数据表

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306)

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

# 创建数据库
cursor.execute('CREATE DATABASE IF NOT EXISTS test_db')

# 创建数据表
cursor.execute('USE test_db')
cursor.execute('CREATE TABLE IF NOT EXISTS test_table (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT)')

# 关闭游标和数据库连接
cursor.close()
db.close()

以上示例代码中我们成功创建了名为test_db的数据库,以及名为test_table的数据表,并定义了id、name、age三个字段。

使用mysql-connector-python创建数据库和数据表

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306)

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

# 创建数据库
cursor.execute('CREATE DATABASE IF NOT EXISTS test_db')

# 创建数据表
cursor.execute('USE test_db')
cursor.execute('CREATE TABLE IF NOT EXISTS test_table (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT)')

# 关闭游标和数据库连接
cursor.close()
db.close()

以上示例代码中我们成功创建了名为test_db的数据库,以及名为test_table的数据表,并定义了id、name、age三个字段。

插入数据

使用Python3向MySQL数据库中插入数据的过程中,我们需要使用INSERT操作。以下是具体步骤:

使用pymysql插入数据

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')

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

# 插入数据
sql = 'INSERT INTO test_table (name, age) VALUES (%s, %s)'
val = ('Tom', 25)
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用了INSERT操作向test_table数据表中插入了一条数据。注意,我们先通过execute方法执行了一条插入操作的SQL语句,然后再使用commit方法提交数据。

使用mysql-connector-python插入数据

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')

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

# 插入数据
sql = 'INSERT INTO test_table (name, age) VALUES (%s, %s)'
val = ('Tom', 25)
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用了INSERT操作向test_table数据表中插入了一条数据。注意,我们先通过execute方法执行了一条插入操作的SQL语句,然后再使用commit方法提交数据。

查询数据

在Python3中,查询MySQL数据库的过程中,我们需要使用SELECT操作。以下是具体步骤:

使用pymysql查询数据

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')

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

# 查询数据
sql = 'SELECT * FROM test_table WHERE age > %s'
val = (20,)
cursor.execute(sql, val)
results = cursor.fetchall()

for row in results:
    print(row)

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用SELECT操作从test_table数据表中查询了年龄大于20的数据,并打印查询结果。

使用mysql-connector-python查询数据

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')

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

# 查询数据
sql = 'SELECT * FROM test_table WHERE age > %s'
val = (20,)
cursor.execute(sql, val)
results = cursor.fetchall()

for row in results:
    print(row)

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用SELECT操作从test_table数据表中查询了年龄大于20的数据,并打印查询结果。

更新数据

在Python3中,更新MySQL数据库中的数据的过程中,我们需要使用UPDATE操作。以下是具体步骤:

使用pymysql更新数据

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')

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

# 更新数据
sql = 'UPDATE test_table SET age = %s WHERE name = %s'
val = (26, 'Tom')
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用UPDATE操作将test_table数据表中名字为Tom的年龄改为了26。注意,我们需要先使用execute方法执行一条UPDATE操作的SQL语句,然后再使用commit方法提交修改。

使用mysql-connector-python更新数据

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')

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

# 更新数据
sql = 'UPDATE test_table SET age = %s WHERE name = %s'
val = (26, 'Tom')
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用UPDATE操作将test_table数据表中名字为Tom的年龄改为了26。注意,我们需要先使用execute方法执行一条UPDATE操作的SQL语句,然后再使用commit方法提交修改。

删除数据

在Python3中,删除MySQL数据库中的数据的过程中,我们需要使用DELETE操作。以下是具体步骤:

使用pymysql删除数据

import pymysql

# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')

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

# 删除数据
sql = 'DELETE FROM test_table WHERE name = %s'
val = ('Tom',)
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用DELETE操作将test_table数据表中名字为Tom的数据删除了。注意,我们需要先使用execute方法执行一条DELETE操作的SQL语句,然后再使用commit方法提交修改。

使用mysql-connector-python删除数据

import mysql.connector

# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')

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

# 删除数据
sql = 'DELETE FROM test_table WHERE name = %s'
val = ('Tom',)
cursor.execute(sql, val)

# 提交事务
db.commit()

# 关闭游标和数据库连接
cursor.close()
db.close()

在以上示例代码中,我们使用DELETE操作将test_table数据表中名字为Tom的数据删除了。注意,我们需要先使用execute方法执行一条DELETE操作的SQL语句,然后再使用commit方法提交修改。

这就是整个“Python3操作MySQL数据库的方法”的完整攻略。希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3操作mysql数据库的方法 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • Python中进程和线程的区别详解

    下面我来详细讲解“Python中进程和线程的区别详解”的完整攻略。 什么是进程和线程 在介绍进程和线程的区别之前,先来了解一下它们分别是什么。 进程 进程是操作系统中正在运行的程序的实例。每个进程都有它自己的地址空间、内存、数据栈以及其他用于跟踪进程执行的辅助数据。 线程 线程是操作系统能够进行运算调度的最小单位。一个进程中可以有多个线程,它们共享该进程的地…

    python 2023年5月19日
    00
  • Python字符串匹配算法KMP实例

    下面是详细讲解“Python字符串匹配算法KMP实例”的完整攻略。 KMP算法 KMP算法是一种匹配算法,用于在一个文本串S内查找一个模式串P的出现位置。该算法的核心思想是利用已经匹配过,尽量减少模式串与文本串的匹配次数,从而提高匹配效率。 下面是一个Python实现KMP算示例: def kmp_search(text, pattern): n = len…

    python 2023年5月14日
    00
  • python+requests+unittest API接口测试实例(详解)

    以下是关于Python+requests+unittest API接口测试实例的详细攻略: Python+requests+unittest API接口测试实例 Python是一种流行的编程语言,可以于编写API接口测试。requests库是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。unittest是Python标准中的一个测试框架…

    python 2023年5月14日
    00
  • Python3 requests模块如何模仿浏览器及代理

    Python3 requests模块如何模仿浏览器及代理 模仿浏览器 在使用Python3 requests模块发送HTTP请求时,可以通过设置请求头来模仿浏览器。以下是一个示例,可以使用Python3 requests模块模仿Chrome浏览器发送HTTP请求: import requests url = ‘https://www.example.com’…

    python 2023年5月15日
    00
  • Python高阶函数map() 简介和使用详解

    Python 高阶函数 map() 简介和使用详解 什么是高阶函数? 高阶函数是指能接收函数作为参数和/或返回函数的函数。在 Python 中,函数本身也是一个对象,因此函数可以像其他对象一样作为参数传给函数,也可以作为函数的返回值。高阶函数的使用可以使代码更加简洁,提高代码的可读性和可维护性。 map() 函数 map() 是 Python 内置的高阶函数…

    python 2023年5月14日
    00
  • python中下标和切片的使用方法解析

    Python中下标和切片的使用方法解析 在Python中,下标和切片是非常重要的操作。针对列表、元组、字符串等序列类型的数据结构,下标和切片可以非常方便的进行元素访问和截取等操作。 一、下标 下标是表示序列中元素位置的数字,下标从0开始计数。通过下标可以获取序列中特定位置的元素。 示例1:访问列表中的元素 lst = ["apple", …

    python 2023年6月5日
    00
  • Python生成验证码实例

    生成验证码是一种常见的网络应用场景,可以用于用户注册、登录验证等等。下面是Python生成验证码的完整攻略。 1. 安装依赖库 Python生成验证码需要用到Pillow库,可以通过以下命令安装: pip install Pillow 2. 创建验证码生成函数 我们创建一个名为get_verify_code的函数,该函数可以生成4位随机字符,还会将字符绘制到…

    python 2023年6月3日
    00
  • Django migrate报错的解决方案

    下面我将为您详细讲解Django migrate报错的解决方案。 1. 确认数据库连接是否正常 Django migrate报错的常见原因之一是数据库连接出现问题。在运行Django migrate命令前,我们需要先确认数据库的连接是否正常。可以通过以下三个步骤来确认数据库的连接是否正常。 (1)确认数据库的配置文件settings.py是否正确设置,其中包…

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