标签:联合主键 sch 另一个 order alt 之间 之一 table arc
详细内容见 https://www.cnblogs.com/geaozhang/p/6786105.html 和http://www.w3school.com.cn/sql/sql_primarykey.asp
CREATE TABLE Persons( Id_P int NOT NULL PRIMARY KEY, Name varchar(255) NOT NULL, Address varchar(255), PRIMARY KEY (Id_P) ); 或者 CREATE TABLE Persons( Id_P int NOT NULL PRIMARY KEY, Name varchar(255) NOT NULL, Address varchar(255), ); 如果需要为主键约束命名,以及为多个列定义主键约束(联合主键), 请使用下面的 SQL 语法: CREATE TABLE Persons( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName) ); 即 constraint 主键名 primary key(列名); constraint 主键名 primary key(列名, 列名……);
alter table Person add primary key (Id_P); 为主键命名或创建联合主键时: alter table Person add constraint 主键名 primary key (Id_P, LastName);
alter table 表名 drop primary key;
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CREATE TABLE Orders( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) ) # Persons是主表,Orders是从表,"Orders" 表中的 "Id_P" 列是 "Orders" 表中的外键。 如果需要为外键命名,以及为多个列定义外键约束,请使用下面的 SQL 语法: CREATE TABLE Orders( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), constraint 外键名 foreign key (Id_P) references Persons(Id_P) )
alter table 表名 add foreign key (列名) references 主表名 (列名); 例: ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P); 当需要为外键命名或者为多个列定义外键时: alter table 表名 add constraint 外键名 foreign key (列名) references 主表名 (列名); 例: ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P);
alter table 表名 drop foreign key 外键名; 例: ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrders;
可以添加或删除约束,但是不能修改一个已有的约束。
ALTER [IGNORE] TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY(col_name,...) |ADD [CONSTRAINT [symbol]] UNIQUE (col_name,...) |ADD [CONSTRAINT [symbol]] FOREIGN KEY (col_name,...) References parent_table(col_name) |DROP PRIMARY KEY |DROP FOREIGN KEY fk_symbo |DROP {INDEX|KEY} index_name --删除唯一性约束
标签:联合主键 sch 另一个 order alt 之间 之一 table arc
原文地址:https://www.cnblogs.com/tashawu1993/p/9737875.html