📜  alter table add key sql server - SQL (1)

📅  最后修改于: 2023-12-03 15:29:19.268000             🧑  作者: Mango

SQL Server中的alter table add key

alter table add key是SQL Server中的一种修改表结构的语句,用于添加索引(即键)。索引可用于加快数据库查询的速度。

语法
ALTER TABLE table_name
ADD [CONSTRAINT constraint_name]
{ PRIMARY KEY | FOREIGN KEY (column_name) references table_name(column_name) [ON DELETE {CASCADE|SET NULL} ON UPDATE {CASCADE|SET NULL}] | UNIQUE (column_name [, column_name...])}
  • table_name:要修改的表名。
  • CONSTRAINT constraint_name:可选项,指定索引的名称。如果没有指定,则会自动生成一个默认的名称。
  • PRIMARY KEY:定义主键索引。
  • FOREIGN KEY:定义外键索引。
  • column_name:要添加索引的列名。
  • references table_name(column_name):定义外键关系。table_name是此表的相关表名,column_name是该表的对应列名。
  • ON DELETE:可选项,定义删除外键时的操作。
  • ON UPDATE:可选项,定义更新外键时的操作。
  • UNIQUE:定义唯一索引。
示例
添加主键
ALTER TABLE employees
ADD CONSTRAINT pk_employees_employeeid PRIMARY KEY (employeeid);

这个示例将在employees表中添加一个主键,主键名为pk_employees_employeeid,列名为employeeid

添加外键
ALTER TABLE orders
ADD CONSTRAINT fk_orders_customerid FOREIGN KEY (customerid) REFERENCES customers(customerid);

这个示例将在orders表中添加一个外键,外键名为fk_orders_customerid,列名为customerid,参考表为customers表,参考列名也为customerid

添加唯一索引
ALTER TABLE employees
ADD CONSTRAINT uk_employees_email UNIQUE (email);

这个示例将在employees表中添加一个唯一索引,索引名为uk_employees_email,列名为email

注意事项
  • 添加索引可能会影响数据库性能,因为需要进行额外的维护操作。应该仅添加必要的索引,避免过度索引导致查询性能下降。
  • 添加主键索引会自动创建唯一索引。
  • 添加外键索引将要求参考列的值必须存在参考表中对应列中。
  • 添加唯一索引将要求该列的值在表中必须唯一。