增删改数据及数据查询
一.增删改数据
1.增加数据
INSERT INTO student VALUES(1,'张三','男',20)
2.修改数据
带条件的修改(推荐使用)
UPDATE student SET gender='男' WHERE id=1; -- 修改id为1的学生,修改性别为男
-- 修改多个字段,注意: SET 字段名=值,字段名=值,....
UPDATE student SET gender='男',age=30 WHERE id=2;
3.删除数据
DELETE FROM student WHERE id=2
另一种方式
-- delete from: 可以全表删除
1)可以带条件删除
2)只能删除表的数据,不能删除表的约束
3)使用delete from删除的数据可以回滚(事务)
-- truncate table: 可以全表删除
1)不能带条件删除
2)即可以删除表的数据,也可以删除表的约束
3)使用truncate table删除的数据不能回滚
TRUNCATE TABLE student;
二.查询数据
1.查询所有列
SELECT * FROM student;
2.查询指定列
SELECT id,NAME,gender FROM student;
3.查询时添加常量列
SELECT id,NAME,gender,age,'java就业班' AS '年级' FROM student;
4.查询时合并列
SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;
-- 注意:合并列只能合并数值类型的字段
SELECT id,(NAME+servlet) FROM student;
5.查询时去除重复记录
SELECT DISTINCT gender FROM student;
6.条件查询
SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集
SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集
SELECT * FROM student WHERE servlet>70;
SELECT * FROM student WHERE jsp>=75 AND jsp<=90;
7.聚合查询
常用的聚合函数: sum() avg() max() min() count()
8.分页查询(limit 起始行,查询几行)
-- 起始行从0开始
-- 分页:当前页 每页显示多少条
-- 分页查询当前页的数据的sql: SELECT * FROM student LIMIT (当前页-1)*每页显示多少条,每页显示多少条;
查询第1,2条记录(第1页的数据)
SELECT * FROM student LIMIT 0,2;
9.查询排序(order by )
-- 语法 :order by 字段 asc/desc
-- asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
-- desc: 倒序,反序。数值:递减,字母:自然反序(z-a)
10.分组查询
SELECT gender,COUNT(*) FROM student GROUP BY gender;
11.分组查询后筛选
注意: 分组之前条件使用where关键字,分组之后条件使用having关键字
SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;