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
  • asp之家 网络编程 m.aspxhome.com