MySQL 与 Python 语法

你好,未来的程序员们!今天,我们将踏上一段激动人心的旅程,进入 MySQL 和 Python 的世界。作为你友好的计算机老师,我将在这一过程中一步步引导你。如果你之前从未编写过一行代码,也不用担心——我们将从最基础的内容开始,一起逐步学习。

MySQL - Python Syntax

安装 "python-mysql" 连接器

在我们开始使用 Python 操作 MySQL 之前,我们需要安装一个特殊的工具,称为连接器。可以将其视为允许 Python 与 MySQL 数据库通信的桥梁。让我们开始吧!

第一步:安装 Python

首先,确保你的计算机上安装了 Python。如果没有,请前往 Python 官方网站(python.org)并下载适用于你操作系统的最新版本。

第二步:安装 MySQL 连接器

现在,让我们安装 MySQL 连接器。打开你的命令提示符或终端,并输入以下命令:

pip install mysql-connector-python

按下 Enter 键,让魔法发生!这个命令告诉 pip(Python 的包安装程序)为我们下载并安装 MySQL 连接器。

Python 函数以访问 MySQL

现在我们安装了连接器,让我们看看一些我们将用来操作 MySQL 数据库的函数。我喜欢将这些函数视为我们编程魔法书中的特殊咒语!

以下是在 Python 中最常用的 MySQL 函数表格:

函数 描述
mysql.connector.connect() 创建到 MySQL 数据库的连接
connection.cursor() 创建一个游标对象来执行 SQL 查询
cursor.execute() 执行一个 SQL 查询
cursor.fetchone() 获取查询结果的下一行
cursor.fetchall() 获取查询结果的所有行
connection.commit() 提交当前的事务
cursor.close() 关闭游标
connection.close() 关闭数据库连接

如果这些现在看起来有些神秘,不用担心。我们将在接下来的学习中逐一详细探讨。

基本示例

现在,让我们通过一个基本示例将我们所学到的知识付诸实践。我们将连接到 MySQL 数据库,创建一个表,插入一些数据,然后检索它。激动人心吧?让我们开始吧!

import mysql.connector

# 第一步:建立到 MySQL 数据库的连接
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

# 第二步:创建一个游标对象
mycursor = mydb.cursor()

# 第三步:创建一个表
mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")

# 第四步:向表中插入数据
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)

# 第五步:提交更改
mydb.commit()

# 第六步:从表中检索数据
mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()

# 第七步:打印结果
for x in result:
print(x)

# 第八步:关闭游标和连接
mycursor.close()
mydb.close()

现在,让我们一步一步分解这个过程:

第一步:建立连接

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

这就好比敲响我们 MySQL 数据库的门,说:“嘿,我是 Python!我能进来吗?”我们提供必要的信息(主机、用户名、密码和数据库名)来建立连接。

第二步:创建游标

mycursor = mydb.cursor()

游标就像我们的魔法棒。我们将用它来对数据库施展我们的 SQL 咒语(执行查询)。

第三步:创建表

mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")

在这里,我们使用游标创建一个名为 "students" 的新表,其中包含两个字段:“name”(可以容纳最多 255 个字符的文本)和“age”(存储整数)。

第四步:插入数据

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)

现在我们在表中添加一个学生。我们使用 %s 作为我们值的占位符,这有助于防止 SQL 注入攻击(这是另一个话题的内容)。

第五步:提交更改

mydb.commit()

这一行就像按下“保存”按钮。它告诉 MySQL 永久保存我们所做的更改。

第六步:检索数据

mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()

在这里,我们请 MySQL 展示我们 "students" 表中的所有数据。fetchall() 函数抓取所有结果。

第七步:打印结果

for x in result:
print(x)

这个循环遍历我们的结果中的每一行并打印出来。就像打开一本书并阅读每一行。

第八步:关闭连接

mycursor.close()
mydb.close()

最后,我们关闭游标和数据库连接。记住,当你完成后,总是要记得关门!

就这样!你刚刚编写了你的第一个与 MySQL 数据库交互的 Python 程序。记住,学习编码就像学习一门新语言——它需要练习和耐心。如果你一开始不理解所有内容,不要气馁。继续尝试,在你意识到之前,你将能够编写复杂的数据库应用程序!

在我们的下一课中,我们将更深入地探讨使用 Python 进行更高级的 MySQL 操作。在此之前,祝编码愉快!

Credits: Image by storyset