Python 操作 MySQL 数据库

Python 操作 MySQL 数据库

Python 操作 MySQL 最常用、最稳定的库是 pymysql,它纯 Python 实现,安装简单、兼容性好。

一、安装依赖

bash

运行

pip install pymysql

二、基础使用模板(最常用)

python

运行

import pymysql

1. 创建数据库连接

conn = pymysql.connect(

host='localhost', # 主机地址

port=3306, # 端口

user='root', # 用户名

password='你的密码', # 密码

database='test_db', # 数据库名

charset='utf8mb4' # 字符集

)

2. 获取游标(用于执行SQL)

cursor = conn.cursor()

3. 执行SQL语句(示例:查询)

sql = "SELECT * FROM user"

cursor.execute(sql)

获取所有结果

results = cursor.fetchall()

for row in results:

print(row)

4. 关闭游标和连接

cursor.close()

conn.close()

三、常用操作(增删改查)

  1. 查询数据

python

运行

查询一条

cursor.execute("SELECT name, age FROM user WHERE id=1")

one = cursor.fetchone()

print("单条数据:", one)

查询所有

cursor.execute("SELECT * FROM user")

all_data = cursor.fetchall()

print("所有数据:", all_data)

  1. 插入数据

必须 commit 才能真正写入!

python

运行

sql = "INSERT INTO

笔记

Python 操作 MySQL 笔记

一、使用模块

常用:pymysql

安装:pip install pymysql

二、连接数据库

python

运行

import pymysql

conn = pymysql.connect(

host='localhost',

port=3306,

user='root',

password='xxx',

database='test',

charset='utf8mb4'

)

获取游标

cursor = conn.cursor()

三、查询操作

python

运行

执行SQL

cursor.execute("SELECT * FROM user")

获取结果

data1 = cursor.fetchone() # 一条

data2 = cursor.fetchall() # 所有

data3 = cursor.fetchmany(3) # 前3条

四、增删改(必须提交)

插入

python

运行

sql = "INSERT INTO user(name,age) VALUES(%s,%s)"

cursor.execute(sql, ("张三", 20))

conn.commit()

批量插入

python

运行

data = [("a",10), ("b",20)]

cursor.executemany(sql, data)

conn.commit()

更新

python

运行

sql = "UPDATE user SET age=25 WHERE id=1"

cursor.execute(sql)

conn.commit()

删除

python

运行

sql = "DELETE FROM user WHERE id=1"

cursor.execute(sql)

conn.commit()

五、异常与回滚

python

运行

try:

cursor.execute(sql)

conn.commit()

except Exception as e:

conn.rollback() # 出错回滚

print(e)

六、关闭

python

运行

cursor.close()

conn.close()

七、常用要点

增删改必须 commit()

查询不用提交

占位符统一用 %s,不要拼接字符串防 SQL 注入

字符集用 utf8mb4 支持表情

异常处理 + 事务回滚

相关推荐
努力努力再努力wz20 小时前
【MySQL进阶系列】一文打通事务机制:从锁、Undo Log 到 MVCC 与隔离级别
c语言·数据结构·数据库·c++·mysql·算法·github
PaperData20 小时前
2000-2025年《中国县域统计年鉴》pdf+excel版(附赠面板数据)
数据库·人工智能·数据分析·pdf·经管
冷小鱼20 小时前
从关系模型(SQL)基石到AI与信创时代的智能查询语言
数据库·sql
LLON erva20 小时前
Redis-配置文件
数据库·redis·oracle
童话ing20 小时前
【Redis】026 互联网大厂 Redis 面试高频题
数据库·redis·面试
钰衡大师20 小时前
Activiti 7 工作流技术文档
java·数据库·spring boot
Treh UNFO20 小时前
nginx的重定向
大数据·数据库·nginx
jvvz afqh20 小时前
mysql用户名怎么看
数据库·mysql
eDEs OLDE21 小时前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
EXnf1SbYK21 小时前
Redis分布式锁进阶第八篇:锁超时乱序深度踩坑 + 看门狗失效真实溯源 + 业务长耗时标准化兜底方案
数据库·redis·分布式