PyMySQL 笔记

安装

复制代码
pip install pymysql

查询

py 复制代码
import pymysql

# 连接数据库
connect = pymysql.connect(host='localhost', port=3306, user='root', password='1234', db='send',
                          charset='utf8')
# 获取游标
cursor = connect.cursor()

# 执行sql
sql = "select * from employee"
cursor.execute(sql)

# 获取结果,fetchall 全部,fetchone 一行,fetchmany 多行
result = cursor.fetchone() # 返回是一个元组

print(result)

# 关闭连接
cursor.close()
connect.close()

新增

py 复制代码
import pymysql

# 连接数据库
connect = pymysql.connect(host='139.129.233.191', port=3306, user='root', password='ch201688', db='cable',
                          charset='utf8')
# 获取游标
cursor = connect.cursor()

# 执行sql
sql = "insert into employee values(1, 'Tom', 10, 5000)"
result = cursor.execute(sql)

if result:
    connect.commit()  # 提交
else:
    connect.rollback()  # 回滚

print(result)  # 1,表示受影响行数

# 关闭连接
cursor.close()
connect.close()

防止SQL注入

使用 %s 预编译

py 复制代码
# 获取游标
cursor = connect.cursor()

# 执行sql
sql = "select * from user where username = %s and password = %s"
# 参数化
params = ('admin', 'admin')
cursor.execute(sql, params)
相关推荐
A__tao2 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢2 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨2 小时前
python扫码登录dy
开发语言·python
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能3 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技3 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭3 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机3 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
知行合一。。。3 小时前
Python--04--数据容器(集合)
python