Python操作MySQL数据库

1|0Windows下安装MySQL

详细可参考 Windows下MySQL安装流程,8.0以上版本ROOT密码报错及修改

2|0安装驱动程序

python想要操作MySQL,必须要有一个中间件,或者叫做驱动程序,驱动程序有很多,mysqlclient、mysqldb、pymysql。我选择用pymysql,安装命令:pip install pymysql

3|0连接数据库

import pymysql db = pymysql.connect( host="127.0.0.1", user='root', password='123456', database='pymysql_test', port=3306 ) cursor = db.cursor() cursor.execute('select 1') data = cursor.fetchone() print(data) db.close()

4|0插入数据

import pymysql db = pymysql.connect( host="127.0.0.1", user='root', password='123456', database='pymysql_test', port=3306 ) cursor = db.cursor() sql = """ insert into user(id,username,gender,age,password) values(null,'abc',1,18,'111111'); """ cursor.execute(sql) db.commit() db.close()

将数据作为参数的方式插入到数据库

sql = """ insert into user(id,username,gender,age,password) values(null,%s,%s,%s,%s); """ cursor.execute(sql,('spider',1,20,'222222'))

5|0查找数据

使用pymysql查询数据,可以使用 fetch 方法

  • fetchone():这个方法每次只获取一条数据
  • fetchall():这个方法接收全部的返回结果
  • fetchmany(size):这个方法可以获取指定条数的数据
cursor = db.cursor() sql = """ select * from user """ cursor.execute(sql) while True: result = cursor.fetchone() if not result: break print(result) db.close()

直接使用fetchall,一次性可以把所有满足条件的数据都取出来

cursor = db.cursor() sql = """ select * from user """ cursor.execute(sql) results = cursor.fetchall() for result in results: print(result) db.close()

使用fetchmany,指定获取多少条数据

cursor = db.cursor() sql = """ select * from user """ cursor.execute(sql) results = cursor.fetchmany(1) for result in results: print(result) db.close()

6|0删除数据

cursor = db.cursor() sql = """ delete from user where id=1 """ cursor.execute(sql) db.commit() db.close()

7|0更新数据

conn = pymysql.connect( host="127.0.0.1", user='root', password='123456', database='pymysql_test', port=3306 ) sql = """ update user set username='aaa' where id=1 """ cursor.execute(sql) conn.commit() conn.close()

__EOF__

本文作者阿星Plus
本文链接https://www.cnblogs.com/meowv/p/11310569.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   阿星Plus  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示