查询结果是存储在内存中的虚拟结果集,并不是数据库中真实存在的表,所以查询不会修改数据库表中的记录
全表查询:select * from 表名;
查询指定列:select 字段1[,字段2] from 表名;
别名的设置:select 字段名 [as] 列别名 from 原表名 [[as]表别名];
命名规则:字符(中文/英文)、数字和_,当别名中又空格或为纯数字时需要加引号
查询不重复的记录:select distinct 字段名[,字段名2,……]from 表名;
多个字段去重时,distinct关键字必须位于第一个字段前
多个字段完全一样的情况下,才会过滤
条件查询:select 字段1[,字段2,…] from 表名 where 筛选条件;
空值查询:select 字段1[,字段2,…] from 表名 where 空值字段 is [not] null;
null空值表示没有存储任何数据,所以它不属于任何一种数据类型,跟任何类型的数据进行运算结果也都为null
模糊查询:select 字段1[,字段2,…]from 表名 where 字段 [not] like 通配符;
模糊查询只能用于字符串类型的字段
百分号(%)通配符:匹配0个或多个字符
下划线(_)通配符:匹配一个字符
查询结果排序:select 字段1[,字段2,…] from 表名 order by 字段1[排序方向,字段2排序方向,…];
指定排序方向:asc升序,desc降序(没有指定排序方向时,默认是asc升序)
多字段排序时,先按第一个字段排序,第一个字段值相同再按第二个字段排序
如果第一个字段值都是唯一的,则不会按照第二个字段排序
限制查询结果数量:select 字段1[,字段2,…] from 表名 limit [偏移量,] 行数;
limit接受一个或两个数字参数,参数必须是一个整数常量
第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目
如果只给定一个参数,表示返回最大的记录行数目
初始记录行的偏移量是0(不是1)
在第一节基础上 更新了函数和执行顺序:实操了字符数函数、时间函数、字段截取函数、interval函数等,除最后顺序实操因未导入数据库,导致无法执行