关于Python连接liunx中mysql数据库的方式在这一篇文章
这里写目录标题
- 1.在Liunx服务器中的mysql新建一个表
- 2.插入数据
- 3.连接liunx中的mysql数据库
- 1、查询1946班的成绩信息
- 2,查询1944班,语文成绩大于60小于90的成绩信息
- 3,查询学生表中1到6行的数据
- 4,显示1944班英语成绩为90,数学成绩为40的姓名与学号
- 5,查询出1946班所有成绩
- 6、求出每个班级英语成绩总分
- 7、求出每个班英语成绩最高的那个人的姓名和班级名称
- 8、英语、语文二科分数都大于60分的人名和年纪
- 9、求出语文分数高于60且其它任何一科目大于60分的人和班级
- 10、统计每个班的人数
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())