Python+pymysql中select count(*)/select *使用方式

1、问题概述?

在Python脚本中,我们通过:

1、使用select * from 查询返回多条数据

2、使用select count(*)返回单个数据

但是这两种在使用上略有不同,需要注意

使用pymysql之前需要先安装

pip install pyMySQL

2、select * 语句的使用及取值

当返回值为多条的时候使用cursor.fetchall()

复制代码
def 连接数据库函数():
    conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', port=3306, db='test', charset='utf8')
    cursor = conn.cursor()
    sql = 'select * from `student`  where  sex=""  AND name="Android" '
    cursor.execute(sql)
    list = cursor.fetchall()
    conn.close()
    print(list)
    return list

取值方式

for循环便利后,取值通过数组方式进行取值,索引从0开始。

复制代码
if __name__ == '__main__':
    list=连接数据库函数()
    for data in list:
        print("输出指定的参数:",data[0])

3、select count(*)语句的使用及取值

如果查询的结果返回的是单条数据使用cursor.fetchone()

复制代码
def 查询表格中数据的条数():
    conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', port=3306, db='test', charset='utf8')
    cursor = conn.cursor()
    sql = 'select count(*) from `student'
    cursor.execute(sql)
    count = cursor.fetchone()
    conn.close()
    return count[0]

取值方式

由于返回的就是数据的条数,直接使用即可。

4、其他语句的使用方式

4.1、update和delete语句的使用方式

修改动作需要使用commit进行提交操作

发生异常通过**conn.rollback()**回滚

复制代码
def 测试demo(id,name):
    conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', port=3306, db='test', charset='utf8')
    cursor = conn.cursor()
    sql='update `student` set name="'+name+'" where id="'+id+'"'
    cursor.execute(sql)
    sql2 = 'delete from `class'
    cursor.execute(sql3)
    try:
        conn.commit()
        print('操作成功')
    except Exception as e:
        print("操作失败")
        conn.rollback()
    finally:
        cursor.close()
        conn.close()

4.2、insert的语句的使用方式

insert的使用与其他基本相同,不能忽略资源的释放动作。

复制代码
def insertdemp(id....):
    conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', port=3306, db='test', charset='utf8')
    cursor = conn.cursor()
    sql = 'insert into student (id,name,sex,age,addr,pwd) values ('"+id+"',.....)' 
    cursor.execute(sql)
    conn.commit()
    cursor.close()
    conn.close()
相关推荐
SelectDB技术团队4 分钟前
SelectDB Enterprise 4.0.5:强化安全与治理,构建企业级实时分析与 AI 数据底座
数据库·人工智能·apache doris
一 乐4 分钟前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
ego.iblacat24 分钟前
Redis 核心概念与部署
数据库·redis·缓存
m0_4939345332 分钟前
如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
jvm·数据库·python
万岳科技系统开发33 分钟前
商城系统搭建自建平台与入驻第三方平台对比分析
数据库·小程序·架构
不剪发的Tony老师43 分钟前
QoreDB:一款跨平台、现代化的通用数据库客户端
数据库
五阿哥永琪1 小时前
MySQL 中 VARCHAR、TEXT 与 JSON 类型:区别、场景与选型指南
数据库·mysql·json
a9511416421 小时前
Go语言如何操作OSS_Go语言阿里云OSS上传教程【完整】
jvm·数据库·python
2401_897190551 小时前
MySQL中如何利用LIMIT配合函数分页_MySQL分页查询优化
jvm·数据库·python
Polar__Star2 小时前
C#怎么使用并发集合 C#ConcurrentDictionary和ConcurrentQueue线程安全集合怎么用【进阶】
jvm·数据库·python