在日常开发中,我们经常需要将数据存储在数据库中,而 MySQL 是非常流行的数据库选择之一。今天我们将深入学习如何使用 Python 连接 MySQL 数据库,并通过几个简单的代码示例让你快速上手。
准备工作:安装必要的库
Python 连接 MySQL 通常使用 mysql-connector-python 或 PyMySQL 库。mysql-connector-python 是官方库,使用更稳定,而 PyMySQL 则更轻量。
安装 mysql-connector-python
你可以用以下命令安装:
pip install mysql-connector-python
或者,安装 PyMySQL:
pip install pymysql
安装完成后,我们就可以开始编写代码连接 MySQL 数据库啦!
基本操作:连接 MySQL 数据库
这里我们使用 mysql-connector-python 库来讲解基本操作。
Step 1:连接数据库
以下是一个简单的连接代码示例。在连接数据库之前,请确认你的 MySQL 数据库已经启动,并记录好用户名、密码、主机地址和数据库名。
注意:在生产环境中,确保将数据库密码安全地保存在环境变量中,而不要直接写在代码里。
Step 2:创建游标并执行查询
一旦连接成功,我们可以使用游标来执行 SQL 查询。在 MySQL 数据库中,游标是执行查询、更新和数据管理的工具。
# 创建游标
cursor = connection.cursor()
# 执行简单的SQL查询
cursor.execute("SELECT VERSION()")
result = cursor.fetchone()
print("数据库版本:", result)
cursor.execute() 用来执行 SQL 语句,这里查询了数据库的版本信息。cursor.fetchone() 会获取查询的第一条记录。
增删查改:常见数据库操作
在实际项目中,常见的数据库操作包括插入数据、查询数据、更新数据和删除数据。接下来我们来看看如何用 Python 实现这些操作。
1. 插入数据
我们可以使用 INSERT 语句向数据库插入数据。以下是插入操作的示例代码:
# 插入一条数据
insert_query = "INSERT INTO employees (name, age, department) VALUES (%s, %s, %s)"
data = ("张三", 28, "技术部")
cursor.execute(insert_query, data)
# 提交更改
connection.commit()
print("数据插入成功!")
在执行插入、更新和删除操作后,需要使用 connection.commit() 来提交更改。
2. 查询数据
通过 SELECT 语句可以查询数据库中的数据。例如,查询 employees 表中的所有记录:
# 查询数据
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print("姓名:", row[0], "年龄:", row[1], "部门:", row[2])
cursor.fetchall() 会返回所有查询结果,用 for 循环逐行读取。
3. 更新数据
更新操作使用 UPDATE 语句。例如,将 “张三” 的年龄更新为 30:
# 更新数据
update_query = "UPDATE employees SET age = %s WHERE name = %s"
data = (30, "张三")
cursor.execute(update_query, data)
# 提交更改
connection.commit()
print("数据更新成功!")
4. 删除数据
删除操作使用 DELETE 语句。例如,删除 employees 表中名为 “张三” 的记录:
# 删除数据
delete_query = "DELETE FROM employees WHERE name = %s"
data = ("张三",)
cursor.execute(delete_query, data)
# 提交更改
connection.commit()
print("数据删除成功!")
关闭连接
完成所有数据库操作后,记得关闭游标和连接,以释放资源:
cursor.close()
connection.close()
print("数据库连接已关闭。")
注意事项
防止 SQL 注入:在执行 SQL 查询时,务必使用参数化查询(如上例中 %s 的使用),以避免 SQL 注入风险。
错误处理:为防止数据库连接中断或其他意外情况,建议使用 try-except 块进行错误捕捉,保障程序的稳定性。
连接池:如果应用需要频繁地访问数据库,建议使用连接池来管理连接,从而提高效率并降低服务器压力。
小结
通过 mysql-connector-python,我们可以轻松地用 Python 连接 MySQL 数据库,并执行各种增删查改操作。掌握这些基本的数据库操作将为你的项目带来更多的可能性!
无论是做数据分析、用户管理,还是构建动态网站,数据库都是不可或缺的部分。希望这篇文章帮助你更好地理解和运用 Python 与 MySQL 的连接操作。快来试试,用 Python 连接你的数据库,玩转数据世界吧!
领取专属 10元无门槛券
私享最新 技术干货