返回顶部
首页 > 资讯 > 数据库 > python进阶(十三、mysql:PyMySQL)
  • 923
分享到

python进阶(十三、mysql:PyMySQL)

摘要

Mysql数据库 15 使用python操作mysql数据库(PyMysql) 3.15.1. PyMySQL的安装 1)使用命令安装:pip install pymysql 2)使用PyCharm安装 2. Python连接数据库


	python进阶(十三、mysql:PyMySQL)
[数据库教程]

Mysql数据库

15 使用python操作mysql数据库(PyMysql
3.15.1. PyMySQL的安装
1)使用命令安装:pip install pymysql
2)使用PyCharm安装
技术图片
技术图片
技术图片

2. Python连接数据库
1)参看参数
技术图片
技术图片
技术图片
技术图片

2)创建连接和获取数据
技术图片
技术图片

3)异常处理
mysql语句错误时,会将错误信息传给python,并报错
技术图片
可以使用异常处理,处理mysql语句错误
技术图片

4)关闭游标和连接
使用完数据库,要关闭游标和连接,释放资源
技术图片

3. 数据的增删改
1)数据添加
(1)书写执行语句时,注意sql语句内部的字符串标识要与外边的标识区分开
(2)修改数据的数据要执行commit()才能真正写入数据库
技术图片

2)数据修改
技术图片

3)数据删除
技术图片

4. 数据查询
1)fetch
fetchone():获取一条数据
fetchmany(n):获取n条数据,可用于分页显示
fetchall():获取全部数据
技术图片

2)fetch查询的返回结果默认是元组,可以在元组中直接取值
技术图片

3)指定fetch输出类型是字典:
cursor=pymysql.cursors.DictCursor
技术图片

4)rowcount:是一个只读属性,返回执行execute()方法后影响的行数。
技术图片
可以使用rowcount循环读取fetchone数据
技术图片

5. 数据回滚:rollback
在执行多行语句时,如果其中某行语句出现错误,将前面已经执行成功的语句也撤销,这个过程称为数据回滚。数据回滚可以保证数据的安全和完整性。
技术图片
注意:使用数据回滚时,commit()方法一定要写在try语句的最后。
如果提前使用commit()方法将数据写入数据库,然后再报错,rollback无法删除已经写入数据库中的数据。
rollback只能清除内存中的修改,无法修改数据库中的数据。

6. 表操作
表操作(新建表、修改表、删除表)时,不执行commit()也会直接写到数据库。
技术图片
技术图片

7. 将mysql语句写入字符串,在执行
技术图片
使用三引号(”””)定义字符串可以换行,方便书写

8. sql注入(重点)
1)在sql语句中,遇到“;--”后面的语句就被忽略了
技术图片

2)使用mysql保存用户名和密码,登录验证时,会使验证失效
(1)数据库中创建用户信息表,并添加用户名和密码
技术图片
(2)在python中,判断用户输入的用户名和密码,是否与数据库中的数据相同
技术图片
(3)异常输入时,也可以登陆成功
只知道用户名,不知道密码,可以登陆成功
技术图片
因为mysql执行到“;-- ”后,不在执行后面的语句了。
注意: “;-- ”后面有一个空格
输入时加入or 1=1,用户名和密码都错误依然可以登录成功
技术图片

3)解决方法
定义字符串时,只需要用占位符(%s)占位;然后使用execute()方法实现拼接mysql语句的拼接,将需要替换的数据放入元组即可。execute()还会根据数据类型,自动为字符串数据添加引号。
注意:使用占位符占位时,无论何种数据类型只能使用“%s”,不能使用%d、%f等,execute()方法能够自动识别。
技术图片

9. PyMySQL使用步骤
1)连接数据库:connect(host, user, passWord, database, port)
2)获取游标 conn.cursor()
3)执行sql语句(增删改查,sql注入)
4)确认提交:commit(),增加、修改和删除数据时,需要确认提交
5)关闭游标
6)关闭数据库

python进阶(十三、mysql:PyMySQL)

原文地址:https://www.cnblogs.com/bdzxh/p/14102822.html

您可能感兴趣的文档:

--结束END--

本文标题: python进阶(十三、mysql:PyMySQL)

