示例数据库名demo,表名info

select * from info; 查看该表数据

+----+-------+--------+-----+---------------------+---------------------+
| id | name | gender | age | createTime | updateTime |
+----+-------+--------+-----+---------------------+---------------------+
| 1 | Miles | Male | 21 | 2019-12-24 10:10:41 | 2019-12-24 10:11:02 |
| 2 | Mary | Female | 15 | 2019-12-24 19:26:24 | 2019-12-24 19:26:24 |
| 3 | Marx | Male | 35 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
| 4 | Fox | Female | 8 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
+----+-------+--------+-----+---------------------+---------------------+

查询数据

获取查询结果的三种方法:

  • fetchone() 获取查询结果中最早的一行数据,返回结果为一个元组,对应查询的字段,如果查询结果为空则返回None
  • fetchall() 获取所有的查询结果,返回结果为一个大元组,大元组中每个元素为小元组,小元组就是每一行的数据,对应查询的字段,如果查询结果为空则返回一个空元组
  • fetchmany() 和fetchall()类似,只不过要传入一个整数表示要获取多少行数据,从最早开始算,如果传入参数大于结果条数则获取所有结果,如果查询结果为空则返回空元组
import pymysql

# 连接数据库服务器,参数:IP地址,用户名,密码,要使用的数据库名称,编码格式
conn = pymysql.connect('服务器ip地址', 'mysql用户名', 'mysql密码', '数据库名', charset='utf8') # 获得一个游标对象来操作数据库
cur = conn.cursor() # 编写sql
sql = 'select name, gender, age from info;' # 传入sql并执行
cur.execute(sql) # 使用fetchone,fetchmany,fetchall三种方法之一获得查询的结果
result = cur.fetchall() # 关闭游标和数据库连接
cur.close()
conn.close() # 打印结果
print(result)

输出结果:

# fetchone()
('Miles', 'Male', 21) # fetchall()
(('Miles', 'Male', 21), ('Mary', 'Female', 15), ('Marx', 'Male', 35), ('Fox', 'Female', 8)) # fetchmany(2)
(('Miles', 'Male', 21), ('Mary', 'Female', 15))

增删改

增删改操作不需要获得结果,但是要commit提交操作

import pymysql

# 连接数据库服务器,参数:IP地址,用户名,密码,要使用的数据库名称,编码格式
conn = pymysql.connect('服务器ip地址', 'mysql用户名', 'mysql密码', '数据库名', charset='utf8') # 获得一个游标对象来操作数据库
cur = conn.cursor() # 编写sql
sql = 'insert into info(name, gender, age) values("Demo", "Male", 10);' # 新增数据
# sql = 'delete from info where name="Miles";' # 删除数据
# sql = 'update info set name="Mark" where name="Marx";' # 修改数据 # 传入sql并执行
cur.execute(sql) # 提交修改
conn.commit() # 关闭游标和数据库连接
cur.close()
conn.close()

Python pymysql对数据库的基础操作的更多相关文章

  1. Python --链接MYSQL数据库与简单操作 含SSH链接

    项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑  现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...

  2. 安卓基础之Sqlite数据库最最基础操作

    Sqlite数据库基础操作 摘要:在应用中新建一个数据库,并创建一个数据表写入数据,然后读取表中数据并展示. 主要逻辑: 1.通过继承SQLiteOpenHelper自定义类,定制数据库的表结构,初始 ...

  3. python下selenium模拟浏览器基础操作

    1.安装及下载 selenium安装: pip install selenium  即可自动安装selenium geckodriver下载:https://github.com/mozilla/ge ...

  4. 数据库(mysql)基础操作

    DDL(数据定义语言)------>建库,建表 DML(数据操作语言)------>对表中的记录操作增删改查 DQL(数据查询语言)------>对表中的查询操作 DCL(数据控制语 ...

  5. mysql数据库的基础操作

    注 : 本文中注释因为方便写了# ,mysql中规范应为 -- 创建用户 通过root管理员权限可以创建各种用户,并为他们分配权限及可以操作的数据库. 语法:create user '用户名'@'ip ...

  6. Python连接MongoDB数据库并执行操作

    原文:https://blog.51cto.com/1767340368/2092813 环境设置: [root@mongodb ~]# cat /etc/redhat-release CentOS ...

  7. SQL数据库的基础操作

    一,认识SQL数据库 美国Microsoft公司推出的一种关系型数据库系统.SQLServer是一个可扩展的.高性能的.为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有 ...

  8. ADO对SQL Server 2008数据库的基础操作

    最近在学习ADO与数据库的相关知识,现在我将自己学到的东西整理写出来,也算是对学习的一种复习. 这篇文章主要说明如何遍历某台机器上所有的数据库服务,遍历某个服务中所有的数据库,遍历数据库中的所有表以及 ...

  9. Mongodb数据库(linux)——基础操作

    简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.它是非关系型数据库,但其结构与MySQL又很相似,mysql中的表格,在这里被称为集合,mysql表格内的数据是一 ...

随机推荐

  1. 基于TCP的客户端、服务器端socket编程

    一.实验目的 理解tcp传输客户端服务器端通信流程 二.实验平台 MAC OS 三.实验内容 编写TCP服务器套接字程序,程序运行时服务器等待客户的连接,一旦连接成功,则显示客户的IP地址.端口号,并 ...

  2. 学到了林海峰,武沛齐讲的Day51 django+数据库

    连不上,通过这一步解决 搞死了..辛苦但觉得值得 刷数据库 出问题 IDEA关联MySQL报错:Server returns invalid timezone. Go to ‘Advanced’ ta ...

  3. Java验证身份证是否合法

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; im ...

  4. python使用配置文件

    通过配置文件将变量暴露给用户修改 标准库模块configparser,从而可在配置文件中使用标准格式. 必须使用[files].[colors]等标题将配置文件分成几部分(section).标题的名称 ...

  5. BZOJ 3551: [ONTAK2010]Peaks加强版 Kruskal重构树+dfs序+主席树+倍增

    建出来 $Kruskal$ 重构树. 将询问点向上跳到深度最小,且合法的节点上. 那么,得益于重构树优美的性质,这个最终跳到的点为根的所有子节点都可以与询问点互达. 对于子树中求点权第 $k$ 大的问 ...

  6. 51 nod 1127最短的包含字符串(尺取法)

    1127 最短的包含字符串   收藏  关注 给出一个字符串,求该字符串的一个子串S,S包含A-Z中的全部字母,并且S是所有符合条件的子串中最短的,输出S的长度.如果给出的字符串中并不包括A-Z中的全 ...

  7. 试用saucelabs进行浏览器兼容性测试

    Hi,all 跟大家分享下saucelabs,一个云测试平台,支持PC和手机(自带的)浏览器的兼容性测试,并且支持selenium/appium的自动化测试,不过是收费的,价格还挺贵,但是人工的测试是 ...

  8. kafka监控指标项

    监控配置 ​ kafka基本分为broker.producer.consumer三个子项,每一项的启动都需要用到 $KAFKA_HOME/bin/kafka-run-class.sh 脚本,在该脚本中 ...

  9. 大哥带的JavaScript伪协议

    将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的 ...

  10. linux工作常用命令

    修改文件后缀 如 将文件application.properties.sample改为application.properties,格式 mv  文件名称.{改前后缀,修改后的目标后缀} 定位到修改文 ...