CREATE TABLE Orders ( OrderID int NOT NULL AUTO_INCREMENT, CustomerID int, OrderDate date, PRIMARY KEY (OrderID), FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) );
上面的代码演示了如何创建一个名为Orders的表,它有一个自增的OrderID字段,一个CustomerID字段用于关联Customers表的CustomerID字段,一个OrderDate字段用于存储订单日期。在代码中用到了关键字FOREIGN KEY和REFERENCES分别表示建立外键和指定参考表。在这个示例中,大家建立了Orders表和Customers表的一对多关系,一条订单记录只能对应一个顾客记录,而一个顾客记录可以对应多条订单记录。
为了更好地理解上面的代码,大家来看一下对应的Customers表:
CREATE TABLE Customers ( CustomerID int NOT NULL AUTO_INCREMENT, CustomerName varchar(255), ContactName varchar(255), PRIMARY KEY (CustomerID) );
上面的代码演示了如何创建一个名为Customers的表,它有一个自增的CustomerID字段,一个CustomerName字段用于存储顾客名称,一个ContactName字段用于存储联系人名称。在代码中用到了关键字PRIMARY KEY表示建立主键,用于唯一标识每一个顾客记录。
在实际应用中,大家可能会遇到其他复杂的表关系,比如多对多关系、自偶关联等,这些都可以通过建立合适的外键约束来处理。需要注意的是,在MySQL中建立外键约束需要使用InnoDB存储引擎,而不是默认的MyISAM存储引擎。此外,外键约束会对数据的插入、删除和更新操作产生影响,需要谨慎使用。