DQL:分组,分页查询,约束

  1 SELECT COUNT(english) FROM student;
  2 
  3 SELECT *FROM student;
  4 
  5 SELECT COUNT(IFNULL(english,0)) FROM student;
  6 
  7 SELECT COUNT(id) FROM student;
  8 
  9 SELECT MAX(math) FROM student;
 10 
 11 SELECT MIN(math) FROM student;
 12 
 13 SELECT SUM(math) FROM student;
 14 
 15 SELECT AVG(math) FROM student;
 16 
 17 SELECT * FROM student ORDER BY math ASC; -- 排序方式
 18 
 19 SELECT * FROM student ORDER BY math DESC; -- 排序方式降序
 20 
 21 -- 按照数学成绩排名,如果数学成绩一样,则按照英语成绩排名
 22 
 23 SELECT * FROM student ORDER BY math ASC,english DESC;
 24 
 25 -- 按照性别分组,分别查询男女同学的平均分
 26 
 27 SELECT sex, AVG(math) FROM student GROUP BY sex;
 28 
 29 -- 按照性别分组,分别查询男女同学的平均分,人数
 30 
 31 SELECT sex, AVG(math),COUNT(id) FROM student GROUP BY sex;
 32 
 33 -- 按照性别分组,分别查询男女同学的平均分,人数 要求分数低于70分的人不参与分组
 34 
 35 SELECT sex, AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex;
 36 
 37 -- 按照性别分组,分别查询男女同学的平均分,人数 要求分数低于70分的人不参与分组,分组之后,人数要大于2个人
 38 
 39 SELECT sex, AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex HAVING COUNT(id)>2;
 40 
 41 SELECT sex , AVG(math),COUNT(id) 人数 FROM student WHERE math > 70 GROUP BY sex HAVING 人数 > 2;
 42 
 43 -- 每页显示3条记录
 44 
 45 SELECT *FROM student LIMIT 0,3; -- 第一页
 46 
 47 SELECT *FROM student LIMIT 3,3; -- 第二页
 48 
 49 SELECT *FROM student LIMIT 6,3; -- 第三页
 50 
 51 -- 公式:开始的索引=(当前的页码-1)*每页显示的条数
 52 
 53 -- 创建表添加非空约束
 54 CREATE TABLE stu1(
 55        id INT,
 56        NAME VARCHAR(20) NOT NULL  -- name为非空
 57 );
 58 
 59 SELECT * FROM stu1;
 60 
 61 -- 删除name的非空约束
 62 
 63 ALTER TABLE stu1 MODIFY NAME VARCHAR(20);
 64 
 65 -- 创建表完后,添加非空约束
 66 
 67 ALTER TABLE stu1 MODIFY NAME VARCHAR(20) NOT NULL;
 68 
 69 -- 在创建表时,条件唯一约束
 70 CREATE TABLE stu2(
 71        id INT,
 72        phone_number VARCHAR(20) UNIQUE -- 手机号
 73 );
 74 
 75 SELECT * FROM stu2;
 76 
 77 -- 删除唯一约束
 78 ALTER TABLE stu2 MODIFY phone_number VARCHAR(20);-- 无效
 79 
 80 ALTER TABLE stu2 DROP INDEX phone_number;
 81 
 82 -- 在表创建后,添加唯一约束
 83 
 84 ALTER TABLE stu2 MODIFY phone_number VARCHAR(20) UNIQUE;
 85 
 86 CREATE TABLE stu3(
 87        id INT PRIMARY KEY,-- 给id添加主键约束
 88        NAME VARCHAR(20) 
 89 );
 90 
 91 SELECT * FROM stu3;
 92 
 93 -- 删除主键
 94 
 95 ALTER TABLE stu3 DROP PRIMARY KEY;
 96 
 97 -- 创建完成后,添加主键
 98 
 99 ALTER TABLE stu3 MODIFY id INT PRIMARY KEY;
100 
101 CREATE TABLE stu4(
102        id INT PRIMARY KEY AUTO_INCREMENT,-- 给id添加主键约束
103        NAME VARCHAR(20) 
104 );
105 
106 SELECT * FROM stu4;
107 
108 INSERT INTO stu4 VALUES(NULL,'ccc');
109 
110 -- 删除自动增长
111 ALTER TABLE stu4 MODIFY id INT;
112 
113 INSERT INTO stu4 VALUES(10,'ccc');
114 
115 -- 添加自动增长
116 
117 ALTER TABLE stu4 MODIFY id INT AUTO_INCREMENT;

 

posted @ 2021-03-30 10:39  丁帅帅dss  阅读(57)  评论(0)    收藏  举报