MySQL中的CRUD操作( Create, Retrieve,Update,Delete)
1. 新增(Create)
1》全列插入
insert into [表名] values (对应列数据);
2》指定列插入
insert into [表名] (若干指定列) values (对应列数据)
没有被插入的列默认为null
3》一次插入多条记录
insert into [表名] values (对应列数据) ,(对应列数据)。。。
2.查询(Retrieve)
1》全列查询
select * from [表名];
2》指定列查询
select [列名] from [表名];
3》查询字段为表达式
a.查找所有同学的姓名和总成绩
b.查询所有同学语文成绩,并加10分
4》查询字段指定别名
5》去重
使用distinct的时候,必须都把列名放到distinct 之后
6》排序(order by 指定针对哪个列进行排序)****(升序asc,降序desc)
a.查询所有同学信息并按语文成绩升序排序
b.查询所有同学信息并按数学成绩降序排序
c.查询所有同学信息并按总成绩降序排序
d.先把所有同学按照语文降序排,再按照数学降序排,再按照英语降序排(列越靠前,优先级越高)
null被默认为是最小的
7》条件查询
1.>, >=, <, <= 大于,大于等于,小于,小于等于
2. = 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
3. <=> 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
4. !=, <> 不等于
5. BETWEEN a0 AND a1
范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
6. IN (option, …) 如果是 option 中的任意一个,返回 TRUE(1)
7. IS NULL 是 NULL
8. IS NOT NULL 不是 NULL
9. LIKE
模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字
10. AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)
11. OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)
12. NOT 条件为 TRUE(1),结果为 FALSE(0)
===============================================
a.查询为Null的数据
b.查询英语不及格的数据
c.查询语文比英语好的同学信息
d.查询总分再200以下的同学信息
后面where的表达式不能使用指定的名称,仍需最开始的三门列表名相加。
e.查询语文和英语都大于80的同学信息
f.查询语文大于80或者英语大于80的同学信息
and和or同时使用时,推荐大家还是加上括号
g.查询语文成绩再【80,90】之间同学信息
再MySQL中,null和任何数进行比较和算术运算,值也都是Null
h.查询数学成绩是78.9的或者78.2的
i.查询所有姓孙同学成绩
下划线代表一个字符,所以此处应该加两个下划线
j.查询姓孙同学并且语文成绩大于60的同学信息
多个条件联合生效时,一般看哪个条件过滤的信息最多,就把这个放到最左边。
8》分页查找
再查找操作中,除了条件查找,剩下的查找都不应该再生产服务器上直接执行,最保险就是加上分页查找。
a.查找同学中总分最高的前三名
b.查找同学中总分最高的四到六名
limit后面代表要选几个数字,offset后面表示从哪个元素开始,不包括本身。
c.如果limit后面的数太大,也不会有啥错误,但offset后面数太大,就会为空
3.修改(Update)
update [表名] set [列名] = [修改的值], [列名] = [修改的值] where 子句;
a.把孙悟空的数学成绩改为80;
b.把露娜数学改为50,英语改为95;
c.把所有人的语文成绩减10分
d.把总成绩最低的三个人的数学成绩加10分
4. 删除(Delete)
之后会更新。。。。