
如何用python通过pymysql操作MYSQL
发布日期:2021-05-14 09:15:33
浏览次数:17
分类:精选文章
本文共 1611 字,大约阅读时间需要 5 分钟。
Python 连接 MySQL 数据库 —— 基本数据库操作演示
1. 数据库连接与查询
以下 Codepen 演示了如何使用 Python 连接到 MySQL 数据库并执行基本的数据库操作。
import pymysqlfrom pprint import pprint# 连接数据库conn = pymysql.connect( host="数据库服务器地址", port=数据库端口号, user="数据库用户名", passwd="数据库密码", db="数据库名称", charset="编码格式")# 获取数据库 cursorcur = conn.cursor()# 查询数据库中的所有表cur.execute("SHOW TABLES")# 获取所有表的名称tables = [row[0] for row in cur.fetchall()]# 查询指定表的所有数据cur.execute(f"SELECT * FROM {tables[0]}")data = cur.fetchall()pprint(data)# 关闭 cursor 和 connectioncur.close()conn.close()
2. 数据库 CRUD 操作演示
以下 Codepen 展示了 CRUD 操作的实现,包括数据插入、批量插入以及数据查询。
import pymysqlfrom pprint import pprint# 连接数据库conn = pymysql.connect( host="数据库服务器地址", port=数据库端口号, user="数据库用户名", passwd="数据库密码", db="数据库名称", charset="编码格式")# 获取数据库 cursorcur = conn.cursor()# 创建测试表cur.execute( "CREATE TABLE IF NOT EXISTS test0(" "id INT AUTO_INCREMENT PRIMARY KEY," "name CHAR(10) NOT NULL" ")")# 插入数据cur.execute("INSERT INTO test0 (id, name) VALUES (1, '小王')")conn.commit()# 完成后检查插入结果cur.execute("SELECT * FROM test0")result = cur.fetchall()pprint(result)# 演示批量插入数据cur.executemany( "INSERT INTO test0 (id, name) VALUES (%s, %s)", [(2, "小白"), (3, "小五")])conn.commit()# 关闭 cursor 和 connectioncur.close()conn.close()
注意事项
在实际使用中,请确保:
- 替换为实际的数据库服务器地址、端口号、用户名、密码等详细信息
- 确保数据库权限和安全组设置正确
- 及时关闭 cursor 和 connection 关系,以免占用资源
- 结合实际项目需求调整数据类型和字段约束
技术背景
在以上代码中使用了:
- pymysql 库来进行数据库连接
- cursor 来执行数据库操作
- executemany 用于批量插入数据库数据
- pprint 用于美观打印输出结果
应用场景
这些操作适用于:
- 数据库开发
- 学习数据库操作
- 快速实现简单的数据管理系统
希望以上代码能够为您提供帮助!如果有任何问题,请在评论区留言,我们会尽力解答!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月16日 17时45分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
堆的应用_topK算法和堆排序
2019-03-11
最大半连通子图
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11
另类加法,走方格的方案数,最近公共祖先
2019-03-11
[Java Path Finder][JPF学习笔记][7]JPF输出详细程度设置
2019-03-11
GitHub完整记录数据库GHTorrent的下载和安装经验
2019-03-11
设计模式—— 三:依赖倒置原则
2019-03-11
因SGA分配错误无法启动数据库
2019-03-11
ORA-00020 超过当前最大连接数
2019-03-11
喝红茶是否会上火
2019-03-11
Android进阶解密读书笔记2——第2章:Android系统启动——第1、2小节
2019-03-11
主线程中Looper的轮询死循环为何没有阻塞主线程?
2019-03-11
Gradle实战四:Jenkins持续集成
2019-03-11
使用RestTemplate,显示请求信息,响应信息
2019-03-11
wgcloud运维监控系统错误:防篡改校验错误次数大于10次,不再上报数据
2019-03-11
为什么WGCLOUD安装完后,启动服务端打不开网页
2019-03-11
iOS 开发官方文档链接收集
2019-03-11
linux学习笔记(四)基本用户管理与帮助命令
2019-03-11
小程序:防止父方法被子方法冒泡,使用catchtap
2019-03-11