常用数据库操作

– 删除stu表
drop table if exists stu;

– 创建stu表
CREATE TABLE stu (
id int, – 编号
name varchar(20), – 姓名
age int, – 年龄
sex varchar(5), – 性别
address varchar(100), – 地址
math double(5,2), – 数学成绩
english double(5,2), – 英语成绩
hire_date date – 入学时间
);

– 添加数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,‘马运’,55,‘男’,‘杭州’,66,78,‘1995-09-01’),
(2,‘马花疼’,45,‘女’,‘深圳’,98,87,‘1998-09-01’),
(3,‘马斯克’,55,‘男’,‘香港’,56,77,‘1999-09-02’),
(4,‘柳白’,20,‘女’,‘湖南’,76,65,‘1997-09-05’),
(5,‘柳青’,20,‘男’,‘湖南’,86,NULL,‘1998-09-01’),
(6,‘刘德花’,57,‘男’,‘香港’,99,99,‘1998-09-01’),
(7,‘张学右’,22,‘女’,‘香港’,99,99,‘1998-09-01’),
(8,‘德玛西亚’,18,‘男’,‘南京’,56,65,‘1994-09-02’);

– 查询表
select * from stu;

– 添加数据
INSERT into stu (id,name,age,sex,address,math,english,hire_date) VALUES (9,‘小冰’,34,‘男’,‘西安’,99,79,‘2018-09-01’);

– 修改数据;根据ID的值修改该用户的姓名
UPDATE stu SET name = ‘小豪’ WHERE id = 9;

– 删除数据
DELETE FROM stu WHERE id = 9;

– 去重复记录
SELECT DISTINCT address FROM stu;

– 给列表起别名(AS关键字可以省略)
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;-- 优先推荐
SELECT * FROM stu WHERE age >= 20 AND age<=30;
SELECT * FROM stu WHERE age >= 20 && age<=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; – 优先推荐
SELECT * FROM stu WHERE age != 18;

– 查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于22岁的学员信息
SELECT * FROM stu WHERE age in(18,20,22); – 优先推荐
SELECT * FROM stu WHERE age = 18 OR age = 20 OR age = 22;

– 查询英语成绩为 null的学员信息
SELECT * FROM stu WHERE english is null;

– 查询英语成绩不为 null的学员信息
SELECT * FROM stu WHERE english is NOT null;

– 模糊查询
– 查询姓’马’的学员信息
SELECT * FROM stu WHERE name LIKE ‘马%’;

– 查询第二个字是’花’的学员信息
SELECT * FROM stu WHERE name LIKE ‘_花%’;

– 查询名字中包含 ‘德’ 的学员信息
SELECT * FROM stu WHERE name LIKE ‘%德%’;

– 排序查询
– 升序查询
SELECT * FROM stu ORDER BY id ASC;

– 降序查询
SELECT * FROM stu ORDER BY id DESC;

– 聚合函数
– 统计班级一共有多少个学生
SELECT COUNT(id) 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;

– 分组查询
– 查询男同学和女同学各自的数学平均分
SELECT sex,AVG(math) FROM stu GROUP BY sex;

– 查询男同学和女同学各自的数学平均分,以及各自人数
SELECT sex,AVG(math),COUNT(*) FROM stu GROUP BY sex;

– 查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组
SELECT sex,AVG(math),COUNT(*) FROM stu WHERE math > 70 GROUP BY sex;

– 查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个的
SELECT sex,AVG(math),COUNT() FROM stu WHERE math > 70 GROUP BY sex HAVING COUNT() > 2;

– 分页查询
– 从0开始查询,查询3条数据
SELECT * FROM stu LIMIT 0,3;

– 每页显示3条数据,查询第1页数据
SELECT * FROM stu LIMIT 0,3;

– 每页显示3条数据,查询第2页数据
SELECT * FROM stu LIMIT 3,3;

– 每页显示3条数据,查询第3页数据
SELECT * FROM stu LIMIT 6,3;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值