MySQL数据查询

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 子句来设置条件。

posted @ 2020-08-07 17:07  梦魇之瞳  阅读(147)  评论(0编辑  收藏  举报