1、查询数据(重点):
语法:
select 字段1,字段2 from 表名 [where Clause][LIMIT N][OFFSET M]
² 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
² SELECT 命令可以读取一条或者多条记录。
² 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
² 你可以使用 WHERE 语句来包含任何条件。
² 你可以使用 LIMIT 属性来设定返回的记录数。
² 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
4.1查询所有的列
select * from 表名;
4.2 使用别名
select 字段1 as ‘新名’,字段2 from 表名
4.3 where条件(逻辑and or 比较>、<、=、>=、<=、<>不等于)
² where子句中可以指定任何条件。
² where中可以使用and或or指定一个或多个条件。
² where可以运用于delete或者update命令中。
例如:select * from 表名 where 字段1>值 and 字段2<值;
使用主键来作为 WHERE 子句的条件查询是非常快速的。
4.4 where条件中between and
select * from 表名 where 字段 between 75 and 90;
4.5 空条件查询 (NULL 值处理)
为了处理这种情况,MySQL提供了三大运算符:
v IS NULL: 当列的值是 NULL,此运算符返回 true。
v IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
v <=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。
注:关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
select * from 表名 where 字段 IS NULL;(IS NOT NULL)
4.6 模糊查询like(重点)
有时候我们需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
例如:select * from 表名 where 字段 like ‘%w%’;
select * from 表名 where 字段 like ‘李_’;
%:表示任意字符;字符可有可无
_:表示一个字符;此字符必须有
4.4去除重复数据(DISTINCT)
select distinct 字段1 from 表名;
4.5排序(order by),
如果我们想要对读取的数据进行排序,我们可以使用order by子句来设定按那个字段那种方式来排序。
select *from 表名 order by 列名 asc(asc升序默认;desc降序)
² 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
² 你可以设定多个字段来排序。
² 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
你可以添加 WHERE...LIKE 子句来设置条件。