
 关于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())





















