MySQL学习笔记-Part 2

我自己常常忘记的一些关键信息

去重:DISTINCT

SELECT DISTINCT <   >(AS)<  >

    FROM <  >;

AND 运算符优先于 OR 运算符(SQL语句中可以使用括号调整语句执行的顺序)

SELECT有的时候可以理解为print(可以这么说吗?)

ORDER BY(排序) 默认为升序排列,降序排列为DESC

在MySQL中,NULL 值被认为比任何 非NULL 值低


最常用的五个聚合函数

1.COUNT:计算表中的记录数(行数)

COUNT函数的结果根据参数的不同而不同。COUNT(*)会得到包含NULL的数据行数,而COUNT(<列名>)会得到NULL之外的数据行数。

2.SUM:计算表中数值列中数据的合计值

3.AVG:计算表中数值列中数据的平均值

4.MAX:求出表中任意列中数据的最大值

5.MIN:求出表中任意列中数据的最小值

MAX/MIN函数几乎适用于所有数据类型的列。SUM/AVG函数只适用于数值类型的列。

想要计算值的种类时,可以在COUNT函数的参数中使用DISTINCT。即在聚合函数的参数中使用DISTINCT,可以删除重复数据。


分组

SELECT - (FROM) - (WHERE)-  GROUP BY <聚合键> - HAVING

group by 基于前三者;having相当于group by的where


视图的定义

视图并不是数据库真实存储的数据表,它可以看作是一个窗口,通过这个窗口我们可以看到数据库表中真实存在的数据。

使用视图的优点:

1.通过定义视图可以将频繁使用的SELECT语句保存以提高效率。

2.通过定义视图可以使用户看到的数据更加清晰。

3.通过定义视图可以不对外公开数据表全部字段,增强数据的保密性。

4.通过定义视图可以降低数据的冗余。

CREATE VIEW <视图名称> ( <列名1> , <列名2> ,...) AS <SELECT语句>;


视图的注意事项

图名在数据库中需要是唯一的,不能与其他视图和表重名。

虽然在视图上继续创建视图的语法没有错误,但是我们还是应该尽量避免这种操作。这是因为对多数 DBMS 来说, 多重视图会降低 SQL 的性能。

在一般的DBMS中定义视图时不能使用ORDER BY语句。原因:视图和表一样,数据行都是没有顺序的

可以在视图的基础上进行查询,把它当成一个TABLE就好。同样地,其他的ALTER, DROP等操作

对原表的操作会同步到视图里,对视图进行直接操作(非直接修改数据的过程性操作如GROUP BY, SUM, COUNT, ORDER BY等除外)也会更新原表的数据。虽然但是,在创建视图时也尽量使用限制不允许通过视图来修改表

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 MySQL简介 基本输入查询 创建并使用数据库 SELECT语句 选择特殊行 条件 通配符 选择特殊列 排序...
    鬼宇书生阅读 1,044评论 2 1
  • 第一次亲密接触 一、数据库相关概念: ①、数据库的好处: 1、持久化数据到本地2、使用数据库管理软件进行结构化查询...
    凉风有信2020阅读 300评论 0 0
  • 数据库 数据库介绍 之前通过IO流操作文件保存数据弊端1、效率低2、一般只能保存少量的数据3、只能保存文本数据 什...
    沉浮_0644阅读 823评论 0 0
  • MySQL 学习笔记(一)[https://www.jianshu.com/p/dde13bbe0fd9] MyS...
    Whyn阅读 520评论 0 0
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,179评论 0 33