这是一篇关于“MySQL数据库入门实战 - Python版”的教程,结合了案例实战分析,帮助初学者快速掌握如何使用Python操作MySQL数据库。
一、环境准备
1. 安装 Python
访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选“Add Python to PATH”,方便在命令行中使用 Python。
2. 安装 MySQL 数据库
从 MySQL 官方网站下载适合你操作系统的安装程序,然后按照安装向导进行安装。安装完成后,启动 MySQL 服务,并记住你设置的用户名和密码。
3. 安装 PyMySQL 库
PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,使用它可以方便地在 Python 中连接和操作 MySQL 数据库。在命令行中运行以下命令来安装 PyMySQL:
pip install pymysql
二、连接数据库
以下是连接 MySQL 数据库的示例代码:
import pymysql
def connect_db():
try:
conn = pymysql.connect(
host='localhost', # 数据库主机地址
user='root', # 数据库用户名
password='your_password', # 数据库密码
database='your_database', # 数据库名称
charset='utf8mb4' # 字符编码
)
print("数据库连接成功!")
return conn
except pymysql.Error as e:
print(f"数据库连接失败:{e}")
return None
三、数据库基本操作
1. 创建数据库和表
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}")
2. 插入数据
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}")
3. 查询数据
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}")
4. 更新数据
def update_student(conn, name, age, grade, student_id):
try:
cursor = conn.cursor()
update_sql = "UPDATE students SET name=%s, age=%s, grade=%s WHERE id=%s"
cursor.execute(update_sql, (name, age, grade, student_id))
conn.commit()
print("学生信息更新成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生信息更新失败:{e}")
5. 删除数据
def delete_student(conn, student_id):
try:
cursor = conn.cursor()
delete_sql = "DELETE FROM students WHERE id=%s"
cursor.execute(delete_sql, (student_id,))
conn.commit()
print("学生信息删除成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生信息删除失败:{e}")
四、案例实战分析:学生管理系统
以下是一个完整的案例,展示如何使用 Python 和 MySQL 构建一个简单的学生管理系统。
1. 主函数
def main():
conn = connect_db()
if conn:
create_table(conn)
insert_student(conn, 'Alice', 18, 'Grade 12')
insert_student(conn, 'Bob', 17, 'Grade 11')
query_all_students(conn)
update_student(conn, 'Alice Smith', 19, 'Grade 12', 1)
delete_student(conn, 2)
query_all_students(conn)
conn.close()
if __name__ == "__main__":
main()
五、运行结果
运行上述代码后,你将看到以下输出:
数据库连接成功!
学生表创建成功!
学生信息插入成功!
学生信息插入成功!
(1, 'Alice', 18, 'Grade 12')
(2, 'Bob', 17, 'Grade 11')
学生信息更新成功!
学生信息删除成功!
(1, 'Alice Smith', 19, 'Grade 12')
六、Python 和 PyMySQL 库连接 MySQL 数据库,你学会了吗
通过本教程,你已经学会了如何使用 Python 和 PyMySQL 库连接 MySQL 数据库,并进行了数据库的基本操作,包括创建数据库和表、插入数据、查询数据、更新数据和删除数据。
此外,通过学生管理系统的案例实战,你能够更好地理解如何将这些操作应用于实际项目中。