Computer >> Máy Tính >  >> Lập trình >> MySQL

Hiểu cơ bản về khóa ngoại trong MySQL?

Khóa ngoại có thể được sử dụng để tạo mối quan hệ giữa các bảng. Mối quan hệ khóa ngoài có thể là một với một hoặc một với nhiều. Khóa ngoại khớp với một trường khác của bảng khác.

  • Mối quan hệ 1-1 - Một bản ghi từ một bảng sẽ được liên kết với một bản ghi trong bảng khác.

  • Một đến nhiều mối quan hệ - Một bản ghi sẽ được liên kết với nhiều bản ghi trong bảng khác.

Sau đây là một ví dụ. Đầu tiên, chúng ta sẽ tạo một bảng. Lệnh CREATE được sử dụng để tạo bảng.

mysql> create table tblF
    - > (
    - > id int ,
    - > FirstName varchar(100),
    - > FK_PK int
    - > );
Query OK, 0 rows affected (0.57 sec)

Để tạo bảng thứ hai.

mysql> create table tblP
    - > (
    - > FK_PK int,
    - > LastName varchar(100),
    - > primary key(FK_PK)
    - > );
Query OK, 0 rows affected (0.94 sec)

Sau đây là cú pháp để tạo khóa ngoại.

mysql> ALTER table tblF add constraint ConstFK foreign key(FK_PK) references tblP(FK_PK);
Query OK, 0 rows affected (2.17 sec)
Records: 0  Duplicates: 0  Warnings: 0

Kiểm tra xem khóa ngoại đã được tạo hay chưa với sự trợ giúp của lệnh DESC.

mysql> DESC tblF;

Sau đây là kết quả đầu ra.

+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | int(11)      | YES  |     | NULL    |       |
| FirstName | varchar(100) | YES  |     | NULL    |       |
| FK_PK     | int(11)      | YES  | MUL | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
3 rows in set (0.05 sec)