如何定义SQL主键

如何定义SQL主键,第1张

在SQL数据库中,如何定义SQL主键是经常要遇到的问题,下面将为您介绍两种定义SQL主键的方法,供您参考,希望对那您有所帮助。

SQL主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说SQL主键在一张表中的记录值是唯一的。

建立SQL主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。

1在数据库提供的GUI环境中建立(以SQL7为例)。

输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。

2通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。

在建表语句中直接写:

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3…………

字段名N………… )

建表之后更改表结构:

CREATE TABLE 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null

字段名3…………

字段名N…………)

GO

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED

(

[字段名1],

[字段名2]

)

GO

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) --

1、打开SQL Server Management Studio管理工具,连接数据库。

2、新建表时设置主键- 打开新建表界面,展开要新建表的数据库,右键表菜单,依次选择新建->表。

3、新建表时设置主键- 设置主键。

4、修改表主键- 打开设计表界面。右键选择要修改的表,选择设计菜单,即可打开此表的设计界面,此时,可以修改列名、列类型、长度等等。

5、联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择设置主键,对于有数据的表,如果修改后的主键存在数据重复行,则会提示修改失败,此时,需要视具体业务场景删除重复记录或者更改另外的列作为主键。

6、sql语句删除主键。

7、在查询窗口中输入截图的命令添加主键ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 )。

8、在查询窗口中输入截图的命令修改主键,如果表存在主键,需要先删除原主键得到消息“命令已成功完成”即可。

建立联合主键有两种方式:

一种是在建表时就写出,语句如下:

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3

字段名N )

另一种是在建表后更改,语句如下:

alter table 你的表名 add constraint pk_你的表名  primary key (字段1,字段2)

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED

(

[字段名1],

[字段名2]

)

创建联合主键还可以这样写:

create table huayunkeji_today(device_id int , year int, month int, day int, hour int, temperature float, humidity float,

primary key(device_id,year,month,day,hour));

扩展资料:

联合主键的使用情况及优点:

联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。

可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了。

再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。

以上就是关于如何定义SQL主键全部的内容,包括:如何定义SQL主键、SQL语句怎么查询表的主键、SQL Server 怎么建立联合主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9845145.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存