mysql2008主键是什么,SQL Server主键示例图解

本文概述

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-primary-key1.png

你可以使用SELECT命令验证创建的表:

SELECT *

FROM [srcmini].[dbo].[cricketers]

输出

sql-server-primary-key2.png

这里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-primary-key3.png

你可以使用SELECT命令验证创建的表:

SELECT *

FROM [srcmini].[dbo].[cricketers2]

输出

sql-server-primary-key4.png

在主键超过一个字段的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-primary-key5.png

你可以使用SELECT命令验证创建的表:

SELECT *

FROM [srcmini].[dbo].[cricketers3]

输出

sql-server-primary-key6.png

在这里, last_name和first_name都是主键。

使用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 [srcmini].[dbo].[cricketers2]

ADD CONSTRAINT cricketers2_pk PRIMARY KEY (cricketer_id);

输出

sql-server-primary-key7.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值