当前位置: 首页 > article >正文

Python连接MySQL数据库图文教程,Python连接数据库MySQL入门教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1. 环境准备
    • 1.1安装 Python
    • 1.2选择开发环境
    • 1.3安装 MySQL 数据库
    • 1.4 安装 pymysql 库
  • 2. 连接数据库
  • 3. 数据库基本操作
    • 3.1 创建数据库
    • 3.2 创建表
    • 3.3 插入数据
    • 3.4 查询数据
    • 3.5 更新数据
    • 3.6 删除数据
    • 4. 实际应用案例


前言

本教程旨在为广大初学者和有一定基础的开发者提供一个全面、详细且易于理解的 Python 连接 MySQL 数据库的学习指南。我们将从环境准备开始,逐步引导你完成 MySQL 数据库的安装、Python 相关库的安装,然后详细介绍如何建立数据库连接,以及如何进行数据库的基本操作,如创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等。同时,我们还会通过实际的应用案例,帮助你更好地理解和掌握 Python 与 MySQL 数据库的结合使用,让你能够将所学知识应用到实际项目中。


Python连接MySQL数据库教程
以下是一份全面的 Python 连接 MySQL 数据库教程,包含环境准备、数据库操作基础以及实际应用案例等内容。

1. 环境准备

1.1安装 Python

访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

1.2选择开发环境

下载 PyCharm 社区版(免费)或专业版(需付费或申请教育版)。安装完成后,打开 PyCharm,创建一个新的项目,在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大,提供代码自动补全、调试等功能,适合开发大型项目。

Pycharm安装教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下载地址:https://pan.quark.cn/s/5756c8cf8b2a

1.3安装 MySQL 数据库

如果你还没有安装 MySQL 数据库,可以从 MySQL 官方网站 下载适合你操作系统的安装程序,然后按照安装向导进行安装。安装完成后,启动 MySQL 服务,并记住你设置的用户名和密码。

mysql 8.0安装教程:https://blog.csdn.net/u014164303/article/details/145493332

1.4 安装 pymysql 库

pymysql 是一个纯 Python 实现的 MySQL 客户端库,使用它可以方便地在 Python 中连接和操作 MySQL 数据库。在命令行中运行以下命令来安装 pymysql:

pip install pymysql

2. 连接数据库

以下是一个简单的 Python 代码示例,展示了如何连接到 MySQL 数据库:

import pymysql

# 建立数据库连接
try:
    conn = pymysql.connect(
        host='localhost',  # 数据库主机地址,本地数据库一般为 'localhost'
        user='root',  # 数据库用户名
        password='your_password',  # 数据库密码,替换为你自己设置的密码
        database='test_db',  # 要连接的数据库名,如果不存在需要先创建
        charset='utf8mb4'  # 字符编码
    )
    print("数据库连接成功!")
except pymysql.Error as e:
    print(f"数据库连接失败:{e}")
finally:
    if conn:
        conn.close()

3. 数据库基本操作

3.1 创建数据库

如果你需要创建一个新的数据库,可以使用以下代码:

import pymysql

# 建立数据库连接,这里不指定具体数据库名
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    charset='utf8mb4'
)

try:
    # 创建游标对象
    cursor = conn.cursor()
    # 执行创建数据库的 SQL 语句
    cursor.execute("CREATE DATABASE IF NOT EXISTS test_db")
    print("数据库创建成功!")
except pymysql.Error as e:
    print(f"数据库创建失败:{e}")
finally:
    if conn:
        conn.close()

3.2 创建表

在连接到指定数据库后,可以创建表来存储数据。以下是一个创建用户表的示例:

import pymysql

# 建立数据库连接
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='test_db',
    charset='utf8mb4'
)

try:
    cursor = conn.cursor()
    # 定义创建表的 SQL 语句
    create_table_sql = """
    CREATE TABLE IF NOT EXISTS users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255) NOT NULL,
        age INT
    )
    """
    cursor.execute(create_table_sql)
    print("表创建成功!")
except pymysql.Error as e:
    print(f"表创建失败:{e}")
finally:
    if conn:
        conn.close()

3.3 插入数据

可以向表中插入新的数据记录,示例代码如下:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='test_db',
    charset='utf8mb4'
)

try:
    cursor = conn.cursor()
    # 定义插入数据的 SQL 语句
    insert_sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
    data = ('John', 25)
    cursor.execute(insert_sql, data)
    # 提交事务
    conn.commit()
    print("数据插入成功!")
except pymysql.Error as e:
    # 回滚事务
    conn.rollback()
    print(f"数据插入失败:{e}")
finally:
    if conn:
        conn.close()

3.4 查询数据

可以从表中查询数据,以下是一个简单的查询示例:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='test_db',
    charset='utf8mb4'
)

