Python入门与MySQL数据库操作实践指南
作为一名刚接触Python的开发者,从环境搭建到实际操作数据库往往是入门的关键步骤。本文将详细讲解Python基础环境准备、核心语法知识,以及如何通过Python操作MySQL数据库实现数据增删查改,适合Python初学者快速上手并应用到实际开发中。
文章目录
- 1 基础环境准备
- 1.1 Windows系统安装Python3
- 1.2 安装VS Code编辑器
- 1.3 在VS Code中创建Python文件
- 2 Python基础讲解
- 2.1 注释
- 2.2 数据类型
- 2.3 条件判断
- 2.4 循环语句
- 2.4.1 for循环
- 2.4.2 while循环
- 2.5 函数
- 3 Python操作MySQL数据库
- 3.1 前期准备
- 3.1.1 安装MySQL驱动
- 3.1.2 创建测试表和数据库用户
- 3.2 Python实现MySQL增删查改
- 3.3 关键说明
- 总结
1 基础环境准备
在开始Python编程前,需完成Python解释器和代码编辑器的安装配置,这里以Windows系统为例,提供完整的环境搭建步骤。
1.1 Windows系统安装Python3
Python是解释型语言,首先需要安装官方解释器以运行Python代码:
-
下载Python安装包
访问Python官方下载页面:https://www.python.org/downloads/,根据Windows系统版本(32位/64位)选择最新的Python 3.x版本(如3.12.x),点击“Download Windows Installer”下载。 -
执行安装流程
双击安装包,关键步骤如下:- 勾选底部的 “Add Python.exe to PATH”(必选,否则后续无法在命令行直接调用Python);
- 选择“Customize installation”(自定义安装),保持默认组件(如pip、IDLE等)不变;
- 选择安装路径(建议避免中文路径,如
D:\Python312),点击“Install”完成安装。
-
验证安装成功
按下Win+R打开“运行”,输入cmd打开命令提示符,执行以下命令:python --version # 或 python -V pip --version # 验证包管理工具pip是否正常若分别显示Python版本(如
Python 3.12.1)和pip版本,则安装成功。
1.2 安装VS Code编辑器
VS Code(Visual Studio Code)是轻量且强大的代码编辑器,支持Python语法高亮、代码提示和运行调试,安装步骤如下:
-
下载VS Code
访问VS Code官方下载页面:https://code.visualstudio.com/,点击“Download for Windows”获取安装包。 -
安装VS Code
双击安装包,关键步骤:- 选择安装路径(如
D:\VS Code); - 勾选“创建桌面快捷方式”“将Code注册为受支持的文件类型的编辑器”等选项;
- 点击“下一步”直至安装完成。
- 选择安装路径(如
-
配置Python插件
打开VS Code,在左侧“扩展”面板(快捷键Ctrl+Shift+X)搜索“Python”,安装微软官方发布的“Python”插件(作者为Microsoft),安装后重启VS Code即可支持Python开发。
1.3 在VS Code中创建Python文件
环境配置完成后,创建第一个Python文件:
- 打开VS Code,点击左侧“资源管理器”→“打开文件夹”,选择一个目录作为项目文件夹(如
D:\PythonProjects); - 右键点击项目文件夹,选择“新建文件”,命名为
hello.py(.py是Python文件的后缀,必须添加); - 在文件中输入测试代码:
print("Hello, Python!") - 点击代码编辑器右上角的“运行”按钮(或按下
F5),下方终端将输出Hello, Python!,表示文件创建和运行正常。
2 Python基础讲解
掌握基础语法是Python编程的核心,本节将从注释、数据类型、条件判断、循环和函数五个维度,结合实例讲解Python基础。
2.1 注释
注释是代码的“说明书”,用于解释代码功能,Python解释器会忽略注释内容。Python支持两种注释方式:
- 单行注释:以
#开头,后面跟注释内容,适用于简短说明; - 多行注释:以
'''(三个单引号)或"""(三个双引号)包裹注释内容,适用于多行说明。
示例代码:
# 这是单行注释:用于解释下面的打印功能
print("单行注释示例")# 这是多行注释:用于解释一段代码的功能
'''
多行注释示例
下面定义一个字符串变量
并打印变量值
'''
name = "Martin"
print(name)"""
双引号多行注释示例
功能与单引号多行注释一致
可根据个人习惯选择
"""
age = 20
print(age)
2.2 数据类型
Python是动态类型语言,无需手动声明变量类型,解释器会自动识别。常用的基础数据类型包括整数、浮点数、字符串,以下是各类型的定义和使用示例:
# 1. 整数类型(int):用于表示整数,如年龄、数量
age = 20 # 定义整数变量age
print("年龄:", age)
print("整数类型:", type(age)) # type()函数用于查看变量类型# 2. 浮点数类型(float):用于表示小数,如圆周率、价格
pi = 3.14 # 定义浮点数变量pi
print("圆周率:", pi)
print("浮点数类型:", type(pi))# 3. 字符串类型(str):用于表示文本,用单引号或双引号包裹
name = "Martin" # 双引号定义字符串
gender = 'Male' # 单引号定义字符串
print("姓名:", name)
print("性别:", gender)
print("字符串类型:", type(name))# 字符串与变量组合输出的两种方式
print("姓名:", name, "年龄:", age) # 用逗号分隔多个输出项
print(f"姓名:{name},年龄:{age}") # f-string格式化(推荐,Python 3.6+支持)
2.3 条件判断
条件判断用于根据不同的条件执行不同的代码块,Python中通过if-elif-else语句实现,语法如下:
if:判断条件1,若为True则执行对应的代码块;elif:若if条件不满足,判断条件2,若为True则执行对应的代码块(可多个elif);else:若所有if/elif条件都不满足,执行对应的代码块(可选)。
示例:根据分数判断成绩等级
# 定义分数变量
score = 91# 条件判断逻辑
if score >= 90:print("成绩等级:优秀") # 若score≥90,执行此句
elif score >= 80:print("成绩等级:良好") # 若80≤score<90,执行此句
elif score >= 60:print("成绩等级:及格") # 若60≤score<80,执行此句
else:print("成绩等级:不及格") # 若score<60,执行此句
注意:Python通过缩进(通常是4个空格)区分代码块,缩进错误会导致程序报错。
2.4 循环语句
循环用于重复执行一段代码,Python中常用for循环和while循环,适用于不同场景。
2.4.1 for循环
for循环常用于遍历序列(如字符串、列表),语法为for 变量 in 序列: 代码块。
示例:遍历字符串中的每个字符
# 定义字符串
name = "Martin"# for循环遍历字符串:依次将每个字符赋值给char变量
for char in name:print("当前字符:", char)# 输出结果:
# 当前字符: M
# 当前字符: a
# 当前字符: r
# 当前字符: t
# 当前字符: i
# 当前字符: n
2.4.2 while循环
while循环常用于满足条件时重复执行,语法为while 条件: 代码块,需注意避免无限循环(需确保条件最终会变为False)。
示例:通过索引遍历字符串
# 定义字符串和索引变量
name = "Martin"
index = 0 # 索引从0开始(Python中序列索引默认从0起步)# while循环:当index < 字符串长度时,继续执行
while index < len(name): # len()函数用于获取字符串长度char = name[index] # 通过索引获取字符print("当前字符:", char)index += 1 # 索引自增1(关键:避免无限循环)
2.5 函数
函数是封装好的可复用代码块,用于实现特定功能。通过def关键字定义函数,语法为def 函数名(参数): 代码块; return 返回值。
示例:定义一个求两个数最大值的函数
# 定义函数:参数a和b,返回两者中的最大值
def max_value(a, b):if a > b:return a # 若a>b,返回aelse:return b # 否则返回b# 调用函数:传入参数2和3,接收返回值
result = max_value(2, 3)
print("最大值:", result) # 输出:最大值:3# 再次调用:传入不同参数
result2 = max_value(10, 5)
print("最大值:", result2) # 输出:最大值:10
函数的优势:减少代码重复,提高代码可读性和维护性。
3 Python操作MySQL数据库
在实际开发中,Python常需与数据库交互(如存储/读取数据),本节将讲解如何通过mysql-connector-python库操作MySQL数据库,实现增删查改(CRUD) 功能。
3.1 前期准备
3.1.1 安装MySQL驱动
Python操作MySQL需安装官方驱动库mysql-connector-python,通过pip命令安装:
pip3 install mysql-connector-python
若安装失败,可尝试升级pip后重新安装:
pip3 install --upgrade pip
3.1.2 创建测试表和数据库用户
首先在MySQL中创建测试用的数据库、数据表和授权用户(可通过Navicat、SQLyog或MySQL命令行执行)。
-
创建测试数据库(假设数据库名为
martin):CREATE DATABASE IF NOT EXISTS martin DEFAULT CHARSET utf8mb4; -
创建测试表(表名为
test_table,包含id、name、age字段):USE martin; # 切换到martin数据库 CREATE TABLE IF NOT EXISTS test_table (id INT AUTO_INCREMENT PRIMARY KEY, # 自增主键name VARCHAR(255) NOT NULL, # 姓名(非空)age INT NOT NULL # 年龄(非空) ); -
创建数据库用户并授权(用户名为
python_rw,密码为Idyq8_a1,授予增删查改权限):-- 创建用户(%表示允许从任意IP连接,生产环境建议指定具体IP) CREATE USER IF NOT EXISTS 'python_rw'@'%' IDENTIFIED BY 'Idyq8_a1'; -- 授予用户对martin数据库的所有表的权限 GRANT SELECT, INSERT, UPDATE, DELETE ON martin.* TO 'python_rw'@'%'; -- 刷新权限 FLUSH PRIVILEGES;
3.2 Python实现MySQL增删查改
以下代码整合了Python操作MySQL的“增、删、查、改”四个核心功能,需注意替换代码中的host(MySQL服务器IP)、user(用户名)、password(密码)和database(数据库名)为实际值。
# 导入MySQL驱动库
import mysql.connector
from mysql.connector import Errortry:# 1. 建立与MySQL的连接cnx = mysql.connector.connect(host='192.168.152.70', # 替换为你的MySQL服务器IP(本地可填localhost)user='python_rw', # 替换为你的MySQL用户名password='Idyq8_a1', # 替换为你的MySQL密码database='martin' # 替换为你的数据库名)if cnx.is_connected():print("✅ 成功连接MySQL数据库")# 2. 创建游标对象(用于执行SQL语句)cursor = cnx.cursor()# 3. 插入数据(INSERT)sql_insert = "INSERT INTO test_table (name, age) VALUES (%s, %s)"values_insert = ("John", 25) # 对应SQL中的%s占位符(注意:元组格式)cursor.execute(sql_insert, values_insert)cnx.commit() # 插入/更新/删除操作需提交事务print(f"✅ 插入数据成功,受影响行数:{cursor.rowcount}")# 4. 查询数据(SELECT)sql_select = "SELECT * FROM test_table"cursor.execute(sql_select)# 获取所有查询结果(fetchall()获取全部,fetchone()获取单条)rows = cursor.fetchall()print("\n📊 查询结果:")for row in rows:# row是元组,对应表中的每一行数据(id, name, age)print(f"ID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]}")# 5. 更新数据(UPDATE)sql_update = "UPDATE test_table SET age = %s WHERE name = %s"values_update = (30, "John") # 将John的年龄从25更新为30cursor.execute(sql_update, values_update)cnx.commit()print(f"\n✅ 更新数据成功,受影响行数:{cursor.rowcount}")# 6. 删除数据(DELETE)sql_delete = "DELETE FROM test_table WHERE name = %s"values_delete = ("John",) # 注意:单个参数需加逗号(保持元组格式)cursor.execute(sql_delete, values_delete)cnx.commit()print(f"✅ 删除数据成功,受影响行数:{cursor.rowcount}")except Error as e:print(f"❌ 数据库操作错误:{e}")
finally:# 7. 关闭游标和连接(避免资源泄漏)if 'cursor' in locals() and cursor.is_closed() is False:cursor.close()if 'cnx' in locals() and cnx.is_connected():cnx.close()print("\n🔌 已关闭MySQL连接")
3.3 关键说明
- 事务提交:
INSERT、UPDATE、DELETE操作需调用cnx.commit()提交事务,否则数据不会写入数据库; - 参数占位符:使用
%s作为SQL参数占位符(非字符串格式化的%s),避免SQL注入攻击; - 异常处理:通过
try-except捕获数据库连接和操作中的错误,提高程序稳定性; - 资源释放:无论操作成功与否,都需关闭游标和连接,避免占用MySQL连接资源。
总结
本文从环境搭建到实际应用,完整覆盖了Python入门的核心知识点:
- 完成了Python3和VS Code的安装配置,掌握了Python文件的创建和运行;
- 学习了Python基础语法(注释、数据类型、条件判断、循环、函数),能编写简单的Python程序;
- 实现了Python与MySQL的交互,掌握了数据库增删查改的核心操作。
对于初学者,建议先逐步实践文中的示例代码,再尝试扩展功能(如Python操作Excel、Web开发等)。后续可深入学习Python的高级特性(如面向对象、装饰器)和数据库ORM框架(如SQLAlchemy),进一步提升开发效率。
