三天入门MySQL---DAY 1---查询数据SELECT

  • 序言:上次课程我们学习了数据库建表建库插入数据的操作,这次我们学习查询数据。

目录

1. SELECT基本语句

1.1检索单列

1.2检索多列

1.3检索所有列

1.4检索不同的行(数据去重)

1.5 limit限制返回条数

1.6查询结果的列名重命名

2.排序检索数据

2.1oderby子句

2.2多列排序

3.数据过滤

3.1where语句

3.2where操作符号

3.3 IN AND OR组合

3.3.1 IN

3.3.2 OR

3.3.3 AND

3.4 LIKE

总结与参考


1. SELECT基本语句

1.1检索单列

  • 输入
SELECT
	prod_name 
FROM
	products;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第1张图片

  •  分析:查询的列名在SELECT关键字之后给出,FROM关键字指出从其中检索数据的表名。这是SQL中最重要的语句;多条SQL语句之间需要用“,”隔开;SQL语句不分大小写。

1.2检索多列

  • 输入
SELECT
	prod_id,prod_name,prod_price 
FROM
	products;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第2张图片

  • 分析:指定了三个列名prod_id,prod_name,prod_price三个名字,出结果与之相对应,列名用逗号隔开。

1.3检索所有列

  • 输入
SELECT
	*
FROM
	products;

  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第3张图片

  • 分析:*可以代表所有列,不需要一一列出所需要查询的列。

1.4检索不同的行(数据去重)

查询所有供应商id

  • 输入
SELECT
	DISTINCT vend_id
	
FROM
	products;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第4张图片

  • 分析:使用distinct将列供应商id去重,distinct应用于所有列,比如select distinct ven_id,prod_name时候,必须两列均不一样。

1.5 limit限制返回条数

  • 输入
SELECT
	*
FROM
	products
LIMIT 5,5;

  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第5张图片

  • 分析:limit5,5指的是从第6行开始输出的少于5行;limit 5代表最多输出不超过5行,第二个用的较为多。

1.6查询结果的列名重命名

  • 输入
SELECT
	prod_id AS roductid
FROM
	products;
  • 输出        

三天入门MySQL---DAY 1---查询数据SELECT_第6张图片

  • 分析:用as将原来字段名prod_id 改为 productid,as也可以省略。

2.排序检索数据

2.1oderby子句

  • 输入
  • SELECT
    	prod_id,
    	prod_name 
    FROM
    	products
    ORDER BY  prod_id ASC;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第7张图片

  • 分析:对order  by后的字段进行排序,默认是升序ASC。降序为DESC。

2.2多列排序

  • 输入
SELECT
	prod_id,
	prod_price,
	prod_name	
FROM
	products
ORDER BY  prod_price DESC,prod_name ASC;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第8张图片

  • 分析:先对prod_price进行排序,遇到相同的情况,再对prod_name进行排序。

3.数据过滤

3.1where语句

  • 输入
SELECT
	prod_id,
	prod_price,
	prod_name	
FROM
	products
where prod_price=2.50;
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第9张图片

  • 分析:同时使用where和order by语句的时候,where在前。

3.2where操作符号

where操作符号
操作符 说明
= 等于
<> 不等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
BETWEEN      AND 两个值之间
IS NULL 空值
IS NOT NULL 非空

小tips:在通过过滤选择出不具有特定值的行时,你可能希望返回具有NULL值的行。但是,不行。因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。因此,在过滤数据时,一定要验证返回数据中确实给出了被过滤列具有NULL的行

3.3 IN AND OR组合

3.3.1 IN

  • 输入
SELECT
	prod_id,
	prod_price,
	prod_name	
FROM
	products
WHERE prod_name IN ("1 ton anvil","2 ton anvil");
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第10张图片

  • 分析:IN能够完成与OR的相同功能,但是IN比快会更快;IN可以接其他SELECT语句;NOT IN就是不匹配的条件。

3.3.2 OR

或者

3.3.3 AND

同时满足

3.4 LIKE

3.4.1百分号(%)通配符

  • 输入
SELECT
	prod_id,
	prod_price,
	prod_name	
FROM
	products
WHERE prod_name LIKE '%jet%';
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第11张图片

  • 分析:%表示任何字符出现任意次数;上述代码含义表示搜索待遇jet的prod_name。

3.4.2下划线(_)通配符

  • 输入
SELECT
	prod_id,
	prod_price,
	prod_name	
FROM
	products
WHERE prod_name LIKE '_ ton anvil';
  • 输出

三天入门MySQL---DAY 1---查询数据SELECT_第12张图片

  • 分析:_代表任意单一字符,匹配个数只能为1

总结与参考

  • SELECT FROM使用
  • WHERE
  • LIKE
  • IN
  • 逻辑运算符
  • 通配符

本文介绍了基本的SQL语句,带着大家进入数据库查询的世界。

参考:MySQL必知必会

软件:Navicat 15 MySQL

你可能感兴趣的:(数据库,数据库开发,sql)