mysql 去重命令_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)); #创建表

use test; #进入库

插入测试数据

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;

681a195d6715bacb99e4b53bbc27beee.png

2.查询指定字段

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

查询指定字段可以使用下面的语法格式:

SELECT 字段名 FROM 表名;

例子:

SELECT name FROM info;

查询结果:

1fe1ea15e8df02723e069040b966b749.png

3.查询指定数据

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

例子:

SELECT * FROM info WHERE name = 'lisi' ;

查询结果:

c814651b9029d6f0d42fba48a0ba207c.png

4.带IN关键字的查询

IN关键字可以判断某个字段的值是否在于指定的集合中。如果字段的值在集合中,则满足查询条件,该记录将被查询出来;如果不在集合中,则不满足查询条件。

其语法格式如下:

SELECT * FROM 表名 WHERE 条件 [NOT] IN(元素1,元素2,…,元素n);

例子:

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

查询结果:

71d9a27c1574d8bd007c6eebe370e41a.png

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

查询结果:

5039a562bb1b82f1bd68c120eddc09f5.png

5.带BETWEEN AND的范围查询

BETWEEN AND关键字可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来。如果不在指定范围内,则不满足查询条件。

其语法如下:

SELECT * FROM 表名 WHERE 条件 [NOT] BETWEEN 取值1 AND 取值2;

例子:

SELECT * FROM info WHERE age BETWEEN 25 AND 35;

查询结果:

b5772fb7ec696c42ba438b672ca1498a.png

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

6.带LIKE的字符匹配查询

LIKE属于较常用的比较运算符,通过它可以实现模糊查询。

它有两种通配符:“%”和下划线“_”;

例子:

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

查询结果:

7bc5de9cd4b21fdb8e7f1602fd0b73f5.png

7.用IS NULL关键字查询空值

IS NULL关键字可以用来判断字段的值是否为空值(NULL)。如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。

其语法格式样如下:

IS [NOT] NULL

例子:

SELECT * FROM info WHERE age is not NULL;

查询结果:

e02c0686b89c0ca50fe4defa7abe5599.png

8.带AND的多条件查询

AND关键字可以用来联合多个条件进行查询。使用AND关键字时,只有同时满足所有查询条件的记录会被查询出来。如果不满足这些查询条件的其中一个,这样的记录将被排除掉。

AND关键字的语法格式如下:

select * from 数据表名 where 条件1 and 条件2 […AND 条件表达式n];

例子:

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

查询结果:

e52fbc2dbefb56832adda44d52c0d8e7.png

9.带OR的多条件查询

OR关键字也可以用来联合多个条件进行查询,但是与AND关键字不同,OR关键字只要满足查询条件中的一个,那么此记录就会被查询出来;如果不满足这些查询条件中的任何一个,这样的记录将被排除掉。

OR关键字的语法格式如下:

select * from 数据表名 where 条件1 OR 条件2 […OR 条件表达式n];

例子:

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

查询结果:

3e9ff6978b04dfce4f3551b0def284cd.png

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

使用DISTINCT关键字可以去除查询结果中的重复记录

语法格式如下:

select distinct 字段名 from 表名;

例子:

select distinct score from info;

查询结果:

919c7c9cfa256adf62b53902feecebd9.png

去重前:

34221501df4158ea8e766d621a90e165.png

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

使用ORDER BY可以对查询的结果进行升序(ASC)和降序(DESC)排列,在默认情况下,ORDER BY按升序输出结果。如果要按降序排列可以使用DESC来实现。

语法格式如下:

ORDER BY 字段名 [ASC|DESC];

例子:

select * from info ORDER BY score;

查询结果:

3a616102070a448e7dd3ee171098543d.png

12.用GROUP BY关键字分组查询

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

例子:

select id,age from info GROUP BY age;

查询结果:

380df0c584e72980a36099f9131af4c3.png

13.用LIMIT限制查询结果的数量

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

例子:

select * from info ORDER BY score LIMIT 3;

查询结果:

ebbd196d02b54497c46cb5e816589750.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值