这些SQL语法之间有什么区别?
我在找外键的信息。。。。再一次在webschools.com上,他们碰巧注意到了相同事情的不同例子。对于外键示例,他们有这些SQL语法之间有什么区别?,sql,foreign-keys,create-table,Sql,Foreign Keys,Create Table,我在找外键的信息。。。。再一次在webschools.com上,他们碰巧注意到了相同事情的不同例子。对于外键示例,他们有 CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) ) 现在 有什么区别 我如何知道我的数据库应该使用哪一个?我觉得这将有助于解决我对SQL的许多困惑 效
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
现在
有什么区别
我如何知道我的数据库应该使用哪一个?我觉得这将有助于解决我对SQL的许多困惑 效果没有差别:它们实现了完全相同的目标 我更喜欢内联版本,因为它使fk定义尽可能接近列定义 还有第三种方式——一种单独的alter table语句,我认为这是官方的方式:
alter table orders
add contraint fk_PerOrders
foreign key p_id references persons(p_id);
您可能会发现一些数据库不支持一个或另一个版本。实际上没有区别:它们实现了完全相同的功能 我更喜欢内联版本,因为它使fk定义尽可能接近列定义 还有第三种方式——一种单独的alter table语句,我认为这是官方的方式:
alter table orders
add contraint fk_PerOrders
foreign key p_id references persons(p_id);
您可能会发现一些数据库不支持一个或另一个版本。它们都在做相同的事情。使用你觉得容易理解的方法。他们都在做同样的事情。使用你认为容易理解的方法。所有方法都有三种: 首先,将P_Id定义为int,然后定义外键约束。 在第二行中,p_Id int外键引用persons p_Id。p_Id是在同一行中排便和外键约束排便 第三,外键约束名称也被命名为fk_PerOrders。当以后要删除约束时,这可能会很有用。e、 g 更改表格顺序 删除外键fk_顺序
为约束命名总是一个好的做法 三种方法都是一样的: 首先,将P_Id定义为int,然后定义外键约束。 在第二行中,p_Id int外键引用persons p_Id。p_Id是在同一行中排便和外键约束排便 第三,外键约束名称也被命名为fk_PerOrders。当以后要删除约束时,这可能会很有用。e、 g 更改表格顺序 删除外键fk_顺序
为约束命名总是一个好的做法 首先你需要知道你要做什么?我的意思是你需要什么属性。可能有很多例子,但所有这些都只是为了测试,它们有不同的目的。首先,你需要知道你要做什么?我的意思是你需要什么属性。可能会有很多例子,但所有这些都只是为了测试,它们有不同的目的可能是你在谈论这个他们写得很清楚。可能是你在谈论这个他们写得很清楚。谢谢!但是,我仍然认为它们做同样的事情,但是这些不同的方法叫什么?它们为什么存在?我只是想知道,因为我还不太懂SQL,在看不同的教程时,我只看到SQL语法。。。直到现在我才意识到有三种不同的。。哈哈。我需要弄清楚我用的是哪一个。谢谢!但是,我仍然认为它们做同样的事情,但是这些不同的方法叫什么?它们为什么存在?我只是想知道,因为我还不太懂SQL,在看不同的教程时,我只看到SQL语法。。。直到现在我才意识到有三种不同的。。哈哈,我需要弄清楚哪一个能和我用的东西配合使用。
alter table orders
add contraint fk_PerOrders
foreign key p_id references persons(p_id);