详解Python的数据库操作(pymysql)
作者:东小东 发布时间:2024-01-15 20:49:22
标签:python,pymysql,数据库
使用原生SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等。其可操作性很强,如可以直接使用“show databases”、“show tables”等语句进行表格之外的部分操作。
Centos7远程操作数据库时需要关闭防火墙,否则会连接不上
安装:
pip3 install pymysql
数据查询:
import pymysql
#建立数据库连接
conn=pymysql.connect(host="192.168.1.175",port=3306,user="root2",passwd="proot2",db="dongdb")
#得到数据库操作游标
cur=conn.cursor()
#查询数据
resdata=cur.execute("select * from tb_dong")
print("总条数为:",resdata)
#一行一行输出数据,以元组形式
print("取出第一条数据:",cur.fetchone())
print("取出第二条数据:",cur.fetchone()[3])
#输出剩下的所有数据,以元组嵌套形式
print("取出剩下的数据:",cur.fetchall())
print("------ 完成操作 -------")
#关闭连接
conn.close()
数据插入:
也可以使用 execute() 进行操作
import pymysql
#建立数据库连接
conn=pymysql.connect(host="192.168.1.175",port=3306,user="root2",passwd="proot2",db="dongdb")
#得到数据库操作游标
cur=conn.cursor()
#插入数据
datax=[
("DXD1","M","东小东1"),
("DXD2","F","东小东2")
]
#返回影响行数
rescoun=cur.executemany("insert into tb_dong(namex,sex,otherxxx) values(%s,%s,%s)",datax)
print(rescoun)
#进行数据修改,必须提交事物
conn.commit()
print("------ 完成操作 -------")
#关闭数据库连接
conn.close()
数据修改:
#返回影响行数,如果值未进行任何修改则返回0
rescoun=cur.execute("update tb_dong set namex='%s',sex='%s' where id>%d"%("dongdong","F",16))
print(rescoun)
#进行数据修改,必须提交事物
conn.commit()
数据删除:
#返回影响行数
rescoun=cur.execute("delete from tb_dong where id>%d"%(16))
conn.commit() #提交事物
部分封装:
import pymysql
#建立数据库连接
conn=pymysql.connect(host="192.168.1.175",port=3306,user="root2",passwd="proot2",db="dongdb")
#得到数据库操作游标
cur=conn.cursor()
#删除
def dongdel(tablex,idx):
try:
rescoun = cur.execute("delete from %s where id=%d" % (tablex,idx))
conn.commit() #提交事物
return rescoun
except Exception as e:
print("删除出现错误", e)
return e
#插入
def donginsert(tablex,listx):
try:
rescoun = cur.executemany("insert into "+tablex+"(namex,sex,otherxxx) values(%s,%s,%s)",listx)
conn.commit()
return rescoun
except Exception as e:
print("插入出现错误",e)
return e
#查询,参数为表名和id值
def dongselect(tablex,idx=0):
try:
if idx==0:
resdata = cur.execute("select * from %s"%tablex)
else:
resdata = cur.execute("select * from %s where id=%d" %(tablex,idx))
return resdata
except Exception as e:
print("查询出现错误",e)
return e
#修改
def dongupdate(tablex,idx,namex):
try:
rescoun = cur.execute("update %s set namex='%s' where id=%d" % (tablex,namex,idx))
conn.commit()
return rescoun
except Exception as e:
print("更新出现错误", e)
return e
#删除数据
resdel=dongdel("tb_dong",6)
print("删除的条数为:",resdel)
#插入数据
datax=[
("dongxiaodong","M","东小东1")
]
resinsert=donginsert("tb_dong",datax)
print("插入的条数为:",resinsert)
#修改数据
resupdate=dongupdate("tb_dong",7,"dongxiaodong7")
print("修改的条数为:",resupdate)
#查询数据
resselect=dongselect("tb_dong",0)
print("查询的总条数为:",resselect)
print("全部数据为:",cur.fetchall())
#关闭数据库连接
conn.close()
总结
以上所述是小编给大家介绍的详解Python的数据库操作(pymysql),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源:104.116.116.112.58.47.47.119.119.119.46.99.110.98.108.111.103.115.46.99.111.109.47.100.111.110.103.120.105.97.111.100.111.110.103.47.112.47.49.48.52.57.53.53.55.51.46.104.116.109.108.
0
投稿
猜你喜欢
- 哈夫曼树原理秉着能不写就不写的理念,关于哈夫曼树的原理及其构建,还是贴一篇博客吧。https://www.jb51.net/article/
- networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据
- 使用python3+opencv3.3.1环境将视频流保存为本地视频文件,具体内容如下1、利用opencv中的VideoCapture类获取
- 需求:需要实现一个用户反馈的接口,用户通过接口提交:1.一段文字2. 一个log文件3. 多个图片找了很多ModelForm,DRF-Ser
- 1.数据库约束约束是关系型数据库提供的一种校验数据合法性的机制. 1.1 约束类型约束类型说明示例null使用not null 指
- 问题你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。解决方案Python并没有对在字符串中简单替换变量值提供直接的支持。 但
- 本文实例讲述了Python简单生成随机数的方法。分享给大家供大家参考,具体如下:主要知识点:随机整数:random.randint(a,b)
- 升级背景:为了解决mysql低版本的漏洞,从mysql5.5升级到了8.0.11版本,再次升级到了8.0.17版本(从版本是2019.7.2
- 习惯于使用数据库之前都必须创建一个连接池,即使是单线程的应用,只要有多个方法中需用到数据库连接,建立一两个连接的也会考虑先池化他们。连接池的
- 函数原型参数介绍mode (torch.nn.Module, torch.jit.ScriptModule or torch.jit.Scr
- Birdseye是一个Python调试器,它在函数调用中记录表达式的值,并让你在函数退出后轻松查看它们,例如:无论你如何运行或编辑代码,都可
- 简介Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联
- 删除字符串最后一个字符的方法1.使用strip()方法删除最后一个字符Python strip() 方法用于移除字符串头尾指定的字符(默认为
- TensorFlow 2.0之后动态分配显存import tensorflow as tfconfig = tf.compat.v1.Con
- 这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。首先,安装环境是:操作系统 Win10,已经预先暗转了 Ana
- 1 scipy.spatialfrom scipy import spatial在scipy.spatial中最重要的模块应该就是距离计算模
- 最近Google Code推出了一个面向网站开发者的 * Google DocType。它来自于网站开发者同时又面
- OS模块import os1.返回操作系统类型 :posix 是linux操作系统,nt 是windows操作系统print(os.name
- 直方图,又称质量分布图,是一种统计报告图,由一系列高度不等的纵条或线段表示数据分布情况。用横轴表示数据类型,纵轴表示分布情况。直方图是数值数
- 在使用Celery统计每日访问数量的时候,发现一个任务会同时执行两次,发现同一时间内(1s内)竟然同时发送了两次任务,也就是同时产生了两个w