一.C(Create)创建新增--插入
语法:insert into 表名 [(列名[,列名]...)] values (值[,值]);
指定了多少列名,就需要指定多少值,值与列名一一对应
不指定列名,值的顺序与个数和表中所有的列一一对应
注:中括号内的内容是可以省略的
先创建student表
接下来往表中插入数据
上面是所有的插入方式
1.指定列插入 2.全列插入 3.不用写列明的全列插入
插入后的表
二.R(Read)读取--查询
a.全列查询
语法:select * from 表名;(没加限制会把所有的数据都查询出来) *是代表所有的意思
b.指定列查询
语法:select 列名[,列名]... from 表名;
c.列为表达式的查询
语法:select 列名/表达式 [as] 别名 from 表名;
拿下面的成绩表举例exam
d.别名查询
语法:select 列名/表达式 [as] 别名 from 表名;
as 可以省略 别名如果有空格,需要单引号引起来
e.去重查询
语法:select distinct 列名[,列名]... from 表名;
如果列名有多个,去重时只有所有的列都相等,才会被判断为相等,才会被判定为重复,才会去重
由上表可知王五和钱七的语文成绩是重复的
可见只有一个70
如果添加name那么不会去重,因为必须一行数据全部相同才会去重
f.排序查询
语法:select 列名[,列名]... from 表名 order by 列名 asc(升序) | desc(降序);
升序排列,如果不指定后面的排序规则(asc, desc)则默认为升序
降序排序
如果id为null那么null将是最小的
g.条件查询
语法:select 列名[,列名]... from 表名 where 列名/表达式 比较 | 逻辑运算符 order by 列名 asc | desc
h.区间查询
语法:select 列名[,列名]... from 表名 where 列名 between 开始条件 and 结束条件;
betwee... and... 等价于 开始条件 <= 列的值 <= 结束条件
等价于↓
i.模糊查询
语法:select 列名[,列名] from 表明 where 列名 like '%值_'; (%是匹配任意字符而_ 是匹配单个字符)
j.分页查询
语法:1.select * from 表明 where 条件 order by 列名 asc | desc limit num;(查询前num条记录)
2.select * from 表明 where 条件 order by 列名 asc | desc limit num start ,num;(从start条开始,向后查num条)
3..select * from 表明 where 条件 order by 列名 asc | desc limit num offset start;(从第start条开始,向后查num条)
三.U(Update)更新
语法:update 表名 set 列名 = 值 where 条件 order by 子句 limit num;(如果不指定条件和limit的数量就会将整个表的列更新)
将下表中的语文成绩+10
将王五的数学成绩加10
四.D(Delete)删除
语法:delete from 表明 where 条件 order by 列名 limit num;(如果不指定条件和limit的数量就会删除整个表中的数据).
删除成绩表的后两条数据
删除张三的成绩
更新和删除操作要谨慎使用