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

2024-11-29 05:55:43
推荐回答(5个)
回答1:

  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: 建立非聚集索引。

    Index_property: 索引属性。

     UNIQUE索引既可以采用聚集索引结构,也可以采用非聚集索引的结构,如果不指明采用的索引结构,则SQL Server系统默认为采用非聚集索引结构。

  3. 删除索引语法:

    DROP INDEX table_name.index_name[,table_name.index_name]

    说明:table_name: 索引所在的表名称。

    index_name : 要删除的索引名称。

  4. 修改索引的语法:

  5. ALTER INDEX命令在其用来做什么方面多少有些欺骗性。截止到现在,ALTER命令总是与修改对象的定义有关。例如ALTER表以添加或禁用约束和列。ALTER INDEX是不同的-该命令与维护有关,而与结构完全不相干。如果需修改索引的组成,那么只能DROP然后CREATE索引,或者用DROP_EXISTING=ON选项CREATE并使用索引。

  6. ALTER INDEX { | ALL}
    ON
    { REBUILD
    [[ WITH (
      [PAD_INDEX = {ON | OFF}]
        | [[,] FILLFACTOR =
        | [[,] SORT_IN_TEMPDB = { ON | OFF }]
        | [[,] IGNORE_DUP_KEY = { ON | OFF }]
        | [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
        | [[,] ONLINE = { ON| OFF }]
        | [[,] ALLOW_ROW_LOCKS = { ON | OFF }]
        | [[,] ALLOW_PAGE_LOCKS = { ON | OFF }]
        | [[,] MAXDOP =
      )]
      |[ PARTITION =
        [ WITH (< partition rebuild index option>
        [,...N])]]]
        | DISABLE
        | REORGANIZE
        [ PARTITION = ]
        [ WITH (LOB_COMPACTION = { ON | OFF })]
        | SET ([ ALLOW_ROW_LOCKS = { ON | OFF} ]
        | [[,] ALLOW_PAGE_LOCKS = { ON | OFF } ]
        | [[,] IGNORE_DUP_KEY = { ON | OFF } ]
        | [[,] STATISTICS_NORECOMPUTE = { ON | OFF }]
      )
    }[;]

    回答2:

    --修改主键 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 关系表名 (关系表内字段)

    回答3:

    主键你可以在表设计窗口选中要设置主键的列选择设置主键即可,外键你可以右键,选择关系,在里面添加即可。至于设置取值范围你可以设置一个约束。

    回答4:

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

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

    回答5:

    create table table_name
    colum_name datatype
    [constraint constraint_name] [not] null primary key |unique