SqlServer教程

SQLServer 主键

SQL Server主键是单个字段或字段组合,用于唯一地定义一条记录。主键的任何字段都不能包含空值。一个表只能有一个主键。
您可以在CREATE TABLE语句或ALTER TABLE语句中定义一个主键。

使用CREATE TABLE语句创建主键

语法:
CREATE TABLE table_name
( 
  column1 datatype [ null | NOT null ] [ PRIMARY KEY ],
  column2 datatype [ null | NOT null ],
  ...
); 
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主键1
您可以验证创建的SELECT命令创建表:
SELECT * 
FROM [lidihuo].[dbo].[cricketers]  
输出:
SQL Server主键2
这里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主键3
您可以验证创建的SELECT命令创建表:
SELECT * 
FROM [lidihuo].[dbo].[cricketers2]  
输出:
SQL Server主键4

在主键为多个字段的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主键5
您可以验证创建的SELECT命令创建表:
SELECT * 
FROM [lidihuo].[dbo].[cricketers3]  
输出:
SQL Server主键6
此处的姓氏和名字两者都是主键。

使用ALTER TABLE语句创建主键

您可以使用ALTER TABLE语句仅在已定义为NOT NULL的列上创建主键。
如果表的某列具有NULL值,则不能添加主键而不删除并重新创建表。
语法:
ALTER TABLE table_name
ADD CONSTRAint constraint_name PRIMARY KEY (column1, column2, ... column_n);
示例:
在表" cricketers2"中创建主键" cricketer_id"。
ALTER TABLE [lidihuo].[dbo].[cricketers2]
ADD CONSTRAint cricketers2_pk PRIMARY KEY (cricketer_id);
输出:
SQL Server主键7
它将创建一个主" cricketers2"表中的键" cricketer_id"。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4