一、增删改数据
1、增加数据:
-- 插入所有字段。一定依次按顺序插入
INSERT INTO student VALUES(1,'张三','男',20);
-- 插入部分字段
INSERT INTO student(id,NAME) VALUES(2,'李四');
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、查询时添加常量列:
需求: 在查询student表时添加一个班级列,内容为“java就业班”
SELECT id,NAME,gender,age,'java就业班' AS '年级' FROM student;
4、查询时合并列:
-- 需求: 查询每个学生的servlet和jsp的总成绩
SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;
-- 注意:合并列只能合并数值类型的字段
SELECT id,(NAME+servlet) FROM student;
5、查询时去除重复记录:
-- 需求: 查询学生的性别 男 女
SELECT DISTINCT gender FROM student;
-- 另一种语法
SELECT DISTINCT(gender) FROM student;
-- 需求: 查询学生所在的地区
SELECT DISTINCT address FROM student;
6、条件查询
1)逻辑条件: and(与) or(或)
2)比较条件: ><>= <= = <>(不等于)between and (等价于>= 且 <=)
3)判空条件:is null / is not null
-- null:表示没有值
-- 空字符串:有值的,但是值是空字符串
4) 模糊条件:like
-- 通常使用以下替换标记:
% : 表示任意个字符
_ : 表示一个字符
需求: 询姓‘张’的学生
SELECT * FROM student WHERE NAME LIKE '张%';
需求: 查询姓‘李’,且姓名只有两个字的学生
SELECT * FROM student WHERE NAME LIKE '李_';
7、聚合查询
常用的聚合函数:
sum():求和函数
avg():求平均数
max():求最大值
min():求最小值
count():统计有多少 注意:count()函数统计的数量不包含null的数据 使用count统计表的记录数,要使用不包含null值的字段
8、分页查询
limit 起始行,查询几行:
起始行从0开始
-- 分页:当前页 每页显示多少条
-- 分页查询当前页的数据的sql: SELECT * FROM student LIMIT (当前页-1)*每页显示多少条,每页显示多少条
9、查询排序
语法 :order by 字段 asc/desc
asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
desc: 倒序,反序。数值:递减,字母:自然反序(z-a)