Python对liunx中mysql数据库进行单表查询 10个案例带你了解

17 篇文章 2 订阅
10 篇文章 0 订阅

在这里插入图片描述
关于Python连接liunx中mysql数据库的方式在这一篇文章

1.在Liunx服务器中的mysql新建一个表

CREATE TABLE `grade` (
  `class` int(5) DEFAULT NULL,
  `chinese` int(10) DEFAULT NULL,
  `english` int(10) DEFAULT NULL,
  `math` int(10) DEFAULT NULL,
  `name` varchar(30) DEFAULT NULL,
  `age` int(10) DEFAULT NULL,
  `sid` int(4) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

在这里插入图片描述

2.插入数据

insert into grade (class,chinese,english,math,name,age,sid) VALUES
(1944,72,90,40,'zhangyibo',22,1),(1945,68,80,50,'liuyibo',25,2),(1945,74,20,45,'fuwo',23,3),(1945,44,24,99,'wanghong',25,4),(1946,90,90,90,'zhangqifei',30,5),(1945,80,80,80,'wangfu',28,6);

3.连接liunx中的mysql数据库

import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
                     user='root',#连接名
                     passwd='',#你的密码
                     database='abs',#数据库名称
                     port=3306)#端口号
curs = db.cursor()

1、查询1946班的成绩信息

sql1 ='select * from grade where class=1946 ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

2,查询1944班,语文成绩大于60小于90的成绩信息

sql1 ='select chinese from grade where class=1944 and 60<chinese<90  ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

3,查询学生表中1到6行的数据

sql1 ='select * from grade limit 1,6 ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

4,显示1944班英语成绩为90,数学成绩为40的姓名与学号

sql1 ='select sid,name from grade where english=90 and math =40 ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

5,查询出1946班所有成绩

sql1 ='select chinese,math,english from grade where class=1946 ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

6、求出每个班级英语成绩总分

sql1 ='select sum(english),class from grade group by class ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

7、求出每个班英语成绩最高的那个人的姓名和班级名称

sql1 ='select name,class from grade where (class,english)in(select class,MAX(english)from grade group by class);'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

8、英语、语文二科分数都大于60分的人名和年纪

sql1 ='select name,age from grade where english>60 and chinese>60 ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

9、求出语文分数高于60且其它任何一科目大于60分的人和班级

sql1 ='select name,class from grade where chinese>60 and(math>60 or english>60) ;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

10、统计每个班的人数

sql1 ='select count(class),class from grade group by class;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻烟飘荡

我想吃甜筒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值