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 支持表情

异常处理 + 事务回滚

相关推荐
染指111019 分钟前
9.LangChain框架(实现RAG)
数据库·人工智能·算法·机器学习·ai·大模型
2401_8734794036 分钟前
主流IP离线库(IP数据云、纯真、IPIP.NET)怎么选?全面对比分析
服务器·网络·数据库
毋语天36 分钟前
Redis 零基础实战指南:从核心原理到生产落地的完整路线
数据库·redis·缓存
weixin_408318041 小时前
教育行业直播系统搭建指南
java·大数据·数据库
それども2 小时前
redis scan和keys对比
数据库·redis·缓存
basketball6162 小时前
SQL 基础面试考点总结
数据库·sql·面试
深蓝轨迹2 小时前
缓存雪崩终极防御:Caffeine + Redis 多级缓存
数据库·redis·缓存·caffine
新时代农民工~3 小时前
PostgreSQL 主从故障恢复自动化:实战脚本与最佳实践
数据库·postgresql·自动化
woshilys3 小时前
sql server 查询外键
数据库·sql·sqlserver
瀚高PG实验室4 小时前
开发管理工具打不开No way to find ori gi nal streamhand er for jar protocol
java·数据库·jar·瀚高数据库