Python接入MySQL实现增删改查的实战记录
作者:径流系数 发布时间:2023-08-23 04:52:50
标签:python,mysql,增删改查
前言
我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,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
0
投稿
猜你喜欢
- 本文实例讲述了python新式类和经典类的区别。分享给大家供大家参考,具体如下:新式类就是 class person(objec
- 这个分页使用的是0游标,也就是Rs.Open Sql,Conn,0,1。但是感觉也快不了多少,10万条数据的分页时间300多豪秒之间。风格A
- WEB标准化之前的互联网是TABLE布局的天下,但随着互联网的高速发展,TABLE布局已经不能满足千变万化的页面所来来的更新压力和服务器压力
- ASP获取远程文件的通过header头信息,并返回远程文件大小信息,远程文件可以是网页或RAR,EXE任何格式的文件。以下是具体代码:<
- 由于网络带宽以及某些WAP服务器DECK传输的限制,所以DECK越小越好,最好不要超过1.2K。如果你的需求很复杂,最好分成几个DECK来完
- MySQL Innodb 引擎优化,InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoD
- function chinese2unicode(Str) &nbs
- 如何侦测HTTP表头信息?可用下列办法侦测并显示所有的HTTP HEADERS:<HTML><HEAD><TI
- 又从 James Padolsey 这里得到个好的点子。在实际写脚本过程中可能有段 Javascript 和 HTML 非常相关(比如实例化
- 插件很多从事互联网行业或者开发的人员来不是很陌生,wordpress之所以为什么那么受欢迎,很大部分是因为他的强大的插件库,还要譬如就是大家
- 50个常用sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(
- php获取文件创建时间、修改时间常用代码filemtime ( string filename )返回文件上次被修改的时间,出错时返回 FA
- function createobj() { if (window.ActiveXObject)&n
- write2vin 的 PPT原文路宛兮写的简介:本文解释了以下问题: 1.什么是用户体验? 2.谁发明了这个术语?他想表达什么意思? 3.
- 此文用来正式回复大辉同学的疑问。1、结论:固定宽度只适合功能型网站,不适合希望用户认真阅读的浏览型网站。UCD大社区是浏览型网站,它的定位是
- 前后端分离前后端分离的好处最大的好处就是前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小。后台错误不会直接反映到前台,错误接秒
- 这是写给web设计者和前端开发者的教程,我们将演示如何使用Photoshop创建按钮的sprite图,然后是如何使用jQurey打造动态渐变
- 在java中一个hashCode算法,可以用来计算一个字符串的hash值,今天一个朋友突然问俺能不能在js中计算hashCode,要求和ja
- 平时我们获取事件对象一般写法如下:function getEvent(event) { return event
- 无论何时,IE总是让页面制作者感到那么的黯然销魂,尤其是IE6,IE7次之,虽然IE8已经做了很大的改进,但由于XP用户的数量实在太大,而且