MySQL白菜教程(Level 2)

1、比较运算符

比较运算符用于比较运算,判断逻辑是否成立
比较运算符的使用如下:

A operator B

其中 operator 是比较运算符,用于对 A 和 B 进行比较运算。
常用的比较运算符有 =(等于) 、!=(不等于)、 <>(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)

比较运算符常常与 WHERE 在一起使用。WHERE 用于逻辑判断,WHERE 后面写判断的条件,满足条件的语句会被筛选出来
WHERE 比较运算符的使用如下:

where A operator B

2、逻辑运算符

  • 使用 AND 连接多条件

使用 SQL 中的逻辑运算符AND可以将WHERE子句中将两个或两个以上的条件结合起来,其结果是满足 AND连接的所有条件的数据

语法:

select * from table_name where condition1 and condition2;

其中:
condition 为设置的条件,最后返回的结果应为满足 condition1 和 condition2 的数据

  • 使用 OR 连接多个条件
    使用 SQL 中的逻辑运算符OR 关键字,只要记录满足任意一个条件,就会被查询出来

语法:

select * from table_name where condition1 or condition2;

其中:
condition1 和 condition2 为设置的条件,最后返回的结果应满足 condition1 或 condition2 的数据

  • 使用 NOT 过滤不满足条件的数据
    使用 SQL 中的逻辑运算符 NOT 可以过滤掉 WHERE 子句中不满足条件的结果集

语法:

select * from table_name where not condition;

其中:
condition 为设置的条件,最后返回的结果应不满足 condition


3、特殊条件

  • 使用 IN 查询多条件
    当我们需要查询单个表条件过多时,就会用多个 OR 连接或者嵌套,这会比较麻烦,现在我们有 IN 能更方便的解决这一问题

语法:

select * from table_name where column_name in (value1, value2, ...);
  • 使用 NOT IN 排除
    这里的 IN 也可以与逻辑运算符 NOT并用,组成 NOT IN,表示不在集合中的所有结果

语法:

select * from table_name where column_name not in (value1, value2, ...);
  • 使用 BETWEEN AND 查询两值间的数据范围
    BETWEEN AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期

语法:

select * from table_name where column_name between value and value;
  • 使用 IS NULL 查询空数据
    NULL 值代表遗漏的未知数据。默认的,表的列可以存放NULL
    如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录
    这意味着该字段将以NULL 值保存
    NULL 用作未知的或不适用的值的占位符
    注释:
    无法比较 NULL 和 0;它们是不等价的
    无法使用比较运算符来测试 NULL 值,比如 =、!= 或 <>
    我们必须使用 IS NULL 和 IS NOT NULL操作符

语法:

select * from table_name where column_name is null;
select * from table_name where column_name is not null;
  • 使用 LIKE 模糊查询
    LIKE 更准确规范得解决文本比较问题,类似我们平时用到的搜索

语法:

select * from table_name where column_name like value;

对于SQL 中的通配符有以下类型:

通配符 描述
% 替代0个或多个字符
_ 代替一个字符
[charlist] 字符列中的任何单一字符
或 [!charlist] 不在字符列中的任何单一字符
  • 使用 ORDER BY 对数据进行排序
    当我们想要查询具有明确排序的数据时,ORDER BY 关键字进行排序
    ORDER BY关键字用于对结果集按照一个列或者多个列进行排序,其具有 ASC(升序)和 DESC(降序)两个关键字,且默认按照升序排列

ASC :按升序排列,ORDER BY 默认按照升序对记录进行排序,因此升序的关键字 ASC 可以省去不写

DESC:按降序排列,如果需要按照降序对记录进行排序,可以使用 DESC 关键字

语法:

select * from table_name order by column_name edsc|asc;
select * from table_name order by column_name, column_name edsc|asc;
  • 使用 LIMIT 限制输出行数
    LIMIT子句用于 SELECT 中,对输出结果集的行数进行约束,LIMIT 接收2个参数 offsetcount,两个参数都是整型数字,但通常只用一个

语法:

select column_name from table_name limit offset, count;

其中:
offset :是返回集的初始标注,起始点是0,不是1哦
count :制定返回的数量

你可能感兴趣的:(MySQL白菜教程(Level 2))