共计 2698 个字符,预计需要花费 7 分钟才能阅读完成。
from 数据表名 // 指定数据表
where primary_constraint // 查询时需要满足的条件,行必须满足的条件
group by grouping_columns // 如何对结果进行分组
order by sorting_cloumns // 如何对结果进行排序
having secondary_constraint // 查询时满足的第二条件
limit count
单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单。
1. 查询所有字段
查询所有字段是指查询表中所有字段的数据。这种方式可以将表中所有字段的数据都查询出来。在 MySQL 中可以使用“*”代表所有的列,即可查出所有的字段,
语法格式如下:
SELECT * FROM 表名;
create database test; #创建库
use test; #进入库
create table info (id int not null,name char(6),score decimal(5,2),age int(4)); #创建表
插入测试数据
insert into info (id,name,score,age)values(1,’san’,88,33);
insert into info (id,name,score,age)values(2,’lisi’,48,31);
insert into info (id,name,score,age)values(3,’wwu’,68,27);
insert into info (id,name,score,age)values(4,’pw’,98,25);
insert into info (id,name,score,age)values(5,’wlk’,19,37);
insert into info (id,name,score,age)values(3,’lihua’,58,23);
SELECT * FROM info;
单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单
查询指定字段可以使用下面的语法格式:
SELECT 字段名 FROM 表名;
SELECT name FROM info;
查询结果:
3. 查询指定数据如果要从很多记录中查询出指定的记录,那么就需要一个查询的条件。设定查询条件应用的是 WHERE 子句。通过它可以实现很多复杂的条件查询。在使用 WHERE 子句时,需要使用一些比较运算符来确定查询的条件。
SELECT * FROM info WHERE name = ‘lisi’ ;
查询结果:
IN 关键字可以判断某个字段的值是否在于指定的集合中。如果字段的值在集合中,则满足查询条件,该记录将被查询出来;如果不在集合中,则不满足查询条件。
其语法格式如下:
SELECT * FROM 表名 WHERE 条件 [NOT] IN(元素 1, 元素 2,…, 元素 n);
SELECT * FROM info WHERE name in (‘lisi’,’pw’) ;
查询结果:
SELECT * FROM info WHERE name not in (‘lisi’,’kk’) ;
查询结果:
BETWEEN AND 关键字可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来。如果不在指定范围内,则不满足查询条件。
其语法如下:
SELECT * FROM 表名 WHERE 条件 [NOT] BETWEEN 取值 1 AND 取值 2;
SELECT * FROM info WHERE age BETWEEN 25 AND 35;
查询结果:
友情提醒:边缘值包括在内,25 和 35 都符合条件
6. 带 LIKE 的字符匹配查询
LIKE 属于较常用的比较运算符,通过它可以实现模糊查询。
它有两种通配符:“%”和下划线“_”;
SELECT * FROM info WHERE name LIKE ‘%w%’ ;
查询结果:
IS NULL 关键字可以用来判断字段的值是否为空值(NULL)。如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。
其语法格式样如下:
IS [NOT] NULL
SELECT * FROM info WHERE age is not NULL;
查询结果:
AND 关键字可以用来联合多个条件进行查询。使用 AND 关键字时,只有同时满足所有查询条件的记录会被查询出来。如果不满足这些查询条件的其中一个,这样的记录将被排除掉。
AND 关键字的语法格式如下:
select * from 数据表名 where 条件 1 and 条件 2 […AND 条件表达式 n];
SELECT * FROM info WHERE age =33 and name =’san’;
查询结果:
OR 关键字也可以用来联合多个条件进行查询,但是与 AND 关键字不同,OR 关键字只要满足查询条件中的一个,那么此记录就会被查询出来;如果不满足这些查询条件中的任何一个,这样的记录将被排除掉。
OR 关键字的语法格式如下:
select * from 数据表名 where 条件 1 OR 条件 2 […OR 条件表达式 n];
SELECT * FROM info WHERE age =23 or name =’san’;
查询结果:
使用 DISTINCT 关键字可以去除查询结果中的重复记录
语法格式如下:
select distinct 字段名 from 表名;
select distinct score from info;
查询结果:
去重前:
使用 ORDER BY 可以对查询的结果进行升序(ASC)和降序(DESC)排列,在默认情况下,ORDER BY 按升序输出结果。如果要按降序排列可以使用 DESC 来实现。
语法格式如下:
ORDER BY 字段名 [ASC|DESC];
select * from info ORDER BY score;
查询结果:
通过 GROUP BY 子句可以将数据划分到不同的组中,实现对记录进行分组查询。在查询时,所查询的列必须包含在分组的列中,目的是使查询到的数据没有矛盾。
select id,age from info GROUP BY age;
查询结果:
查询数据时,可能会查询出很多的记录。而用户需要的记录可能只是很少的一部分。这样就需要来限制查询结果的数量。LIMIT 是 MySQL 中的一个特殊关键字。LIMIT 子句可以对查询结果的记录条数进行限定,控制它输出的行数。
select * from info ORDER BY score LIMIT 3;
查询结果:
向 AI 问一下细节丸趣 TV 网 – 提供最优质的资源集合!