如何在数据库表中建立复合主键
2014-05-29 10:41
387 查看
(即多个字段同时作为主键)主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在一张表中的记录值是唯一的。
建立主键有两种方法:一种是在数据库提供的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
例:
CREATE TABLE Student
(Son CHAR(12) PRIMARY KEY,
CREATE TABLE Course
(Con CHAR(4),
PRIMARY KEY (Con),
);
CREATE TABLE SC
(Sno CHAR(12),
Con CHAR(4),
PRIMARY KEY(Sno,Con),
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno));
建立主键有两种方法:一种是在数据库提供的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
例:
CREATE TABLE Student
(Son CHAR(12) PRIMARY KEY,
CREATE TABLE Course
(Con CHAR(4),
PRIMARY KEY (Con),
);
CREATE TABLE SC
(Sno CHAR(12),
Con CHAR(4),
PRIMARY KEY(Sno,Con),
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno));
相关文章推荐
- 如何在sqlserver数据库表中建立复合主键
- 如何在sqlserver数据库表中建立复合主键
- play! 如何建立复合主键
- 如何在表中建立复合主键(即多个字段同时作为主键)
- ibatis 如何利用自增主键插入数据库
- Oracle9i中如何建立不同字符集的数据库?
- 如何检测 SQL CE 数据库是否成功建立了合并复制
- 如何用VB建立数据库
- [How To]如何使用Wildfish进行ISeries项目开发--数据库建立部分
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 如何建立SQL Server 2005数据库邮件
- 如何建立主键、外键、索引、重建索引等
- 如何建立一个带登陆页面的Struts数据库应用程序
- mysql如何建立数据库
- hibernate 映射无主键和复合主键的数据库表
- 如何在web.config中建立公用的的数据库连接
- 如何将生成器 Generator 的值自动归0,以此来让数据库自动建立一定格式的[订]单号
- 如何利用数据库建立Union 约束
- JSP中如何取得MSSQL数据库表中自动增长的ID主键值?
- 你知道如何查询/删除/建立DB2数据表的主键吗?