0


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

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

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

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


前言

查询和统计数据是数据库的基本功能。

在数据库实际操作中,经常遇到类似的查询,例如:

查询成绩在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子句:限制查询的输出结果行。

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

SELECT s_no,s_name,phone FROM STUDENTS ;


认识基本子句

认识SELECT子句

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


**认识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

本文转载自: https://blog.csdn.net/ormstq/article/details/137876029
版权归原作者 猫佛佛 所有, 如有侵权,请联系我们删除。

“[MySQL]数据库原理9——喵喵期末不挂科”的评论:

还没有评论