1、“增”——添加数据
第一种
INSERT INTO student(id,name,grade)
VALUES(1,'zhangshan',98);
第二种
INSERT INTO student
SET id=4,name='zhaoliu',grade=72;
同时添加多条数据
INSERT INTO student VALUES
(5,‘lilei’,99),
(6,'hanmeimei',87),
(8,'poly',76);
2、“删”——删除数据
2.1 删除部分数据
DELETE FROM student
WHERE id=7;
2.2 删除全部数据
DELETE FROM student;
2.2 删除全部数据的另一种方法——TRUNCATE
TRUNCATE TABLE student;
2.3delete和TRUNCATE的区别
(1)DELETE 后面可以跟WHERE子句指定删除部分记录,TRUNCATE只能删除整个表的所有记录
(2)使用TRUNCATE语句删除记录后,新添加的记录时,自动增长字段会默认从1开始,而使用DELETE删除记录后,新添加记录时,自动增长字段会从删除时该字段的的最大值加1开始计算。
3、“改”——更新数据
3.1 UPDATE 更新部分数据
UPDATE student
SET name=‘caocao’,grade=50
WHERE id=1;
3.2 UPDATE 更新全部数据(不使用where字句就是修改全部)
UPDATE student
SET grade=80;
4、“查”——之单表查询
4.1 简单查询
4.1.1 查询所有字段
//查询字段顺序可变
SELECT id,name,grade ,gender
FROM student2;
//或者
SELECT *
FROM student2;
4.1.3 查询指定的部分字段
SELECT name,gender FROM student2;
4.2 按条件查询
4.2.1 带关系运算符的查询
SELECT id,name FROM student2 WHERE id=4;
4.2.2 带 IN 关键字的查询:IN关键字用于判断某个字段的值是否在指定集合中
SELECT * FROM student2 WHERE id IN (1,2,3);
4.2.3 带 BETWEEN AND 关键字的查询:BETWEEN AND 用于判断某个字段的值是否在指定范围之内
SELECT id,name FROM students WHERE id BETWEEN 2 AND 5;
4.2.4 空值查询
//查询gender不为空的数据
SELECT * FROM student2 WHERE gender IS NULL;
4.2.5 带 DISTINCT 关键字的查询:使用DISTINCT关键字来过滤重复的值,只保留一个值。
SELECT DISTINCT gender FROM student2;
4.2.6 带 LIKE 关键字的查询
(1)百分号(%)通配符:匹配任意长度的字符串,包括空字符串。
(2)下划线(_)通配符: 下划线通配符只匹配单个字符,
SELECT id,name FROM student2 WHERE name NOT LIKE '%y%';
SELECT * FROM student2 WHERE name LIKE 'wu_ong';
4.2.7 带 AND 关键字的多条件查询
SELECT id,name FROM student2 WHERE id<5 AND gender='女';
结果:
4.2.8 带 OR 关键字的多条件查询
SELECT id,name ,gender FROM student2 WHERE id<3 OR gender='女';
4.2.9 OR 和 AND 一起使用的情况
OR 和 AND 一起使用的时候,AND 的优先级高于 OR,因此二者一起使用时,会先运算 AND 两边的表达式,再运算 OR 两边的表达式。
查询student2表中gender值为“女”或者gender值为“男”并且grade字段值为100的人的记录
SELECT * FROM student2 WHERE gender='女' OR gender='男' AND grade=100;
4.3 高级查询
4.3.1 聚合函数
(1)COUNT()函数:统计记录的条数
SELECT COUNT(*) FROM student2;
(2)SUM()函数:求出表中某个字段所有值的总和
SELECT COUNT(*) FROM student2;
(3)AVG()函数:求出表中某个字段所有值的平均值
SELECT AVG(grade) FROM student2;
(4)MAX()函数:求出表中某个字段所有值的最大值
SELECT MAX(grade) FROM student2;
(5)MIN()函数:求出表中某个字段所有值的最小值
SELECT MIN(grade) FROM student2;
4.3.2 对查询结果进行排序
ASC表示升序排列,DESC 表示降序排列,默认情况是升序排列。
SELECT * FROM student2
ORDER BY grade;
4.3.3 分组查询
SELECT * FROM student2 GROUP BY gender;
HAVING关键字和WHERE关键字的作用相同,区别在于HAVING 关键字可以跟聚合函数,而WHERE 关键字不能。通常HAVING 关键字都和GROUP BY一起使用,用于对分组后的结果进行过滤。
SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;