原文地址:https://www.wukong.com/answer/6591280609824342286/?iid=40708017633&app=news_article&share_ansid=6591280609824342286&app_id=13&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_ios&utm_campaign=client_share

用python来操作mysql数据库还是十分简单的下面我就一增删改查分别几个小例子,之前我有回答过用sqlalchemy的用法,这次我们来用pymysql的库来实现一个python对数据库的操作。

python-3.5以上
pymsql-0.7.10

查询代码如下

取数据库返回来的数据我们可以用以下三种方法:

  1. fetchone() 这种方法每次只取一条数据
  2. fetchmany() 一次多条数据,括号内填入要读取的数据条数。不填则为1条数据,如果读数超过实际条数,只显示实际条数。
  3. fetchall() 一次读取全部数据,如果管道内没有数据,则返回空元组或空列表。

删除代码如下

修改代码如下

增加代码如下

插入的方法还有一次插入多条数据
cur.executemany("insert into b_user(username,password)values(%s,%s)", [("test1","5554444"),("test2","665544")])
将后面的赋值改成list传人就可以了

以上就是我之前用mysql操作的一些小的实例,当然还有其他的库可以操作,我在这里就不一一列举了,但是大致的操作方法都是相似的,会了一个其他的上手也就比较容易了,希望能对你有所帮助。

13 赞6评论

 分享

 
 举报

python有一个专门用来操作mysql的包—pymysql,直接安装这个包就可以完成对mysql数据库的操作(包括增删改查等),下面我简单介绍一下这个包的安装和使用,实验环境win7+python3.6+pycharm5.0,主要内容如下:

为了方便演示,我这里新建了一个test数据表,有id,university,name这3个字段,主要内容如下:

1.首先,安装pymysql,这里直接在cmd窗口输入命令“pip install pymysql”就行,如下:

2.安装完成后,我们就可以进行正常的测试了,下面主要从增、删、改、查这4个方面简单介绍一下:

  • 查询数据,这里主要用到fetchall、fetchone、fetchamany这3个函数,其中fetchall是查询满足条件的所有记录,fetchone是查询满足条件的第一条记录,fetchamany是自定义查询满足条件的记录,测试代码如下:

程序运行截图如下,已经成功查询出4条记录:

  • 修改数据,主要代码如下,这里不要忘记commit提交数据库,不然数据库不会发生任何变化:

程序运行截图如下,已经成功修改数据:

  • 增加数据,同上,不要忘记commit提交数据库,主要代码如下:

程序运行截图如下,已经成功增加数据:

  • 删除数据,同上,不要忘记commit提交数据库,主要代码如下:

程序运行截图如下,已经成功删除数据:

至此,我们就完成了对mysql数据的增删改查。总的来说,整个过程都挺简单的,熟悉一下很快就能掌握了,网上也有相关资料可以搜一下,希望以上分享的内容能对你有所帮助吧。

Python--读取数据库的更多相关文章

  1. python读取数据库并把数据写入本地文件

    一,介绍 上周用jmeter做性能测试时,接口B传入的参数需要依赖接口A生成的借贷申请ID,接口A运行完需要把生成的借贷申请ID导出来到一个文件,作为参数传给接口B,刚开始的时候,手动去数据库倒, 倒 ...

  2. python读取数据库mysql报错

    昨天在学习PYTHON读取数据库的知识时,一直在报错,找不到原因. 最后同事说是语法错误. import sysreload(sys)sys.setdefaultencoding('gb18030') ...

  3. python读取数据库数据,读取出的中文乱码问题

    conn = pymysql.connect( host='127.0.0.1', port=3302, user='username', passwd='password', db=database ...

  4. python读取数据库出txt报表

    python出报表使用到了数据库访问,文件读写,字符串切片处理.还可以扩展到电子邮件的发送,异常处理以及定时批任务. 总之在学习中发现还是有蛮多乐趣在其中. #coding=utf-8 ' impor ...

  5. python读取数据库数据有乱码怎么解决?

    http://blog.sina.com.cn/s/blog_6826662b0100yeze.html 简单暴力,直接上代码 conn = MySQLdb.connect(host = " ...

  6. python 读取数据库中文内容显示一堆问号

    需要在连接数据库时 设置编码格式 def select_db(self,db_name): self.conn = MySQLdb.connect( host = self.ip, port = se ...

  7. python 读取数据库时,datetime类型无法被json序列化--解决方案

    新增针对datetime的jsonencode: # -*- coding: utf-8 -*- import json from datetime import date, datetime cla ...

  8. 使用python读取MS-SQL数据库

    使用python读取MS-SQL中的数据,这里使用到模板pymssql. 因为不是python自带的模板,所以首先需要使用pip安装,对应命令:pip install pymssql 建立main.p ...

  9. 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录

    孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...

  10. Python 学习笔记:Python 使用 pandas 读取数据库并进行绘图

    上次写了在 Python 怎么使用 mssql 库来对 SQL Server 数据库进行增删查改,今天就写一下 Python 如何通过 pandas 来读取数据库并进行绘图. 一.读取数据库: 利用 ...

随机推荐

  1. ftp连接

    package enterprise.celerity.ac.util; import java.io.IOException;import java.io.InputStream;import ja ...

  2. Ubuntu系统下安装完成tomcat进入管理页面

    首先先启动tomcat cd /usr/local/tomcat8. ./bin/startup.sh 然后再打开浏览器 在地址栏中输入 http:/localhost:

  3. (转)glances用法

    借鉴:https://www.ibm.com/developerworks/cn/linux/1304_caoyq_glances/index.html glances 可以为 Unix 和 Linu ...

  4. linux的free命令详解-内存是拿来用的不是拿来看的

    $ free -m total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 第一部分Mem行:total 内存总数: 1 ...

  5. LeetCode设计实现题(一)

    一.LRU缓存机制(LeetCode-146) 1.1 题目描述 1.2 解题思路 思路1: 使用Map存放key,value,使用List存放key和count,count为最新的index值,每次 ...

  6. echarts3.0之关系图详解

    近期需要使用echarts关系图,当我打开echarts3.0官方demo后发现,对于新手而言,直接看懂有点儿难度,固写这样一篇文章让自己加深记忆,也便新手迅速上手.话不多说,开整生气! echart ...

  7. world: 对比两个文档

    1. 2. 3. 4.

  8. SQL-W3School-函数:SQL MIX() 函数

    ylbtech-SQL-W3School-函数:SQL MIX() 函数 1.返回顶部 1. MIN() 函数 MIN 函数返回一列中的最小值.NULL 值不包括在计算中. SQL MIN() 语法 ...

  9. Syste类

    System类的概述 System 类包含一些有用的类字段和方法.它不能被实例化. 成员方法 public static void gc()  运行垃圾回收器. public static void ...

  10. Qt 自定义信号SIGNAL

    emit toLine(lineQStr);connect(vcthread, SIGNAL(toLine(QString)), this, SLOT(appendText(QString)));