示例数据库名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. 40.数组中只出现一次的数字(python)

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.   思路 将数组的因为就两个数只出现一次,所以,这些数字做异或之后,得到的结果是这两个数做异或的 ...

  2. [深度学习] pytorch学习笔记(1)(数据类型、基础使用、自动求导、矩阵操作、维度变换、广播、拼接拆分、基本运算、范数、argmax、矩阵比较、where、gather)

    一.Pytorch安装 安装cuda和cudnn,例如cuda10,cudnn7.5 官网下载torch:https://pytorch.org/ 选择下载相应版本的torch 和torchvisio ...

  3. LeetCode 141、142环形链表

    141题: 首先,先看141题,这个题是比较初级也是比较经典的环形链表题: 给定一个链表,判断链表中是否有环. 进阶:你能否不使用额外空间解决此题? 那么,什么是有环的链表呢: 这个就是有环的链表 题 ...

  4. 原生Js_制作简易日历

    javascript制作简易日历,月份信息已经放在一个数组中,在<script>...</script>中编写代码实现其功能 实现步骤 a) 获取需要操作的dom对象 b) 在 ...

  5. python环境下安装virtualenv,virtualenvwrapper

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  6. spring-sevlet简单配置

    <<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www ...

  7. laravel 发送html邮件是a标签中的url不显示问题

  8. java多线程系列1:Sychronized关键字

    1.Synchronized使用范围: 同步普通方法:锁的是当前对象 //包含synchronized修饰的同步方法的类addCountClass public class addCountClass ...

  9. vue中limitBy,filterBy,orderBy的用法

    1.limitBy的用法 <body> <div id="box"> <ul> <li v-for="val in arr | ...

  10. Navicat1_介绍

    https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398 ...