Tạo khóa ngoại trong sql

Trong bài bác này bạn sẽ được học tập phương pháp tạo nên khóa ngoại Foreign Key bởi câu lệnh Squốc lộ biểu hiện qua những hệ quản ngại trị CSDL nlỗi SQL Server, Oracle, MySquốc lộ.

Bạn đang xem: Tạo khóa ngoại trong sql


Khóa nước ngoài là rất nhiều column đặc biệc dùng để làm bộc lộ mọt link giữa hai bảng. Bảng A tất cả column khóa nước ngoài, nó sẽ trỏ mang đến khóa bao gồm của bảng B thì ta hotline A là bảng nhỏ cùng B là bảng thân phụ.

Giả sử ta gồm nhị bảng nhỏng sau:

Orders (OrderID. OrderNumber, PersonID)Persons (PersonID, LastName, FirstName)

Gạch chân là khóa chính cùng màu đỏ là khóa nước ngoài. Vậy nên bảng Orders là bảng bé vày nó có khóa nước ngoài PersonID trỏ mang đến khóa bao gồm của bảng cha là bảng Persion. hiện thời ta đang học tập cách tạo ra khóa ngoại nhé.

1. Tạo Foreign Key trong lệnh CREATE TABLE

Bạn hoàn toàn có thể tạo thành khóa ngoại ngay vào lệnh chế tác bảng Create Table, bí quyết có tác dụng như sau:


MySQL
1
2
3
4
5
6
7
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
SQL Server / Oracle / MS Access:
1
2
3
4
5
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);

Để đánh tên mang đến khóa ngoại thì ta viết nhỏng sau:


MySQL / Squốc lộ Server / Oracle / MS Access
1
2
3
4
5
6
7
8
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);

lúc mang tên thì sau này vô cùng dễ dãi làm chủ khóa ngoại, chúng ta có thể xóa khóa nước ngoài thông qua tên của nó.

Xem thêm: Làm Sao Để Biết Anh Ấy Còn Yêu Mình Không Còn Yêu Bạn Nữa, Làm Sao Để Biết Chồng Có Yêu Mình Không

2. Tạo Foreign Key bởi lệnh Alter Table

Lệnh Alter Table được cho phép chúng ta sản xuất khóa nước ngoài, lệnh này được sử dụng sau khi chúng ta sẽ sản xuất bảng.


MySQL / SQL Server / Oracle / MS Access
1
2
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Hoặc thực hiện bí quyết sau để tại vị thương hiệu mang lại khóa nước ngoài.


MySquốc lộ / SQL Server / Oracle / MS Access:
1
2
3
ALTER TABLE Ordersbr />
Địa Chỉ CONSTRAINT FK_PersonOrderbr />
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

3. Xóa khóa ngoại

Để xóa được khóa ngoại thì phải bạn phải biết tên của khóa nước ngoài, vì vậy khuyến nghị chúng ta khi sinh sản khóa nước ngoài thì nên đặt tên cho nó nhé.

Để xóa thì các bạn sử dụng đoạn code sau:


MySquốc lộ
1
2
ALTER TABLE Orders
DROPhường FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access
1
2
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

Một số xem xét Lúc xóa khóa ngoại:

Sau Lúc xóa chấm dứt thì giữa hai bảng đã không hề buộc ràng, vì vậy dữ liệu cho column khóa ngoại của bảng con được thoải mái, ko bắt buộc phải phía bên trong phạm vi của bảng thân phụ.Phải chắc chắn rằng là tên của khóa ngoại tồn tại, còn nếu như không thì đã dìm thông báo lỗi.
Chia sẻ
0
FacebookSkype
Bài trước
Create cùng Drop Database trong SQL
Bài tiếp theo
Ràng buộc Cheông chồng trong SQL
Related Posts
0 0 vote
Đánh giá
Login
*

Magenlớn 2Cửa hàng dữ liệu
wpDiscuz
Insert