CRUD:
C: create,新增数据
R: retrieve查询数据
U: update 修改数据
D: delete 删除数据
一.新增(create):
语法:
insert into + 表名 {column,column...}values (value_list,value_list...).
1.单行数据全列插入:
value_list 数量必须和定义表的列的数量及顺序一致
EX:
在学生表(id,name)里新增学生:阿三。
insert into student values (1,'阿三');
2.单行数据指定列插入:
, value_list 数量必须和指定列数量及顺序一致
insert into student(id,name) values (1,'阿三');
3. 多行数据+指定列插入:
insert into student(id,name) values (1,'张三'), (2.'李四');
二.查询(retrieve):
2.1 全列查询:
select * from + 表名;
2.2 指定列查询:
select + 指定列 + from + 表名
2.3、别名:为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称
语法:select column [ as ] 新名字 [...] from + 表名;
ex1:
select id, name, chinese + math + english 总分 from exam;
2.4: 去重 distinct :
定义: 对某列数据进行去重
语法:
select distinct + 指定列 from + 表名;
2.6: 排序 (order by):
select + 指定列 + from + 表名 + order by + 要排序的列;
注:
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
2.7. 条件查询(where) :
ex1: 查询英语成绩不及格的同学的英语成绩:
select name,english from exam where english <60;
where 后可能会用到的查询:
范围查询:
1. between... and ...(某个区间)
2. in (自由指定)
模糊查询(like):
-- % 匹配任意多个(包括 0 个)字符
SELECT name FROM exam_result WHERE name LIKE ' 孙 %' ; -- 匹配到孙悟空、孙权
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE ' 孙 _' ; -- 匹配孙权
2.8 分页查询(limit):
-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果:
select + 指定列 + from + 表名 (where...)+ (order by) limit n
-- 从 s 开始,筛选 n 条结果
select + 指定列 + from + 表名 (where...)+ (order by) limit s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
select + 指定列 + from + 表名 (where...)+ (order by) limit n offerset s
三. 修改(update):
语法:
update + 表 + set + 待修改的列 = ....;
四. 删除(delete):
delete from + 表名 + (where ...) + (order by...)+ (limit...)