SQL Server主键示例图解

本文概述

  • 使用CREATE TABLE语句创建主键
  • 在主键超过一个字段的SQL Server中创建一个主键
  • 使用ALTER TABLE语句创建主键
SQL Server主键是用于唯一定义记录的单个字段或字段组合。主键的任何字段都不能包含空值。一个表只能有一个主键。
你可以在CREATE TABLE语句或ALTER TABLE语句中定义主键。
使用CREATE TABLE语句创建主键 句法:
CREATE TABLE table_name( column1 datatype [ NULL | NOT NULL ] [ PRIMARY KEY ], column2 datatype [ NULL | NOT NULL ], ...);

Or
CREATE TABLE table_name( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ...CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n));

例:
创建一个表” cricketers” , 其中” cricketer_id” 是主键。
CREATE TABLE cricketers( cricketer_id INT PRIMARY KEY, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY);

输出
SQL Server主键示例图解

文章图片
你可以使用SELECT命令验证创建的表:
SELECT * FROM [srcmini].[dbo].[cricketers]

输出
SQL Server主键示例图解

文章图片
这里cricketer_id是主键。
你还可以使用第二种语法使用主键创建表:
例:
CREATE TABLE cricketers2( cricketer_id INT, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY, CONSTRAINT cricketers2_pk PRIMARY KEY (cricketer_id));

输出
SQL Server主键示例图解

文章图片
【SQL Server主键示例图解】你可以使用SELECT命令验证创建的表:
SELECT * FROM [srcmini].[dbo].[cricketers2]

输出
SQL Server主键示例图解

文章图片
在主键超过一个字段的SQL Server中创建一个主键 例:
CREATE TABLE cricketers3( last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY, CONSTRAINT cricketers3_pk PRIMARY KEY (last_name, first_name));

输出
SQL Server主键示例图解

文章图片
你可以使用SELECT命令验证创建的表:
SELECT * FROM [srcmini].[dbo].[cricketers3]

输出
SQL Server主键示例图解

文章图片
在这里, last_name和first_name都是主键。
使用ALTER TABLE语句创建主键 你可以使用ALTER TABLE语句仅在已经定义为NOT NULL的列上创建主键。
如果表的某列具有NULL值, 则不能添加主键而不删除并重新创建该表。
句法:
ALTER TABLE table_nameADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);

例:
在表” cricketers2″ 中创建一个主键” cricketer_id” 。
ALTER TABLE [srcmini].[dbo].[cricketers2]ADD CONSTRAINT cricketers2_pk PRIMARY KEY (cricketer_id);

输出
SQL Server主键示例图解

文章图片
它将在” cricketers2″ 表中创建一个主键” cricketer_id” 。

    推荐阅读