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

MySQL BẬT và SỬ DỤNG?

Nói chung, chúng tôi sử dụng ON trong MySQL. Trong Tham gia, chúng tôi sử dụng BẬT trong một tập hợp các cột. USING hữu ích khi cả hai bảng chia sẻ một cột có cùng tên chính xác mà chúng tham gia.

Ví dụ về Bật.

Tạo bảng đầu tiên của chúng tôi.

mysql> CREATE table ForeignTableDemo
   -> (
   -> Id int,
   -> Name varchar(100),
   - > FK int
   - > );
Query OK, 0 rows affected (0.47 sec)

Tạo bảng thứ hai của chúng tôi.

mysql> CREATE table PrimaryTableDemo
   - > (
   - >  FK int,
   - > Address varchar(100),
   - > primary key(FK)
   - > );
Query OK, 0 rows affected (0.47 sec)

Bây giờ hãy để chúng tôi thêm các ràng buộc.

mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK);
Query OK, 0 rows affected (1.54 sec)
Records: 0  Duplicates: 0  Warnings: 0

Để thêm bản ghi vào bảng thứ hai.

mysql> INSERT into PrimaryTableDemo values(1,'US');
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into PrimaryTableDemo values(2,'UK');
Query OK, 1 row affected (0.14 sec)

mysql>  INSERT into PrimaryTableDemo values(3,'Unknown');
Query OK, 1 row affected (0.08 sec)

Hiển thị tất cả các bản ghi.

mysql> SELECT * from PrimaryTableDemo;

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

+----+---------+
| FK | Address |
+----+---------+
|  1 | US      |
|  2 | UK      |
|  3 | Unknown |
+----+---------+
3 rows in set (0.00 sec)

Bây giờ, để thêm các bản ghi vào bảng đầu tiên.

mysql>  INSERT into ForeignTableDemo values (1,'John',1);
Query OK, 1 row affected (0.20 sec)

mysql>  INSERT into ForeignTableDemo values (2,'Bob',2);
Query OK, 1 row affected (0.27 sec)

Bây giờ, hãy để chúng tôi hiển thị tất cả các bản ghi từ bảng đầu tiên.

mysql> SELECT * from ForeignTableDemo;

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

+------+------+------+
| Id   | Name | FK   |
+------+------+------+
|    1 | John |    1 |
|    2 | Bob  |    2 |
+------+------+------+
2 rows in set (0.00 sec)

Truy vấn cho phép nối thẳng chỉ hiển thị các hàng phù hợp được hiển thị bên dưới. Chúng tôi đã sử dụng ON ở đây.

mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address
   - > from ForeignTableDemo
   - > join PrimaryTableDemo
   - > on ForeignTableDemo.FK = PrimaryTableDemo.FK;

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

+------+------+---------+
| Id   | Name | Address |
+------+------+---------+
|    1 | John | US      |
|    2 | Bob  | UK      |
+------+------+---------+
2 rows in set (0.14 sec)

Ví dụ về SỬ DỤNG.

Sau đây là cú pháp USING trong MySQL, hiển thị bản ghi FK =1.

mysql> select *from ForeignTableDemo join PrimaryTableDemo using(FK) where FK=1;

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

+------+------+------+---------+
| FK   | Id   | Name | Address |
+------+------+------+---------+
|    1 |    1 | John | US      |
+------+------+------+---------+
1 row in set (0.09 sec)