MySQL单表查询(一)

1.简单查询

1.1 SELECT语句
MySQL从数据表中查询数据的基本语句是SELECT语句。在SELECT语句中,可以根据自己对数据的需求,使用不同的查询条件,SELECT语句的基本语法格式如下:

SELECT [DISTINCT] * [字段名1,字段名2,……
FROM 表名
[WHERE 条件表达式1]
[GROUP BY 字段名 [HAVING 条件表达式2]]
[ORDER BY 字段名 [ASC|DESC]]
[LIMIT [OFFSET] 记录数];

1.2 查询所有字段
(1)在SELECT语句中指定所有字段

SELECT 字段名1,字段名2,……FROM 表名;

在SELECT语句的查询字段列表中,字段的顺序是可以改变的,毋须按照表中定义的顺序
(2)在SELECT语句中使用星号(✳)通配符代替所有字段
MySQL中可以使用“*”通配符来代替所有的字段名:SELECT * FROM 表名;

注:使用通配符虽然可以节省输入查询语句的时间,但由于获取的数据过多,会降低查询的效率。

1.3查询指定字段

SELECT 字段名1,字段名2,…… FROM 表名;

2.按条件查询

2.1 带关系运算符的查询
在SELECT语句中最常见的就是使用WHERE子句指定查询条件对数据进行过滤。SELECT 字段名1,字段名2,…… FROM 表名 WHERE 条件表达式;
2.2 带IN关键字的查询
IN关键字用来判断某个字段的值是否在指定的集合中,如果字段的值在指定的集合中则满足条件,该字段所在的记录将被查询出来。

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 字段名 [NOT] IN (元素1,元素2,……);

2.3 带BETWEEN AND 关键字的查询

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 字段名 [NOT] BETWEEN 值1 AND 值2;

2.4 空值查询

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 字段名 IS [NOT] NULL;

2.5 带DISTINCT关键字的查询
有时候出于对数据的分析需求,需要过滤掉重复的值,在SELECT语句中可以使用DISTINCT关键字来实现这种功能。

SELECT DISTINCT 字段名1,字段名2,…… FROM 表名;

只有指定的多个字段值都相同时,才会被视作重复的值。
2.6 带LIKE关键字的查询(模糊查询)

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 字段名 [NOT] LIKE '匹配字符串';

(1)百分号(%)通配符
匹配任意长度的字符串,包括空字符串。
(2)下划线(_)通配符
下划线通配符只匹配单个字符

百分号和下划线是通配符,因此如果要匹配字符串中的百分号和下划线需要使用右斜线(“\”)进行转义

2.7 带AND关键字的多条件查询

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 条件表达式1 AND 条件表达式2 AND ……;

2.8 带OR关键字的多条件查询

SELECT * |字段名1,字段名2,……
FROM 表名
WHERE 条件表达式1 OR 条件表达式2 OR ……;
OR和AND关键字可以一起使用,需要注意的是AND的优先级高于OR,因此当两者一起使用时,应该先运算AND两边的条件表达式,再运算OR两边的条件表达式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值