Mysql 查询命令--单表查询

基本查询语句

SELECT语句是最常用的查询语句,它的使用方式有些复杂,但功能是相当强大的。
SELECT语句的基本语法如下:

select selection_list                  //要查询的内容,选择哪些列
from 数据表名                           //指定数据表
where primary_constraint        //查询时需要满足的条件,行必须满足的条件
group by grouping_columns       //如何对结果进行分组
order by sorting_cloumns           //如何对结果进行排序
having secondary_constraint      //查询时满足的第二条件
limit count 

单表查询

单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单。

1.查询所有字段

查询所有字段是指查询表中所有字段的数据。这种方式可以将表中所有字段的数据都查询出来。在MySQL中可以使用“*”代表所有的列,即可查出所有的字段,
语法格式如下:

*SELECT FROM 表名;**

例子:

create database 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;

Mysql 查询命令--单表查询

2.查询指定字段

单表查询是指从一张表中查询所需要的数据。所有查询操作都比较简单
查询指定字段可以使用下面的语法格式:
SELECT 字段名 FROM 表名;

例子:

SELECT name FROM info;

查询结果:

Mysql 查询命令--单表查询

3.查询指定数据

如果要从很多记录中查询出指定的记录,那么就需要一个查询的条件。设定查询条件应用的是WHERE子句。通过它可以实现很多复杂的条件查询。在使用WHERE子句时,需要使用一些比较运算符来确定查询的条件。

例子:

SELECT * FROM info WHERE name = 'lisi' ;

查询结果:
Mysql 查询命令--单表查询

4.带IN关键字的查询

IN关键字可以判断某个字段的值是否在于指定的集合中。如果字段的值在集合中,则满足查询条件,该记录将被查询出来;如果不在集合中,则不满足查询条件。
其语法格式如下:
*SELECT FROM 表名 WHERE 条件 [NOT] IN(元素1,元素2,…,元素n);**

例子:

SELECT * FROM info WHERE name in ('lisi','pw') ;

查询结果:
Mysql 查询命令--单表查询

SELECT * FROM info WHERE name not in ('lisi','kk') ;

查询结果:
Mysql 查询命令--单表查询

5.带BETWEEN AND的范围查询

BETWEEN AND关键字可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来。如果不在指定范围内,则不满足查询条件。
其语法如下:
*SELECT FROM 表名 WHERE 条件 [NOT] BETWEEN 取值1 AND 取值2;**

例子:

SELECT * FROM info WHERE age BETWEEN 25 AND 35;

查询结果:
Mysql 查询命令--单表查询

友情提醒:边缘值包括在内,25和35都符合条件

6.带LIKE的字符匹配查询

LIKE属于较常用的比较运算符,通过它可以实现模糊查询。
它有两种通配符:“%”和下划线“_”;

例子:

SELECT * FROM info WHERE name LIKE '%w%' ;

查询结果:
Mysql 查询命令--单表查询

用IS NULL关键字查询空值

IS NULL关键字可以用来判断字段的值是否为空值(NULL)。如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。
其语法格式样如下:
IS [NOT] NULL

例子:

SELECT * FROM info WHERE age is not NULL;

查询结果:
Mysql 查询命令--单表查询

带AND的多条件查询

AND关键字可以用来联合多个条件进行查询。使用AND关键字时,只有同时满足所有查询条件的记录会被查询出来。如果不满足这些查询条件的其中一个,这样的记录将被排除掉。
AND关键字的语法格式如下:
*select from 数据表名 where 条件1 and 条件2 […AND 条件表达式n];**

例子:

SELECT * FROM info WHERE age =33 and name ='san';

查询结果:
Mysql 查询命令--单表查询

带OR的多条件查询

OR关键字也可以用来联合多个条件进行查询,但是与AND关键字不同,OR关键字只要满足查询条件中的一个,那么此记录就会被查询出来;如果不满足这些查询条件中的任何一个,这样的记录将被排除掉。
OR关键字的语法格式如下:
*select from 数据表名 where 条件1 OR 条件2 […OR 条件表达式n];**

例子:

SELECT * FROM info WHERE age =23 or name ='san';

查询结果:
Mysql 查询命令--单表查询

用DISTINCT关键字去除结果中的重复行

使用DISTINCT关键字可以去除查询结果中的重复记录
语法格式如下:
select distinct 字段名 from 表名;

例子:

select distinct score from info;

查询结果:

Mysql 查询命令--单表查询

去重前:
Mysql 查询命令--单表查询

用ORDER BY关键字对查询结果排序

使用ORDER BY可以对查询的结果进行升序(ASC)和降序(DESC)排列,在默认情况下,ORDER BY按升序输出结果。如果要按降序排列可以使用DESC来实现。
语法格式如下:
ORDER BY 字段名 [ASC|DESC];

例子:

select * from info ORDER BY score;

查询结果:
Mysql 查询命令--单表查询

用GROUP BY关键字分组查询

通过GROUP BY子句可以将数据划分到不同的组中,实现对记录进行分组查询。在查询时,所查询的列必须包含在分组的列中,目的是使查询到的数据没有矛盾。

例子:

select id,age from info GROUP BY age;

查询结果:
Mysql 查询命令--单表查询

用LIMIT限制查询结果的数量

查询数据时,可能会查询出很多的记录。而用户需要的记录可能只是很少的一部分。这样就需要来限制查询结果的数量。LIMIT是MySQL中的一个特殊关键字。LIMIT子句可以对查询结果的记录条数进行限定,控制它输出的行数。

例子:

select * from info ORDER BY score LIMIT 3;

查询结果:

Mysql 查询命令--单表查询

猜你喜欢

转载自blog.51cto.com/13760351/2472335