[MySQL]数据库原理9——喵喵期末不挂科
作者:mmseoamin日期:2024-04-27

[MySQL]数据库原理9——喵喵期末不挂科,第1张

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

目录

前言

CHECK约束

理解CHECK约束

创建CHECK约束

数据库的查询

了解SELECT语法结构

认识基本子句

认识SELECT子句

总结


前言

查询和统计数据是数据库的基本功能。 在数据库实际操作中,经常遇到类似的查询,例如: 查询成绩在 80 ~ 90 之间的学生; 查询姓李的学生; 查询选了李明老师,成绩在 80 分以上的学生姓名; 统计各系、各专业人数; 查询成绩前 10 名的学生等。

这些查询有些是简单的单表查询,有些是字符匹配方面的查询,有些是基于多表的查询,有些要使用函数进行统计

本任务将从简单的单表查询开始,学习使用查询的基本语法。

  学习FROM、WHERE、GROUP BY、ORDER BY、HAVING和LIMIT等子句的使用。

  学习聚合函数在数据统计查询中的应用。

  学习基于多表的全连接、JOIN连接、子查询以及联合查询的实际应用。


CHECK约束

理解CHECK约束

   主键、替代键和外键都是常见的完整性约束的例子。但是,每个数据库都还有一些专用的完整性约束。

例如:

score表中score字段的数值要在0~100之间,

students表中出生日期必须大于1990年1月1日。

这样的规则可以使用CHECK完整性约束来指定。 

CHECK完整性约束在创建表的时候定义。可以定义为列完整性约束,也可以定义为表完整性约束。

语法格式如下:

    CHECK(expr)

expr是一个表达式,指定需要检查的条件,在更新表数据的时候,MySQL会检查更新后的数据行是否满足CHECK的条件。

创建CHECK约束

在TEST为库中,创建表employees3,包含学号、性别和出生日期,出生日期必须大于1980年1月1日,性别只能是“男”和“女”。

mysql> create table employees3

    (学号 CHAR(5) not null primary key,

    性别 CHAR(2) DEFAULT '男',

  出生日期 DATE not null ,

    CHECK (性别='男' OR 性别='女'),

    CHECK (出生日期>'1980-1-1')

  )

也可以作为列的完整性约束,SQL语句如下。

    mysql> create table employees3

   ( 学号CHAR(5) not null primary key,

   性别CHAR(2) DEFAULT ‘男’

   CHECK (性别=’男’ OR 性别=’女’),

    出生日期DATE not null

  CHECK(出生日期>’1980-1-1’)

  )

注:MySQL所有的存储引擎均能够对CHECK子句进行分析,但是忽略CHECK子句,即CHECK约束还不起作用。


数据库的查询

了解SELECT语法结构

SELECT语句可以从一个或多个表中选取特定的行和列,结果通常是生成一个临时表。其基本语法格式如下。

 SELECT

[ALL|DISTINCT]

FROM表名[,表名]……

 [WHERE子句]

[GROUP BY子句]

 [HAVING子句]

[ORDER  BY子句]

[LIMIT子句]

[] 表示可选项。  SELECT 子句: 指定 要查询的 列名称 ,列与列之间用逗号隔开。 FROM 子句:指定要查询的 表 ,可以指定两个以上的表,表与表之间用逗号隔开。 WHERE 子句:指定要查询的 条件 。 GROUP BY :子句用于对查询结构进行 分组 。 HAVING 子句:指定分组的条件,通常在 GROUP BY 子句之后。 ORDER BY 子句:用于对查询结果进行 排序 。 LIMIT 子句: 限制 查询的 输出结果行 。 [MySQL]数据库原理9——喵喵期末不挂科,第2张 [MySQL]数据库原理9——喵喵期末不挂科,第3张 [MySQL]数据库原理9——喵喵期末不挂科,第4张

查询学生的学号、姓名和联系电话,SQL语句如下。

SELECT s_no,s_name,phone FROM STUDENTS ;


认识基本子句

认识SELECT子句

    SELECT子句用于指定要返回的列,SELECT常用参数如表所示。

[MySQL]数据库原理9——喵喵期末不挂科,第5张


认识SELECT子句

1.使用通配符“*”

【任务10.2】 查询学生的所有记录。

 SELECT  *  FROM  STUDENTS;

2.使用DISTINCT消除重复行

【任务10.3】 查询学生所在系部,去掉重复值。

SELECT  distinict   d_no   FROM STUDENTS;

3.使用AS定义查询列的别名(AS也可以后省略,也可不用引号)

【任务10.4】 统计男生的学生人数。

SELECT COUNT(*) AS '男生人数'

FROM   STUDENTS  WHERE  SEX='男';


总结

查询和统计数据是数据库的基本功能。 在数据库实际操作中,经常遇到类似的查询,例如: 查询成绩在 80 ~ 90 之间的学生; 查询姓李的学生; 查询选了李明老师,成绩在 80 分以上的学生姓名; 统计各系、各专业人数; 查询成绩前 10 名的学生等。

这些查询有些是简单的单表查询,有些是字符匹配方面的查询,有些是基于多表的查询,有些要使用函数进行统计

本任务将从简单的单表查询开始,学习使用查询的基本语法。

  学习FROM、WHERE、GROUP BY、ORDER BY、HAVING和LIMIT等子句的使用。

  学习聚合函数在数据统计查询中的应用。

  学习基于多表的全连接、JOIN连接、子查询以及联合查询的实际应用。


希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

[MySQL]数据库原理9——喵喵期末不挂科,第6张