try:
    cursor = conn.cursor()
    # 定义查询数据的 SQL 语句
    select_sql = "SELECT * FROM users"
    cursor.execute(select_sql)
    # 获取查询结果
    results = cursor.fetchall()
    for row in results:
        print(row)
except pymysql.Error as e:
    print(f"数据查询失败:{e}")
finally:
    if conn:
        conn.close()
        

3.5 更新数据

如果需要修改表中的数据记录,可以使用更新操作,示例代码如下:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='test_db',
    charset='utf8mb4'
)

try:
    cursor = conn.cursor()
    # 定义更新数据的 SQL 语句
    update_sql = "UPDATE users SET age = %s WHERE name = %s"
    new_age = 26
    name = 'John'
    cursor.execute(update_sql, (new_age, name))
    conn.commit()
    print("数据更新成功!")
except pymysql.Error as e:
    conn.rollback()
    print(f"数据更新失败:{e}")
finally:
    if conn:
        conn.close()

3.6 删除数据

可以从表中删除指定的数据记录,示例代码如下:

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='test_db',
    charset='utf8mb4'
)

try:
    cursor = conn.cursor()
    # 定义删除数据的 SQL 语句
    delete_sql = "DELETE FROM users WHERE name = %s"
    name = 'John'
    cursor.execute(delete_sql, (name,))
    conn.commit()
    print("数据删除成功!")
except pymysql.Error as e:
    conn.rollback()
    print(f"数据删除失败:{e}")
finally:
    if conn:
        conn.close()

4. 实际应用案例

假设你正在开发一个简单的学生信息管理系统,需要使用 Python 连接 MySQL 数据库来存储和管理学生信息。以下是一个完整的示例代码:

import pymysql

# 连接数据库
def connect_db():
    try:
        conn = pymysql.connect(
            host='localhost',
            user='root',
            password='your_password',
            database='student_management',
            charset='utf8mb4'
        )
        return conn
    except pymysql.Error as e:
        print(f"数据库连接失败:{e}")
        return None

# 创建学生表
def create_table(conn):
    try:
        cursor = conn.cursor()
        create_table_sql = """
        CREATE TABLE IF NOT EXISTS students (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(255) NOT NULL,
            age INT,
            grade VARCHAR(50)
        )
        """
        cursor.execute(create_table_sql)
        conn.commit()
        print("学生表创建成功!")
    except pymysql.Error as e:
        conn.rollback()
        print(f"学生表创建失败:{e}")

# 插入学生信息
def insert_student(conn, name, age, grade):
    try:
        cursor = conn.cursor()
        insert_sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
        cursor.execute(insert_sql, (name, age, grade))
        conn.commit()
        print("学生信息插入成功!")
    except pymysql.Error as e:
        conn.rollback()
        print(f"学生信息插入失败:{e}")

# 查询所有学生信息
def query_all_students(conn):
    try:
        cursor = conn.cursor()
        select_sql = "SELECT * FROM students"
        cursor.execute(select_sql)
        results = cursor.fetchall()
        for row in results:
            print(row)
    except pymysql.Error as e:
        print(f"学生信息查询失败:{e}")

# 主函数
def main():
    conn = connect_db()
    if conn:
        create_table(conn)
        insert_student(conn, 'Alice', 18, 'Grade 12')
        query_all_students(conn)
        conn.close()

if __name__ == "__main__":
    main()

通过以上步骤和示例代码,你可以掌握如何使用 Python 连接和操作 MySQL 数据库。在实际应用中,还可以根据具体需求对代码进行扩展和优化。


http://www.kler.cn/a/556630.html

相关文章:

  • [AHOI2018初中组] 分组---贪心算法
  • Html5学习教程,从入门到精通,HTML5 元素语法知识点及案例代码(2)
  • Leetcode 224-基本计算器
  • uniapp使用uts插件启动原生安卓Service
  • GO语言的安装以及第一个Go语言程序
  • PyTorch gather 方法详解:作用、应用场景与示例解析(中英双语)
  • 华为云ECS命名规则解析与规格选型实战指南
  • 利用 OpenCV 进行棋盘检测与透视变换
  • 算法:选择排序(以排队为例)
  • Linux 内核网络设备驱动编程:私有协议支持
  • wps中zotero插件消失,解决每次都需要重新开问题
  • Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)
  • vue3项目axios最简单封装 - ajax请求封装
  • 51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)
  • 低代码技术在医院的应用与思考
  • 计算机专业知识【深入理解子网中的特殊地址:为何 192.168.0.1 和 192.168.0.255 不能随意分配】
  • AI汽车新风向:「死磕」AI底盘,引爆线控底盘新增长拐点
  • RTSP场景下RTP协议详解及音视频打包全流程
  • 如何在 ubuntu 上使用 Clash 与 docker 开启代理拉起
  • python制图之小提琴图