MySQL运算符

MySQL运算符主要包括3大类:算数运算符、比较运算符和逻辑运算符。

算数运算符

加“+”,减“-”,乘“*”,除“/”,求余“%”
在这里插入图片描述

比较运算符

运算符写法说明
=a=b如果a=b,则返回1,否则返回0
!= 或者 <>a!=b 或者a<>b如果a和b不相等则返回1,否则false返回0
<a<b如果a小于b则返回1,否则返回0
>a>b如果a大于b则返回1,否则返回0
<=a<=b如果a<=b则返回1,否则返回0
>=a>=b如果a>=b则返回1,否则返回0

in 或者 not in

  • in用来判断某个列的取值是否为指定的值,指定的指定的值是离散的值,不是连续的值
    例如:
    select * from tb_user where age in/not in(20,25,28);
    select * from tb_user where name in('陈信宏','玛甜甜');

between 或者 and

  • 用于判断数据是否在**指定范围(连续)**内。
    例如:
    select * from tb_user where age>=20 and age<=30;
    select * from tb_user where age between 20 and 30;
    select * from tb_user where age not between 20 and 30;

like 或者 not like

  • 主要用于字符串类型数据的模糊查询,与通配符_和%一起用。
    select * from tb_user where name like/not like "陈%";

regexp是在mysql中针对字符串类型经行正则式判断,它也有not regexp。
<=> 如果两数相同返回1,否则返回0。
is null 或者 not null

  • 判断是否为空

逻辑运算符

逻辑运算符语法说明
&& 或者 anda and b 或者 a&&b逻辑与运算,如果a、b都问true则返回true,否则返回false。查询满足a和b的信息
ll或者 ora ll b 或者 a or b逻辑或运算,查询满足a或者满足b的信息
not 或者 !not a 或者 !a逻辑非,如果操作数为false则结构为true。查询不满足a的信息

注:distinct自动去除重复值,all显示所有数据

如果auto_increment到达上限时MySQL如何处理?
auto_incerement默认从1 开始,上限取决于列的数据类型。如果表中id列已经有指定的值,则max(id)+1

insert into tb_student(2147483646,"玛莎");
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2147483646,"玛莎")' at line 1
mysql> insert into tb_student(id,name) values(2147483646,"玛莎");
Query OK, 1 row affected (0.01 sec)

mysql> insert into tb_student(name) values("怪兽");
Query OK, 1 row affected (0.01 sec)

 select * from tb_student;
+------------+-----------+------+
| id         | name      | age  |
+------------+-----------+------+
|          1 | 陈信宏    |   18 |
| 2147483646 | 玛莎      | NULL |
| 2147483647 | 怪兽      | NULL |
+------------+-----------+------+
3 rows in set (0.00 sec)

mysql> insert into tb_student(name) values("冠佑");
ERROR 1062 (23000): Duplicate entry '2147483647' for key 'PRIMARY' -- 再次生成的了最大值2147483647作为主键,主键冲突

删除怪兽后,数据库系统仍旧会记录已经生成过的数据,不会从新开始,而是玛莎id值的基础上继续加1。
如果需要重新开始生成连续整数,只能将表中所有数据删除。
删除整表:
truncate table tb_student; --删除整表数据,不能用delete from
建议:因为auto_increment生成数据是从1开始,不会出现负整数,所以一般建议使用bigint unsigned

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值