首页 > 代码库 > 数据库开发基础-SQl Server 主键、外键、子查询(嵌套查询)

数据库开发基础-SQl Server 主键、外键、子查询(嵌套查询)

主键

数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。

主键的作用

主键的主要作用如下:

1)保证实体的完整性;

2)加快数据库的操作速度;

3 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

 

主键具有的特点:唯一性、非空性。

 

设置主键语句示例:

技术分享code int primary key,   主键不能为空,不能重复,确保唯一性

设置自增长主键语句示例:

技术分享code int primary key identity(1,1)1开始,每次增长1,添加values时不用添加此列

 

 

设置外键:

      在要设置外键的表上右键,选择设计,在需要设置外键的列名前右键,如下图:

技术分享

选择关系单击,出现对话框,单击添加,单击表和列规范后面的省略号,如下图:

技术分享

在出现的界面做出如下操作:

技术分享

点击确定,再点击确定,操作成功。

 

 

子查询,又叫做嵌套查询。

 

         将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。

 

子查询有两种类型:

 

一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数;

 

另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表。

 

  

 

新建一个部门表,一个员工表,员工表中每个人员的部门列用部门的编号。

 

 

 

 

 

子查询示例:

技术分享

练习一:

 技术分享

练习二:

技术分享

练习三:

技术分享

分页查询语句示例:

 技术分享

查看总共可以分为多少页:

技术分享

练习:

子查询练习一:查询销售部里的年龄大于35岁的人的所有信息

技术分享

练习二:将haha表中部门的所有数字代码转换为bumen表中的字符串显示

技术分享

练习三:将haha表中部门的所有数字代码转换为bumen表中的字符串显示,并且显示每个人的主管

技术分享

 

数据库开发基础-SQl Server 主键、外键、子查询(嵌套查询)