sql创建主键约束(转)

创建主键约束
在数据表中经常有一个列或多列的组合,其值能惟一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。
1.使用企业管理器创建主键约束
操作步骤如下:
(1)打开企业管理器,选择“控制台根目录”→“SQL Server组”→“MRFC”→“数据库”节点。
(2)在“销售管理系统”中选择“表”,并在右边的详细列表中选择要创建约束的数据表,单击鼠标右键选择“设计表”命令,如图1所示。

图1  选择“设计表”命令
(3)在弹出的窗口中选择要设置为主键的列,可以通过快捷工具栏中的 按钮进行单一设定,还可以将列选择多个,并通过单击鼠标右键选择“设置主键”命令将多个列设置为主键,如图2所示。

图2  将多个列设置为主键
(4)设置完成后,单击快键工具栏中的 按钮保存主键设置,并关闭此窗口。
注意:将某列设置为主键时,不可以将此列设置为允许空,否则将弹出如图3所示的信息框。

图3  主键设置错误提示对话框
2.使用SQL语句创建主键约束
使用SQL语句创建主键约束可以在创建表(Create Table)或修改表(Alter Table)时进行  创建。
在修改表中创建主键约束语法:
ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
{(Column[,…n])}
参数说明:
 CONSTRAINT:创建约束的关键字。
 constraint_name:创建约束的名称。
 PRIMARY KEY:表示所创建约束的类型为主键约束。
 CLUSTERED | NONCLUSTERED:是表示为PRIMARY KEY或UNIQUE约束创建聚集或非聚集索引的关键字。PRIMARY KEY约束默认为CLUSTERED,UNIQUE约束默认为 NONCLUSTERED。
下面在指定的数据库中创建一个名为mytable的数据表,并在该数据表中将“userid”列设置为主键。
操作步骤:
(1)在操作系统中选择“开始”→“所有程序”→“Microsoft SQL Server”→“查询分析器”命令,打开查询分析器。
(2)在查询分析器的工具栏中选择要连接的数据库。
(3)在代码编辑区中编写如下代码。
SQL语句如下:
USE 销售管理系统    --引入数据库
GO
CREATE TABLE mytable    --创建表
(
USERID int CONSTRAINT pk_id PRIMARY KEY,    --创建主键约束
USERNAME char (20),    --数据列
USERPASS char (20),    --数据列
USERPHONE char (20),    --数据列
USERADDRESS varchar (50),    --数据列
USERLEVEL char(2)    --数据列
)
GO
说明:在上段代码中,CONSTRAINT pk_id PRIMARY KEY为创建一个主键约束,pk_id为用户自定义的主键约束名称,但名称必须是合法的标识符。
下面在mytable表中将USERLEVEL(用户级别)列设定为主键约束。
SQL语句如下:
USE 销售管理系统    --引入数据库
GO
ALTER TABLE mytable     --修改表
ADD     /*将USERLEVEL列设置为主键约束*/
CONSTRAINT pk_level
PRIMARY KEY CLUSTERED (USERLEVEL)
GO
说明:将某个数据列设置为主键约束时,该数据列不能为允许空,否则将会无法创建主键约束。
可以在查询分析器中写入如下代码将数据列设置为不允许空。
ALTER TABLE mytable     --修改表
ALTER Column USERLEVEL char (2) NOT NUL --将USERLEVEL数据列设置为不允许空
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值