查询语句
查询所有学生信息
SELECT * FROM stu;
添加数据
给指定列添加数据
INSERT INTO stu (id, name) VALUES (1, '张三');
给所有列添加数据
INSERT INTO stu (id, name, sex, birthday, score, email, tel, status) VALUES
(3, '天一', '男', '2002-03-02', 79.95, '75767247@qq.com', '13746363', 3),
(3, '天一', '男', '2003-05-18', 99.99, '567334247@qq.com', '12463563', 3),
(3, '天一', '男', '2003-05-18', 99.99, '567334247@qq.com', '12463563', 3);
修改数据
更新学生性别
UPDATE stu SET sex = '女' WHERE name = '张三';
更新学生生日和分数
UPDATE stu SET birthday = '1999-12-12', score = 66.66 WHERE name = '张三';
删除数据
删除姓名为张三的学生记录
DELETE FROM stu WHERE name = '张三';
查询语句
基础查询
查询姓名和年龄两列
SELECT name, age FROM stu;
查询所有列的数据
SELECT * FROM stu;
查询地址信息
SELECT address FROM stu;
去除重复记录
SELECT DISTINCT address FROM stu;
查询姓名、数学成绩和英语成绩(起别名)
SELECT name, math AS 数学成绩, english AS 英语成绩 FROM stu;
条件查询
查询年龄大于20岁的学员信息
SELECT * FROM stu WHERE age > 20;
查询年龄大于等于20岁的学员信息
SELECT * FROM stu WHERE age >= 20;
查询年龄大于等于20岁并且小于等于30岁的学员信息
SELECT * FROM stu WHERE age BETWEEN 20 AND 30;
查询入学日期在’1998-09-01’到’1999-09-01’之间的学员信息
SELECT * FROM stu WHERE hire_date BETWEEN '1998-09-01' AND '1999-09-01';
查询年龄等于18岁的学员信息
SELECT * FROM stu WHERE age = 18;
查询年龄不等于18岁的学员信息
SELECT * FROM stu WHERE age != 18;
查询年龄等于18岁或者等于20岁或者等于22岁的学员信息
SELECT * FROM stu WHERE age IN (18, 20, 22);
查询英语成绩为NULL的学员信息
SELECT * FROM stu WHERE english IS NULL;
模糊查询
查询姓’马’的学员信息
SELECT * FROM stu WHERE name LIKE '马%';
查询第二个子是’花’的学员信息
SELECT * FROM stu WHERE name LIKE '_花%';
查询名字中包含’德’的学员信息
SELECT * FROM stu WHERE name LIKE '%德%';
排序查询
按年龄升序排列学生信息
SELECT * FROM stu ORDER BY age ASC;
按数学成绩降序排列学生信息
SELECT * FROM stu ORDER BY math DESC;
按数学成绩降序排列,如果数学成绩一样则按英语成绩升序排列
SELECT * FROM stu ORDER BY math DESC, english ASC;
聚合函数是用于在数据库中进行统计和计算的函数。下面是一些常用的聚合函数的使用示例:
1. 统计班级一共有多少个学生:
```sql
select count(id) from stu;
或者
select count(*) from stu;
- 查询数学成绩的最高分:
select max(math) from stu;
- 查询数学成绩的最低分:
select min(math) from stu;
- 查询数学成绩的总分:
select sum(math) from stu;
- 查询数学成绩的平均分:
select avg(math) from stu;
- 查询英语成绩的最低分:
select min(english) from stu;
以上示例中的stu
是一个表名,id
、math
和english
是该表中的列名。
分组查询 GROUP BY
1.查询男同学和女同学各自的数学平均分
select sex, avg(math) from stu group by sex;
2.查询男同学和女同学各自的数学平均分,以及各自人数
select sex, avg(math), count(*) from stu group by sex;
3.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参加分组
select sex, avg(math), count(*) from stu where math > 70 group by sex;
4.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组。分组之后人数大于2
select sex, avg(math), count(*) from stu where math > 70 group by sex having count(*) > 2;
分页查询 : select 字段列表 from 表名 limit 起始索引,查询条目数
1.从0开始查询,查询3条数据
select * from stu limit 0, 3;
2.每页显示3条数据,查询第1页数据
select * from stu limit 0, 3;
3.每页显示3条数据,查询第2页数据
select * from stu limit 3, 3;
4.每页显示3条数据,查询第3页数据
select * from stu limit 6, 3;