您的位置: 翼速应用 > 业内知识 > 数据库 > 正文

简单了解下SQL Server主键约束相关的知识

本文带大家简单了解下SQL Server主键约束相关的知识,主键是唯一标识表中每一行的一列或一组列,文章围绕主题展开详情,旨在帮助大家掌握相关知识,下面一起来看一下。


简单了解下SQL Server主键约束相关的知识


简单了解下SQL Server主键约束相关的知识


主键是唯一标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。


如果主键仅包含一列,你可以使用PRIMARY KEY约束作为列约束:


CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);


如果主键有两列或多列,则必须将主键约束用作表约束:


CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);


每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL。如果未为所有主键列指定NOT NULL约束,SQL Server会自动为这些列设置非空约束。


SQL Server PRIMARY KEY约束示例


以下示例创建了一个具有主键的表,主键由一列组成:


CREATE TABLE dbo.activities (
    activity_id INT PRIMARY KEY IDENTITY,--主键
    activity_name VARCHAR (255) NOT NULL,
    activity_date DATE NOT NULL
);


在表dbo.activities中,activity_id列是主键列,意味着这一列的值不能重复


IDENTITY属性用于activity_id列自动生成唯一的整数值。


下面创建一个由两列组成外键的新表:


CREATE TABLE dbo.participants(
    activity_id int,
    customer_id int,
    PRIMARY KEY(activity_id, customer_id)
);


在本例中,activity_id或customer_id列中的值可以重复,但两列中的每个值组合都必须是唯一的。


通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。比如示例:


先创建一个没有主键列的表:


CREATE TABLE dbo.events(
    event_id INT NOT NULL,
    event_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);


然后使event_id列成为主键:


ALTER TABLE sales.events 
ADD PRIMARY KEY(event_id);


注意,如果 sales.events 表已经有数据,在将 event_id 列提升为主键之前,必须确保 event_id 中的值是不重复的。


以上就是关于SQL Server主键约束相关的知识分享,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题