Python 连接 MySQL 数据库入门秘籍,手把手教你实战开发

360影视 欧美动漫 2025-04-30 14:23 2

摘要:在当今数据驱动的时代,数据库作为数据存储和管理的核心组件,与编程语言的结合应用至关重要。python 凭借其简洁的语法和丰富的库资源,成为操作数据库的热门选择。MySQL 作为开源、高效且功能强大的关系型数据库,在企业级应用和各类项目中广泛使用。本教程将带你从

在当今数据驱动的时代,数据库作为数据存储和管理的核心组件,与编程语言的结合应用至关重要。python 凭借其简洁的语法和丰富的库资源,成为操作数据库的热门选择。MySQL 作为开源、高效且功能强大的关系型数据库,在企业级应用和各类项目中广泛使用。本教程将带你从零开始,全面掌握如何使用 Python 操作 MySQL 数据库,助力你开启数据管理与应用开发的新旅程。

1. 安装 MySQL 数据库

访问 MySQL 官方网站(https://www.mysql.com/downloads/),根据自身操作系统(如 Windows、Linux 或 macOS)下载对应的 MySQL 社区版安装包。下载完成后,按照安装向导逐步操作。安装过程中,需设置用户名和密码,这是后续连接数据库的重要凭证,请妥善保存。安装完毕,启动 MySQL 服务。在 Windows 系统中,可通过服务管理器找到 MySQL 服务并启动;在 Linux 或 macOS 系统中,可使用命令行启动,例如在 Linux 下执行 sudo systemctl start mysql 命令。

2. 安装 Python

确保计算机上安装的是 Python 3.x 版本。若尚未安装,访问 Python 官方网站(https://www.python.org/)下载最新版本的 Python 安装程序。安装时,建议勾选“Add Python to PATH”选项(Windows 系统),以便在命令行中直接调用 Python 命令。安装完成后,在命令行输入 python --version 或 python3 --version,检查 Python 是否安装成功,并查看具体版本号。

3. 安装 MySQL 驱动

Python 操作 MySQL 数据库需要借助特定的驱动程序,mysql-connector-python 是常用的驱动之一。打开命令行工具,输入以下命令进行安装:

pip install mysql-connector-python

pip 是 Python 的包管理工具,执行上述命令后,它会自动从 Python 包索引(PyPI)下载并安装 mysql-connector-python 及其依赖项。安装成功后,即可在 Python 项目中使用该驱动连接和操作 MySQL 数据库。

1. 创建连接

在 Python 中,使用 mysql.connector 库创建与 MySQL 数据库的连接。以下代码展示了连接数据库的基本过程:

import mysql.connector

# 创建数据库连接

connection = mysql.connector.connect(

host='localhost', # 数据库地址,若数据库部署在远程服务器,需填写对应 IP 地址

user='yourusername', # 替换为实际的数据库用户名

password='yourpassword' # 替换为实际的数据库密码

)

if connection.is_connected:

print("数据库连接成功!")

上述代码中,connect 方法接受 host、user 和 password 等参数来建立连接。通过 is_connected 方法判断连接是否成功,若成功则输出提示信息。

2. 创建数据库

成功连接到 MySQL 服务器后,可以使用 SQL 语句创建新的数据库。在 Python 中,通过游标对象执行 SQL 语句

cursor = connection.cursor

cursor.execute("CREATE DATABASE IF NOT EXISTS mydatabase")

print("数据库创建成功!")

这里,cursor 是用于执行 SQL 语句的对象,execute 方法执行 CREATE DATABASE 语句创建名为 mydatabase 的数据库。IF NOT EXISTS 子句确保只有在数据库不存在时才进行创建,避免重复创建导致的错误。

三、基础操作

1. 创建表

在创建好的数据库中,创建表来存储数据。以创建一个存储用户信息的表为例:

cursor.execute("""

CREATE TABLE IF NOT EXISTS users (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(100),

email VARCHAR(100)

)

""")

print("表创建成功!")

上述 SQL 语句定义了一个名为 users 的表,包含 id(自增长的主键)、name(用户姓名,字符串类型,最大长度 100)和 email(用户邮箱,字符串类型,最大长度 100)三个字段。IF NOT EXISTS 同样用于避免重复创建表。

2. 插入数据

向表中插入数据时,为防止 SQL 注入攻击,通常使用参数化查询。以下是向 users 表插入一条数据的示例:

insert_sql = "INSERT INTO users (name, email) VALUES (%s, %s)"

values = ("Alice", "alice@example.com")

cursor.execute(insert_sql, values)

connection.commit

print(f"插入成功,ID:{cursor.lastrowid}")

在 insert_sql 语句中,使用 %s 作为占位符,实际数据通过 values 元组传递给 execute 方法。connection.commit 用于提交事务,将插入操作永久保存到数据库。cursor.lastrowid 获取插入数据的自增长主键值。

3. 查询数据

查询表中的数据是数据库操作的常见需求。使用 SELECT 语句查询 users 表的所有数据:

cursor.execute("SELECT * FROM users")

results = cursor.fetchall

for row in results:

print(row)

execute 方法执行 SELECT 语句,fetchall 方法获取查询结果集中的所有行,并以元组形式返回。通过循环遍历结果集,打印每一行

4. 更新与删除数据

更新和删除数据同样通过 SQL 语句结合参数化查询实现

# 更新数据

update_sql = "UPDATE users SET email = %s WHERE name = %s"

cursor.execute(update_sql, ("alice_new@example.com", "Alice"))

connection.commit

# 删除数据

delete_sql = "DELETE FROM users WHERE name = %s"

cursor.execute(delete_sql, ("Alice",))

connection.commit

更新操作使用 UPDATE 语句,指定要更新的字段和条件;删除操作使用 DELETE 语句,通过条件确定要删除的记录。执行完操作后,同样需调用 connection.commit 提交事务。

通过一个简单的学生管理系统案例,综合运用上述数据库操作知识:

# 创建学生表

cursor.execute("""

CREATE TABLE IF NOT EXISTS students (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(50),

age INT

)

""")

# 插入学生数据

students = [("张三", 20), ("李四", 22)]

insert_sql = "INSERT INTO students (name, age) VALUES (%s, %s)"

cursor.executemany(insert_sql, students)

connection.commit

# 查询学生数据

cursor.execute("SELECT * FROM students")

students = cursor.fetchall

for student in students:

print(student)

# 更新学生年龄

update_sql = "UPDATE students SET age = %s WHERE name = %s"

cursor.execute(update_sql, (21, "张三"))

connection.commit

# 删除学生

delete_sql = "DELETE FROM students WHERE name = %s"

cursor.execute(delete_sql, ("李四",))

connection.commit

在该案例中,首先创建 students 表,然后使用 executemany 方法批量插入多条学生数据。接着进行查询、更新和删除操作,展示了数据库操作在实际场景中的完整应用流程。

五、关闭连接

完成对数据库的所有操作后,为释放资源,需关闭游标和数据库连接:

cursor.close

connection.close

print("连接已关闭")

关闭游标和连接是良好的编程习惯,可避免资源泄漏,确保程序的稳定性和性能。

通过本教程,你已经掌握了使用 Python 连接 MySQL 数据库并进行增(Create)、读(Read)、改(Update)、删(Delete)等基本操作的方法。在此基础上,你可以进一步探索更复杂的 SQL 语句,如多表连接查询、聚合函数的使用等;也可以结合 Python 的其他框架(如 Flask 或 Django),构建具有用户界面的完整应用程序;还能通过优化数据库设计和查询语句,提升应用的性能和效率。

数据世界广阔无垠,希望本教程能为你开启一扇通往数据库开发的大门,助你在编程之路上不断前行

来源:绿叶菜

相关推荐