Viện Công Nghệ Và Đào Tạo Devmaster – Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

Cập nhật ngày: 4/22/2015 11:07:40 AM

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

 

Như trong các bài trước, chúng ta đã tạo ra các truy vấn trong một bảng cơ sở dữ liệu. Trong bài này, chúng ta sẽ tìm hiểu cách truy vấn mỗi lần được từ hai cho đến nhiều bảng và hiển thị tập hợp kết quả kết hợp – đó là nối(join) bảng. Kèm theo việc nối bảng, chúng ta cũng cần hiểu thêm về khái niệm khóa ngoại(foreign key).

 

B1: Khởi động WAMP, mở trình duyệt, truy cập vào phpMyAdmin theo đường dẫnhttp://localhost/phpmyadmin/

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

Khóa ngoại(foreign key)

Khóa ngoại đơn giản là một trường(cột) thuộc một bảng, tuy nhiên nó cũng lại là một khóa chính ở một bảng khác.

Cú pháp

FOREIGN KEY (têntrường) REFERENCES tên bảng(têntrường được trỏ đến)

B2: Chọn thẻ SQL, chúng ta sẽ nhập câu lệnh truy vấn để tạo ra một bảng mới, có tên là cars và có một trường id_instance là khóa ngoại

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

Ở dòng thứ năm, chúng ta tạo ra khóa ngoại id_instance đại diện cho trường id trong bảng instance cho bảng cars với câu lệnh

FOREIGN KEY (id_instance) REFERENCES instance(id)

B3: Click Go

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

B4: Chúng ta sẽ tạo ra vài bản ghi cho bảng cars này. Lưu ý rằng trường id_instance phải chứa các giá trị nằm trong khoảng các giá trị mà trường id tại bảng instance chứa.

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

B5: Click Go

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

Nối bảng(join)

Cú pháp

WHERE tênbảng.têntrường = tênbảng.têntrường

B6: Bây giờ chúng ta sẽ nối 2 bảng cars và instance lại để lấy ra được một view dữ liệu mới, với mối quan hệ là trường id_instance của bảng cars và trường id của bảng instance.

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

B7: Click Go

Khóa ngoại(foreign key) và nối(join) bảng trong MySQL

Nguồn: vietobject