[MySQL]数据库原理9——喵喵期末不挂科
希望你开心,希望你健康,希望你幸福,希望你点赞!
最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!
喵喵喵,你对我真的很重要!
目录
前言
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 子句: 限制 查询的 输出结果行 。查询学生的学号、姓名和联系电话,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连接、子查询以及联合查询的实际应用。
希望你开心,希望你健康,希望你幸福,希望你点赞!
最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!
喵喵喵,你对我真的很重要!