主键用于唯一标识表中每一行,不允许重复或为 null,而外键则用于建立表之间的关系,指向另一表的主键,并在主键行被删除时根据指定的选项更新或删除包含外键的行。
如何使用 SQL 设置主键和外键
主键
- 主键是表中唯一标识每行的列。
- 主键的值必须是唯一的,并且不能为 null。
- 每个表只能有一个主键。
设置主键
可以使用 PRIMARY KEY 约束来设置主键:
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
例如,在 customers 表中设置 customer_id 列为主键:
ALTER TABLE customers ADD PRIMARY KEY (customer_id);
外键
- 外键是表中引用另一表主键的列。
- 外键的值必须与被引用表的相应主键值匹配。
- 外键可以用于建立表之间的关系。
设置外键
可以使用 FOREIGN KEY 约束来设置外键:
ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table_name (other_column_name);
例如,在 orders 表中设置 customer_id 列为外键,引用 customers 表的 customer_id 主键:
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers (customer_id);
外键约束选项
- ON DELETE CASCADE:当被引用表中的主键行被删除时,也会删除包含外键行的所有行。
- ON DELETE SET NULL:当被引用表中的主键行被删除时,包含外键的行的外键值将被设置为 null。
- ON DELETE RESTRICT:如果外键值与被引用表中已存在的行不匹配,则无法删除被引用表中的主键行。
以上就是sql怎么设主键外键的详细内容,更多请关注编程网其它相关文章!