Python接入MySQL实现增删改查的实战记录
作者:径流系数 时间:2023-08-23 04:52:50
前言
我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,MySQL数据库算是入门比较简单、语法比较简单,同时也比较实用的一个。本文主要介绍了Python接入MySQL实现增删改查的相关内容,下面话不多说,一起来看看详细的介绍吧
打开数据库连接,创建数据库和表
基本语法如下:
execute(query, args=None)
# query为字符串类型的sql语句
# args:可选的序列或映射,用于query的参数值。
# 如果args为序列,query中必须使用%s做占位符;
# 如果args为映射,query中必须使用%(key)s做占位符
案例:数据库名learning,表名houses,字段name house_location purchasing_year
import pymysql
db = pymysql.connect('localhost', 'root', "password") # 打开数据库连接,password替换为本机数据库密码
cursor = db.cursor()
cursor.execute('drop database learning;')
cursor.execute('create database learning;')
cursor.execute('use learning')
sql_create = """create table houses (name VARCHAR(100) NOT NULL, house_location VARCHAR(100) NOT NULL, purchasing_year VARCHAR(100) NOT NULL);"""
cursor.execute(sql_create)
插入
# 插入
sql_insert = """insert into houses values(%s,%s,%s);"""
cursor.execute(sql_insert,('梦璃','南天门',1995)) # 插入单条数据
cursor.executemany(sql_insert,[('紫英','蜀山',1996),('天河','石沉',1997),('菱纱','溪洞',1998)]) # 插入多条数据
查询
sql_select = """select * from houses"""
# 单条查询
cursor.execute(sql_select)
while 1:
result = cursor.fetchone()
if result is None:
# 取完所有结果
break
print(result)
# 多条查询,取3条数据
cursor.execute(sql_select)
Result = cursor.fetchmany(3)
for res in Result:
print(res)
# 多条查询,取所有数据
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
更新
# 更新一条数据
sql_update = """update houses set purchasing_year=2000 where name='菱纱';"""
cursor.execute(sql_update)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
# 更新多条数据
sql_update = """update houses set purchasing_year=%s where name=%s;"""
cursor.executemany(sql_update,[(2018,'梦璃'),(2019,'紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
# 回滚事务
db.rollback()
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
删除
# 删除1条数据
sql_delete = """delete from houses where name='梦璃';"""
cursor.execute(sql_delete)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
# 删除多条数据
sql_delete = """delete from houses where name=%s;"""
cursor.executemany(sql_delete,[('天河'),('紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
print(res)
关闭游标,关闭数据库连接
cursor.close() # 关闭游标
db.commit()
db.close() # 关闭数据库连接
print('sql执行成功')
来源:https://blog.csdn.net/Coefficient1996/article/details/114359046
标签:python,mysql,增删改查
0
投稿
猜你喜欢
JS中如何实现点击a标签返回页面顶部的问题
2024-04-19 10:14:19
MySQL中SQL Mode的查看与设置详解
2024-01-26 12:14:08
python的django写页面上传文件及遇到的问题小结
2022-02-28 23:21:10
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2024-04-25 13:12:57
vue基于mint-ui实现城市选择三级联动
2024-06-05 09:17:45
Python使用lxml模块和Requests模块抓取HTML页面的教程
2021-08-29 20:55:33
重新认识vue之事件阻止冒泡的实现
2024-05-10 14:18:34
Django Form and ModelForm的区别与使用
2022-04-12 15:28:10
python3中关于excel追加写入格式被覆盖问题(实例代码)
2022-10-18 14:23:25
flask中的wtforms使用方法
2021-08-21 02:46:52
使用Python自动化Microsoft Excel和Word的操作方法
2023-04-11 16:15:21
js给静态网页代码加密方法
2007-08-04 19:48:00
Python webargs 模块的简单使用
2021-02-27 11:56:04
记一次Vue中$route序列号报错
2024-05-02 17:04:03
python实现图像高斯金字塔的示例代码
2023-05-06 02:02:32
解决pycharm19.3.3安装pyqt5找不到designer.exe和pyuic.exe的问题
2022-06-08 02:29:26
python要安装在哪个盘
2022-10-09 13:16:52
python方向键控制上下左右代码
2022-01-27 01:44:22
Python读取文件内容为字符串的方法(多种方法详解)
2023-05-18 18:16:27
如何得到数据库中所有表名 表字段及字段中文描述
2024-01-24 23:58:40