PyCharm Python3操作数据库MySQL增删改查
核心内容
(1)使用到的模块:PyMySQL
安装:
pip3 install pymysql
(2)连接数据库
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码:UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')
(3)创建游标对象
# 创建一个游标对象
cursor = db.cursor()
(4)执行 SQL语句
cursor.execute(SQL)
(5)事务提交、回滚
#提交事务
db.commit()
#事务回滚
db.rollback()
(6)获取结果(返回的类型为 元组)
获取一条数据
cursor.fetchone()
获取所有数据
cursor.fetchall()
查看执行SQL语句后影响 到的行数
cursor.rowcount
(7)关闭游标和连接
#关闭游标
cursor.close()
#关闭数据库连接
db.close()
增删改查
1.添加数据
import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码:UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')# 创建一个游标对象
cursor = db.cursor()# SQL语句
SQL = ''' INSERT INTO STUDENT VALUES('2016081111','张三','男'),('2016081112','李四','女'),('2016081113','王五','男');'''
try: # 插入数据cursor.execute(SQL)# 提交到数据库db.commit()print('插入成功')
except:# 插入失败db.rollback()print('插入失败')
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
2.查询数据
import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')
# 创建一个游标对象
cursor = db.cursor()
# SQL语句
SQL = '''SELECT * FROM STUDENT;'''
try:# 查询所有的数据cursor.execute(SQL)# 查询到的条数print('查询到了%s条数据' % (cursor.rowcount))# 获取一条数据one = cursor.fetchone()print(type(one))print(one)# 获取所有数据for item in cursor.fetchall():print(item)
except:# 插入失败print('查询失败')# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
执行结果
查询到了4条数据
<class 'tuple'>
('30', 'prince', '男')
('2016081111', '张三', '男')
('2016081112', '李四', '女')
('2016081113', '王五', '男')
3.更新数据
import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')
# 创建一个游标对象
cursor = db.cursor()
SNAME = '李华'
# 更新数据SQL语句
UPDATE_SQL = '''UPDATE STUDENT SET SNAME='%s' WHERE SNO='2016081111';''' % (SNAME)
# 查询数据SQL语句
SELECT_SQL = '''SELECT * FROM STUDENT WHERE SNO='%s'''' % ('2016081111')
try:# 更新数据前cursor.execute(SELECT_SQL)print('更新前:', cursor.fetchall())# 更新数据cursor.execute(UPDATE_SQL)# 提交到数据库db.commit()# 更新数据后cursor.execute(SELECT_SQL)print('更新后:', cursor.fetchall())
except:# 更新失败,回滚db.rollback()print('更新失败')# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
执行结果:
更新前: (('2016081111', '张三'),)更新后: (('2016081111', '李华'),)
4.删除数据
import pymysql#连接数据库,地址:localhost,账号:root,密码:root,数据库名:school
db=pymysql.connect('localhost','root','root','school',charset='utf8')
#创建一个游标对象
cursor=db.cursor()SNO='2016081111'
#删除数据SQL语句
DELETE_SQL='''
delete from student where Sno='%s';
''' % (SNO)
#查询数据SQL语句
SELECT_SQL='''
select * from student where sno='%s'
''' % (SNO)
try:#数据删除前cursor.execute(SELECT_SQL)print('删除前:',cursor.fetchall())#删除数据cursor.execute(DELETE_SQL)#提交到数据库db.commit()#数据删除后cursor.execute(SELECT_SQL)print('删除后:',cursor.fetchall())except:#删除失败,回滚db.rollback()print('删除失败')
#关闭游标
cursor.close()
#关闭数据库连接
db.close()
执行结果
删除前: (('2016081111', '张三'),)
删除后: ()
PyCharm Python3操作数据库MySQL增删改查相关推荐
- django-model操作数据库(增删改查)
django-model操作数据库(增删该查) 一.数据库操作 1.创建model表 基本结构 更多字段: + View Code 更多参数 + View Code 2.注册APP,setting ...
- java数据库edit_Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- 使用LitePal操作数据库(CRUD增删改查) 项目已上传GitHub
GitHub项目地址: https://github.com/Skymqq/LitePalSave.git LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)映射的模式 ...
- Mysql存储函数实现增删改查_使用存储过程操作数据库(实现增删改查)
使用存储过程操作数据库 添加数据: --创建一个存储过程,向表中插入一条数据 create proc usp_insertintoTbClass @className nvarchar(50), @c ...
- uniCloud云函数中通过传统方式操作数据库的-增删改查
云函数 可以看做java或者php,作为后端服务 cloudfunctions/myCloud/index.js exports.main = async (event, context) => ...
- 删除所有数据_mysql数据库操作——数据库的增删改查
创建数据库 create database 数据库名称 (其他选项) 其他选项可以不要 如: create database test; 则创建了一个数据库名为test的数据库 加上其他选项如字符集设 ...
- django关于Mysql增删改查操作以及浏览器数据返回
1.serializers: from django.core import serializersdef squitData(request):#查询一条#c1=Catinfo.objects.ge ...
- 【接口测试】Day5-使用pymysql库对mysql数据库进行增删改查操作
目录 今日目标 一.数据库介绍 二.数据库基本操作 1.安装 2.操作流程(重点) 1. 创建连接 2. 获取游标 3. 执行sql 4. 关闭游标 5. 关闭连接 3.数据准备 4.数据库基本操作 ...
最新文章
- 国产Dhyana禅定x86处理器开始启动生产
- OpenGL缩放转换
- gin 生成api文档_golang gin框架 集成swagger 自动生成文档
- 【前端就业课 第一阶段】HTML5 零基础到实战(五)基础元素
- 关于锁表查询的部分SQL
- 关于“指针数组”和”数组指针“
- MTK:架构和消息机制(必看)
- IP地址定位计算机,怎么通过ip地址定位到具体位置
- 【高效开发插件】06 FEHelper 数据格式化
- java 二叉树转数组_java二叉树怎么转成数组?java怎么实现二叉树?
- android网络框架OkHttp之get请求(源码初识)
- Kubernetes 调整 nodePort 端口范围
- 计算机开机桌面黑,电脑能正常启动但屏幕全黑原因和解决方法
- aspcms系统加密后https后台无法登录解决办法
- C++表达式语句实训 对 26 个大写英文字母进行循环加密,输入一个大写英文字母(明文)和一个整数秘钥,输出用秘钥对该大写英文字母加密后的结果(密文)。
- 【CF833D】Red-Black Cobweb(点分治)
- html实现边下边播mp4,WebTorrent:一款可边下边播磁力链接的播放器
- ArcGIS水文分析提取河网、流域、湖泊
- CISSP AIO7 学习笔记 - 第三章 安全工程 3.4-3.10小节
- 一个C语言面试的经典例题
热门文章
- 动态SLAM:关于语义分割时间效率的讨论
- PatchmatchNet:一种高效multi-view stereo框架 (CVPR2021 Oral)
- 用于高亮反光零件缺陷的自动视觉检测系统
- SpirngMVC jsp页面空指针
- 爬虫准备工作1-Java写入字符串到txt文档
- Ubuntu下Astro Pro配置openni踩坑小记
- java交通工具的类继承代码_Java作业-交通工具继承
- 简单使用DESeq2/EdgeR做差异分析
- 高级转录组分析和R数据可视化专题研讨会(2019.12)
- ggplot2笔记4 语法基础