sql,如何用sql语句对一个已经编辑好的表在设置主码和外码?

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:27:39
比如这个:create table Course
(Cno char(4),
Cname char(40),
Cpno char(4),
Ccredit smallint
);
如何用sql语句将其中的两个列设置为主码和外码?并设置Ccredit的属性的取值范围为0到10?

--修改主键 ALTER TABLE tablename --修改表
ADD
CONSTRAINT tb_PRIMARY
PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/

--修改约束ALTER TABLE 销售表 --修改表
ADD CONSTRAINT ck_sl --创建检查约束
CHECK (数量 >= 1 and 数量 <= 10000) --添加约束条件

--修改外键alter table 表名
add constraint 外键名称 foreign key (字段)
references 关系表名 (关系表内字段)

alter table 表名
add constraint 主键名称 primary key (字段)
go

alter table 表名
add constraint 外键名称 foreign key (字段)
references 关系表名 (关系表内字段)
go

  1. sql中的主码和外码,属于索引,SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 

  2. 创建索引的语法:

    CREATE [UNIQUE][CLUSTERED | NONCLUSTERED]  INDEX  index_name  

    ON {table_name | view_name} [WITH [index_property [,....n]]

    说明:

    UNIQUE: 建立唯一索引。

    CLUSTERED: 建立聚集索引。

    NONCLUSTERED: 建立非聚集索引。