本文链接: https://lsjlt.com/news/7984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python进阶(十三、mysql:PyMySQL)
    mysql数据库 15 使用python操作mysql数据库(PyMySQL) 3.15.1. PyMySQL的安装 1)使用命令安装:pip install pymysql 2)使用Pycharm安装 2. python连接数据库 ...
    99+
    2015-08-11
    python进阶(十三 mysql:PyMySQL) 数据库入门 数据库基础教程 数据库 mysql
  • Python进阶(三十三)-Python
      取得时间相关信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,可以去官方文档了解下。时间戳是1970年到现在时间相隔的时间。   你可以试下下面的方式来取得当前时间的时间戳: ...
    99+
    2023-01-31
    进阶 Python 三十三
  • Python进阶(三十四)-Python
    线程讲解   多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处...
    99+
    2023-01-31
    进阶 Python 三十四
  • Python 三十六计
    ...
    99+
    2023-01-31
    Python 三十六计
  • 3.Nginx配置进阶(三)
    nginx配置进阶(三)==============================================================================概述: 本章我们将会继续介绍Nginx中http段的配置,内...
    99+
    2023-01-31
    进阶 Nginx
  • Python学习之旅(三十三)
    网络通信是两台计算机上的两个进程之间的通信,而网络编程就是如何在程序中实现两台计算机的通信 P协议负责把数据从一台计算机通过网络发送到另一台计算机 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据...
    99+
    2023-01-30
    之旅 Python 三十三
  • python进阶
    一直以来有写博客的习惯,也是为了给自己做个记录,备以后查询,但是记录的很乱 基本上都是工作中,遇到的一些问题或知点,并且也不连惯,今天一篇列表相关,明天一篇线程相关 最近看博客有了一定的访问量,就想整理一下博客中一些知识点,这样也方便大家...
    99+
    2023-01-30
    进阶 python
  • Python进阶语法之三元表达式详解
    Python进阶语法之三元表达式详解 Python的三元表达式(Ternary Expressions)是一种简洁高效的编写条件逻辑的方式。与许多其他编程语言一样,Python也提供了三元表达式,可以...
    99+
    2023-10-08
    python 开发语言
  • 【Python】Python进阶系列教程-- Python3 MySQL - mysql-connector 驱动(三)
    文章目录 前言创建数据库连接创建数据库创建数据表主键设置 插入数据批量插入查询数据where 条件语句排序Limit删除记录更新表数据删除表 前言 往期回顾: Python进...
    99+
    2023-09-16
    python mysql 开发语言
  • Python进阶,ConfigParse
    原文链接和公众号 文章链接:http://note.youdao.com/noteshareid=dfec323b2c6509d7189453ec730b3870⊂=7D7493D6D746490BA55C0997FF1BC465 更多文...
    99+
    2023-01-31
    进阶 Python ConfigParse
  • Python使用Matplotlib绘制三维折线图(进阶篇)
    1.0简介: 三维图像技术是现在国际最先进的计算机展示技术之一,任何普通电脑只需要安装一个插件,就可以在网络浏览器中呈现三维的产品,不但逼真,而且可以动态展示产品的组合过程,特别适合远程浏览。 立体图视觉上层次分明色彩鲜艳,具有很强的视觉冲...
    99+
    2023-09-29
    python 开发语言
  • Python 3 进阶 —— prin
    在 Python 中,print 可以打印所有变量数据,包括自定义类型。在 2.x 版本中,print 是个语句,但在 3.x 中却是个内置函数,并且拥有更丰富的功能。 参数选项 可以用 help(print) 来查看 print 函数...
    99+
    2023-01-31
    进阶 Python prin
  • Python进阶笔记
    列表生成式 函数的参数类型 lambda函数 map, reduce, filter, sorted函数 eval, exec, join, zip函数 itertools中的函数 copy与deepcopy函数 模块 os、sys模块...
    99+
    2023-01-31
    进阶 笔记 Python
  • mysql进阶(三)MHA高可用集群
    简介: 1、MHA目前在MySQL高可用方面是一个相对成熟的解决方案,是MySQL高可用环境下故障切换和主从提升的高可用软件 2、MHA能在短时间内完成故障切换,并且在最大程度上保证数据的一致性,以达到真正...
    99+
    2024-04-02
  • Python学习之旅(三十二)
    Python内置了turtle库,可以在计算机上绘图 运动控制: 1、画笔定位到坐标(x,y):turtle.goto(x,y) 2、向正方向运动 distance 长的距离:turtle.forward(distance) 3、向负方...
    99+
    2023-01-30
    之旅 Python 三十二
  • Python学习之旅(三十四)
    UDP编程 相对TCP,UDP则是面向无连接的协议 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包 虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用...
    99+
    2023-01-30
    之旅 Python 三十四
  • Python学习之旅(三十七)
    程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。 而如何定义数据的存储格式就是一个大问题。 为了便于程序保存和读取数据,而...
    99+
    2023-01-30
    之旅 Python 三十七
  • Python学习之旅(三十八)
    二、MySQL MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite...
    99+
    2023-01-30
    之旅 Python 三十八
  • Python进阶---python实现s
    python中没有substring的定义,但是有更轻巧的实现,可以通过数组的slice来截取字符串 例如,在java中我们这样截取字符串: String s = "Hello OutOfMemory.CN"; String small ...
    99+
    2023-01-31
    进阶 Python python
  • Python入门教程(十三)Python元组
    元组(Tuple) 元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。 实例 创建元组: thistuple = ("apple", "banana", "ch...
    99+
    2023-05-16
    Python Python元组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作