Mysql中where子句中的判断语句

发布网友 发布时间:2022-04-24 06:36

我来回答

3个回答

懂视网 时间:2022-05-02 06:25

一、字符型
① CHAR(N):固定N个字符长度的字符串,如果长度不够自动空格补齐; N的范围 0~255
② VARCHAR(N): 存储可变长度的字符串,最常用
③ TEXT: 存储可变长度的字符串,(常用于发布文章等大段内容)
④ TINYTEXT:0~2^8-1 *10
⑤ MEDIUMTEXT: 0~2^24-1 *10^3;
⑥ LONGTEXT: 0~2^32-1 * 10^4;
二、整形:
① TINYINT: 无符号0~2^8-1 有符号 -2^7 ~ 2^7-1;
② SMALLINT: 无符号0~2^16-1 有符号 -2^15 ~ 2^15-1;
③ MEDIUMINT: 无符号0~2^24-1 有符号 -2^23 ~ 2^23-1;
④ INT: 无符号0~2^32-1 有符号 -2^31 ~ 2^31-1; 最常用
⑤ BIGINT: 无符号0~2^-1 有符号 -2^63 ~ 2^63-1;
三、浮点型
① FLOAT: 可以精确到小数点后7位有效数字
② DOUBLE: 可以精确到小数点后15-16位有效数字
四、日期时间数据类型
注意:由于时间存储使用字符串或者时间戳存储,所以数据库中几乎不用日期类型
① DATE(expr):存储日期和时间数据
② `TIMESTAMP`(expr) :比DATE更准确;

[常用where条件判断]    关系运算>,<,=,>=,<=

逻辑运算 NOT AND OR
ISNUL(字段)检测是否为空
SELECT*FROM tb1 WHERE ISNULL(age);所有年龄为空的用户
 BETWEEN..AND..介于俩个值之间
 SELECT*FROM tb1 WHERE ISNULL age BETWEEN 10 AND 14;相当于 age>=10 AND age<=14;
 in 在某些值之间的数据
 SELECT*FROM tb1 WHERE id in(1,2,3,4,5);
 like 相似匹配
 ①相似匹配时使用%表示任意字符个数(0到多个);
 SELECT*FROM tb1 WHERE username LIKE "张%";用张开头 "%张";用张结尾;"%张%",任意位置包含张
 相似匹配时,使用_表示字符的个数;
 SELECT*FROM tb1 WHERE username LIKE "_二%";第二个字是二的;
 7.EXISTS 子查询语句:如果子查询语句与返回数据>=1行,则EXISTS返回true;否则返回false;
 如果tb2返回至少一行数据,则条件成立
8.ALL (子查询),子查询返回的数据,需要全部满足,才能
用户名不能等于,子查询返回用户名列表中的任意一个
9.ANY(子查询) 子查询返回的数据,满足其中一个,即可成立
 用户名 等于 子查询返回用户名列表中的任意一个;
 删除表中数据

MYSQL数据类型和where条件判断

标签:str   日期   需要   日期类型   nbsp   常见   varchar   sts   tiny   

热心网友 时间:2022-05-02 03:33

其实mysql中用的是 and 或 or 关键字,如下,
select * from tab where (name=‘张三’ or name=‘李四’)and age <>'';
希望对你有帮助

热心网友 时间:2022-05-02 04:51

select case when

去百度下这个语句用法

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com