Python MySQL-mysql-connector驱动

Python MySQL Connector 知识点汇总
🐍 + 🐬 = ❤️

Python MySQL Connector 知识点汇总

编程小白的详细指南 – 大白话讲解MySQL数据库操作

1. 安装与连接

安装驱动:就像给你的Python安装一个能和MySQL对话的翻译器

pip install mysql-connector-python

连接数据库

连接数据库就像用钥匙开门:主机、用户名、密码、数据库名缺一不可

import mysql.connector

# 创建连接
db = mysql.connector.connect(
  host=”localhost”,
  user=”yourusername”,
  password=”yourpassword”,
  database=”mydatabase”
)

# 创建游标(操作数据库的”手”)
cursor = db.cursor()
小白提示: 每次操作数据库都需要连接,操作完成后记得关闭连接(db.close())

2. 创建数据库和表

创建数据库:就像在电脑上新建一个文件夹

# 创建数据库
cursor.execute(“CREATE DATABASE mydatabase”)

创建数据表

创建表格就像在Excel中创建工作表,需要定义列名和数据类型

# 创建用户表
cursor.execute(“””
  CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    email VARCHAR(255),
    age INT
  )
“””)
重要数据类型:
• INT – 整数
• VARCHAR(长度) – 文本
• FLOAT – 小数
• DATE – 日期
• BOOLEAN – 是/否

3. 增删改查操作

增(INSERT):向表中添加新记录

# 插入一条数据
sql = “INSERT INTO users (name, email, age) VALUES (%s, %s, %s)”
val = (“张三”, “zhangsan@example.com”, 25)
cursor.execute(sql, val)

# 提交更改(重要!)
db.commit()

print(cursor.rowcount, “条记录插入成功!”)

查(SELECT):读取数据

# 查询所有用户
cursor.execute(“SELECT * FROM users”)

# 获取结果
result = cursor.fetchall() # 获取所有记录

for row in result:
  print(row) # 每一行是一个元组

改(UPDATE):更新数据

# 将张三的年龄改为26
sql = “UPDATE users SET age = 26 WHERE name = ‘张三'”
cursor.execute(sql)
db.commit()

删(DELETE):删除数据

# 删除名为张三的用户
sql = “DELETE FROM users WHERE name = ‘张三'”
cursor.execute(sql)
db.commit()

4. 进阶操作

条件查询

使用WHERE子句筛选你需要的数据

# 查询年龄大于20的用户
cursor.execute(“SELECT * FROM users WHERE age > 20”)

排序结果

# 按年龄降序排列
cursor.execute(“SELECT * FROM users ORDER BY age DESC”)

限制结果数量

# 只获取前5条记录
cursor.execute(“SELECT * FROM users LIMIT 5”)

模糊查询

# 查询名字包含”张”的用户
cursor.execute(“SELECT * FROM users WHERE name LIKE ‘%张%'”)

5. 安全与错误处理

防止SQL注入

永远不要直接拼接SQL语句!使用参数化查询

# 错误做法(危险!)
name = “张三”
cursor.execute(“SELECT * FROM users WHERE name = ‘” + name + “‘”)

# 正确做法(安全)
sql = “SELECT * FROM users WHERE name = %s”
val = (name, )
cursor.execute(sql, val)

错误处理

使用try-except捕获数据库操作中的错误

try:
  cursor.execute(“SELECT * FROM non_existent_table”)
except mysql.connector.Error as err:
  print(f”数据库错误: {err}”)
必看安全警示:
• 永远不要相信用户输入的数据
• 始终使用参数化查询
• 错误信息不要直接展示给用户

6. 最佳实践

使用上下文管理器

自动关闭连接,避免资源泄漏

with mysql.connector.connect(
  host=”localhost”,
  user=”yourusername”,
  password=”yourpassword”,
  database=”mydatabase”
) as db:
  with db.cursor() as cursor:
    # 在这里执行数据库操作
    cursor.execute(“SELECT * FROM users”)
    result = cursor.fetchall()
# 退出with块后连接自动关闭

数据库设计建议

  • 每个表都要有主键(ID)
  • 使用有意义的字段名
  • 避免存储大量重复数据
  • 重要的数据要有备份
性能提示:
• 频繁操作时,先执行所有SQL再一次性commit
• 查询时只选择需要的字段(SELECT * 效率低)
• 对大表添加索引可以加速查询
连接数据库
CREATE TABLE
INSERT
SELECT
UPDATE
DELETE
WHERE条件
参数化查询
错误处理
事务管理

Python MySQL Connector 知识点汇总 | 编程小白友好版 | 详细讲解数据库操作

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部