MySQL表的增删改查(2)


在这里面有个面试题:

1.为什么别名不能使用在where中,但是可以使用在order by中?

MySQL执行顺序:
1.from阶段;
2.where阶段;
3.group by阶段;(分组查询)
4.having阶段;(分组查询条件)
5.select阶段;
6.order by阶段;
7.limit阶段;(分页查询)
例:
在这里插入图片描述

别名是产生在第五个查询阶段的。
别名有了之后,后面的执行阶段才能使用,也就是说别名只能是步骤5之后的查询才能被使用
答案:别名使用是在步骤5的,where阶段在第二阶段,不能够使用;order by 阶段在第六阶段,所以可以使用。
2.AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
例:
满足以下条件的才能成为经理
1.年龄小于等于30或者生日在2000以后;
2.密码为123;
不加():结果与预期结果不想符
在这里插入图片描述
这条查询语句的意思是:
1.生日在2000以后并且密码为123;
2.或者年龄小于等于30。
加();
在这里插入图片描述

1.查询NULL

1.使用is null;(建议使用)
在这里插入图片描述
2.使用<=> null;
在这里插入图片描述

3.查询不为null的

使用is not null;
在这里插入图片描述

2.范围查询(查询范围包括a0和a1)(and)

between a0 and a1;

在这里插入图片描述
最好使用between a0 and a1;
在这里插入图片描述

3.in()查询

在这里插入图片描述

4.like模糊查询

where 字段名 like ‘X%’;
where 字段名 like ‘X_’;
%可以匹配任意字符(多个)
_匹配一个
可以用在查询的任意一个位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.分页查询(limit)

查询一个页面上的部分信息(截取了部分行信息)
limit限制查询最多300条,如果数据量不够,那么查询也不会报错
语法:

-- 起始下标为 0


1-- 从 0 开始,筛选 n 条结果
SELECT ... FROMtable_name [WHERE ...] [ORDERBY ...] LIMIT n;
2-- 从 s 开始,筛选 n 条结果
SELECT ... FROMtable_name [WHERE ...] [ORDERBY ...] LIMIT s, n;
3-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROMtable_name [WHERE ...] [ORDERBY ...] LIMIT n OFFSET s;

3中的offset表示偏移,跳过
在这里插入图片描述
limit 1 offset 2:表示查询的是第三条。
在这里插入图片描述
在这里插入图片描述
limit 4,2;和limit 2 offset 4;是相等的.
在这里插入图片描述

**

6.修改(update)

**
语法:

update 表名 set 修改内容;

6.1全部数据修改:(很危险,一般不用)

update world set age = 18;

在这里插入图片描述

6.2部分数据修改

update world set age = 18 where name = '姬如雪';

在这里插入图片描述

6.3 部分数据多列修改

update world set age = 18,day = 2004 where name = '姬如雪';

在这里插入图片描述

6.4表达式的修改

update world set age = age+1;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值