mysql基本操作(三)-多表记录操作和运算符优先级

优先级顺序运算符
1interval
2binary , collate
3
4-(一元减号), ~
5^
6*, / , DIV , % , MOD
7-,+
8<< , >>
9&
10|
11= , <=> , >= , > , <= , < , <> , != , IS , LIKE , REGEXP , IN
12BETWEEN , CASE , WHEN , THEN , ELSE
13NOT
14&& , AND
15|| , OR , XOR
16:=

多表查询:

student表

这里写图片描述

class表

这里写图片描述

1 内链接查询:select 字段名列表 from table_name (inner) join table_name2 on table_name.字段名=table_name2.字段;

这里写图片描述

2 重命名:发1 表名 as 重命名; 发2 from 表名 重命名;

这里写图片描述

3 左外连接查询:select 字段名列表 from 表1 left(right) (outer可省略) join 表2 on 表1.字段=表2.字段;

这里写图片描述

4 通过比较运算符查询(=,!=,>=,<=,<>(不能用于null),>,<):select 字段名列表 from 表1 where 字段名 = (加any可以查询多行)(select 字段名 from 表2 where 条件);

这里写图片描述

5 通过in查询:select 字段名列表 fron 表1 where 字段名 in (select 字段名 from 表2);

这里写图片描述

6 通过exists查询:select 字段名列表 from 表1 where (not) exists (select 字段名列表 from 表2 where 条件);

这里写图片描述

7 通过all和any查询:select 字段名列表 from 表1 where 字段名 >= (any)all(select 字段名 from 表2);

这里写图片描述

8 正则表达式查询:

8.1查询以字符a开头或以f结尾的记录:select 字段名列表 from 表 where 字段名 regexp ‘^a’ or 字段名 regexp ‘f$’;

这里写图片描述

8.2 查询包含b,c,z字母的任意一个的记录:select 字段名列表 from 表 where 字段名 regexp ‘[bcz]’;([abd-y]表示a,b,d到y的字符)

这里写图片描述

8.3 匹配指定字符串:select 字段名列表 from 表 where 字段名 regexp ‘afn|fsf’;

这里写图片描述

8.4 “.”代替任意一个字符匹配:select 字段名列表 from 表 where 字段名 regexp ‘a.n’;

这里写图片描述

8.5 *和+匹配多个该符合前的字符:select 字段名列表 from 表 where 字段名 regexp ‘a*n’; * 可表示0个字符 “+”至少表示一个字符

这里写图片描述

8.6 使用{M} {M,N}匹配出现至少M次的,最多N次的记录:select 字段名列表 from 表 where 字段名 regexp ‘as{1}’;

这里写图片描述

9 将表1数据插入表2:insert into 表1(字段名列表) select 字段名列表 from 表2 where 条件;

10 update 更新记录:update 表名 set 字段名 = 更新后内容 where 条件;

这里写图片描述

11 删除数据:delete from 表名 where 条件;

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值