1、数据管理html
一、增长数据jsp
INSERT INTO student VALUES(1,'张三','男',20);
-- 插入全部字段。必定依次按顺序插入
-- 注意不能少或多字段值
如只须要插入部分字段函数
INSERT INTO student(id,NAME) VALUES(2,'李四');
--只添加id 和NAME两列内容,也要依此按顺序
二、修改数据spa
UPDATE student SET gender='男' WHERE id=1;
-- 修改id为1的学生,修改性别为男
修改多个字段code
UPDATE student SET gender='男',age=30 WHERE id=2;
-- 修改多个字段,注意: SET 字段名=值,字段名=值
三、删除数据htm
DELETE FROM student WHERE id=2;
-- 带条件的删除,删除id=2的行
DELETE FROM student; --不带条件,删除student全部数据
另外一种方式blog
-- delete from: 能够全表删除 排序
1)能够带条件删除 事务
2)只能删除表的数据,不能删除表的约束 字符串
3)使用delete from删除的数据能够回滚(事务)
-- truncate table: 能够全表删除
1)不能带条件删除
2)便可以删除表的数据,也能够删除表的约束
3)使用truncate table删除的数据不能回滚
四、查询数据
1>查询全部列
SELECT * FROM student;
2>查询指定列
SELECT id,NAME,gender FROM student;
3>查询时添加常量
给查询字段添加常量方便观看,对原表格没有影响
SELECT pro_name AS '产品名称',price FROM product;
--原显示pro_name 和price,如今换成:产品名称 和 price
4>查询时合并列
合并列只能合并相同类型且是数值类型的字段
SELECT sname,(servlet+jsp+html) AS '总成绩'FROM student;
5>查询时去除重复记录
-- 需求: 查询学生的性别 男 女
SELECT DISTINCT sex FROM student;
-- 另外一种语法(是否有括号没有区别)
SELECT DISTINCT(sex) FROM student;
6>条件查询
1、逻辑条件: and(与) or(或)
SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集 SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集
二、比较条件: > < >= <= = <>(不等于) between and (等价于>= 且 <=)
SELECT * FROM student WHERE jsp>=75 AND jsp<=90; --等同于between and SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后) --查询不等于男的学生 SELECT * FROM student WHERE gender<>'男';
三、判空条件
null,是空,里面没有内容
'' 是空字符串,里面有内容,内容是空字符串
is null 是空
is not null 不是空
='' 是空字符串
<>'' 不是空字符串
-- 判断null SELECT * FROM student WHERE address IS NULL ; SELECT * FROM student WHERE address IS NOT NULL ; -- 判断空字符串 SELECT * FROM student WHERE address=''; --查询不等于空的学生 SELECT * FROM student WHERE address<>'';
查询有地址的学生(不包括null和空字符串)
SELECT * FROM student WHERE address IS NOT NULL AND address<>'';
四、模糊条件:like
-- % : 表示任意个字符
--%在前表示前面能够有字符,%在后表示后面能够有字符
--查询含有'索尼'字符的数据 SELECT * FROM product WHERE pro_name LIKE '%索尼%';
-- _ : 表示一个字符
-- 需求: 查询姓‘李’,且姓名只有两个字的学生 SELECT * FROM student WHERE NAME LIKE '李_';
七、聚合查询
-- 经常使用的聚合函数: sum() 总和, avg() 平均分, max() 最大值, min()最小值, count()统计数量
-- 需求: 查询学生的servlet的平均分 SELECT AVG(servlet) AS 'servlet的平均分' FROM student;
SELECT COUNT(*) FROM student; --查询共有多少学生
-- 注意:count()函数统计的数量不包含null的数据
-- 使用count统计表的记录数,要使用不包含null值的字段
八、分页查询
语法:limit 起始行,查询几行,起始行从0开始
SELECT * FROM student LIMIT 0,2; -- 从第一行开始,显示两行
九、查询排序
语法 :order by 字段 asc/desc,默认顺序
-- asc: 顺序,正序。数值:递增,字母:天然顺序(a-z)
-- desc: 倒序,反序。数值:递减,字母:天然反序(z-a)
SELECT * FROM student ORDER BY id; -- 默认正序123 SELECT * FROM student ORDER BY id DESC;-- 反序321
多个排序条件
SELECT * FROM student ORDER BY servlet ASC,jsp DESC -- 按照servlet为主顺序,正序排列,当servlet数值相同时,后面的jsp倒序排列其余的JSP不按照倒序排列
十、分组查询 (group by)
SELECT gender,COUNT(*) FROM student GROUP BY gender --查询男女的人数
分组查询后筛选
-- 需求: 查询总人数大于2的性别 SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2; -- 注意: 分组以前条件使用where关键字,分组以后条件使用having关键字