SQLSEVER 中的那些键和约束

SQL Server中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio

1. PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。

查看PRIMARY KEY约束可以在object explorer中依次展开Databases 选择你要查看的数据库(在我的例子中是chargesystem) –表 –你要查看的表(在我的例子中是BasicTale-> 

 

 

如上图所示,Primary Key 有一把金色的小钥匙。ModifyIDea 即为BasicTable表的primary key

创建PRIMARY KEY约束可以右键点击表,然后选择设计,打开表设计器,选中行,点击上面的金色小钥匙,来创建Primary Key

 

 

 

 

也可以右键点击想设为主键的行,然后选择设置主键。

 

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

查看FOREIGN KEY约束,展开列,可以看到灰色的小钥匙为Foreign Key;展开Keys,可以看到Foreign Key约束的名字为FK_contact_company

 

 

在表设计器中,也可以点击上面的关系按钮,这样就可以查看到所有的Foreign Key约束

 

 

 

 

 

上面的例子可以看到billTable 表的OperatorID为外键,OperatorIDea 表的OperatorIDea为主键。

 

下面来演示一下如何创建的该Foreign Key约束。

同样是点击完关系按钮之后,在弹出的对话框中选择添加

 

然后点击下面的红色框内的按钮:

 

按下图中那样设置主表、主键和从表、外键

 

然后点击 OK,不要忘记保存你的设计。

 

3. UNIQUE约束(唯一键或索引)

UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。

 

还以BillTable为例,假设我们要约束BillIDea为唯一的,点击管理索引和键

 

然后点击Add来添加Unique约束

 

选择BillIDASC, 是唯一的

 

关闭并保存你的设计,这样一个Unique约束就创建好了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
SQL Server、列和约束是数据库的重要概念。 是用于唯一标识表每一行的列或列组合。在SQL Server,常见的类型有主和外。主是用于唯一标识表每一行的列或列组合,且不允许为空。外是用于建立表之间关系的列或列组合,它引用了另外一张表的主。 列是表的一个字段,用于存储数据。每个列都有一个数据类型,用于定义它可以存储的数据的类型。在SQL Server,常见的数据类型包括整数、字符、日期等。 约束是用于限制表数据的完整性和一致性的规则。在SQL Server,常见的约束类型有非空约束、唯一约束、默认约束和检查约束。非空约束要求列的值不能为空。唯一约束要求列的值在表是唯一的。默认约束指定了列的默认值。检查约束定义了列的值必须满足的条件。 举个例子,下面是一个创建具有主和非空约束的表的示例: CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, department_id INT, CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments (department_id) ); 在这个示例,employees表有一个主employee_id,它用于唯一标识每一行。first_name和last_name列有非空约束,要求它们的值不能为空。email列有唯一约束,要求它的值在表是唯一的。department_id列是一个外,它引用了departments表的主department_id。 总结起来,、列和约束SQL Server用于管理数据完整性和一致性的重要概念。它们可以帮助我们定义表之间的关系,限制数据的取值范围,并确保数据的一致性。 #### 引用[.reference_title] - *1* *3* [SQL Server约束](https://blog.csdn.net/weixin_50160957/article/details/125361428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SQLServer的常见约束](https://blog.csdn.net/weixin_49772216/article/details/123797947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值