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

Truy vấn MySQL để CHÈN VÀO bằng cách sử dụng các giá trị từ một bảng khác?

Đối với điều này, hãy sử dụng câu lệnh INSERT INTO SELECT.

Hãy để chúng tôi tạo một bảng -

Ví dụ

mysql> create table demo82
   -> (
   -> id int,
   -> name varchar(20)
   -> );
Query OK, 0 rows affected (2.06

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

Ví dụ

mysql> insert into demo82 values(100,'John');
Query OK, 1 row affected (0.14

mysql> insert into demo82 values(101,'Bob');
Query OK, 1 row affected (0.32

mysql> insert into demo82 values(101,'David');
Query OK, 1 row affected (0.09

mysql> insert into demo82 values(101,'Mike');
Query OK, 1 row affected (0.12

mysql> insert into demo82 values(100,'Sam');
Query OK, 1 row affected (0.07

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

Ví dụ

mysql> select *from demo82;

Điều này sẽ tạo ra kết quả sau -

Đầu ra

+------+-------+

| id   | name  |

+------+-------+

|  100 | John  |

|  101 | Bob   |

|  101 | David |

|  101 | Mike  |

|  100 | Sam   |

+------+-------+

5 rows in set (0.00 sec)

Sau đây là truy vấn để tạo bảng thứ hai.

Ví dụ

mysql> create table demo83
   -> (
   -> id int,
   -> username varchar(20)
   -> );
Query OK, 0 rows affected (1.25

Chèn một số bản ghi vào bảng thứ hai với sự trợ giúp của lệnh insert -

Ví dụ

mysql> insert into demo83(id,username)
   -> select id,name from demo82 where id=101;
Query OK, 3 rows affected (0.14 sec)
Records: 3 Duplicates: 0 Warnings: 0

Hiển thị các bản ghi từ bảng thứ hai bằng cách sử dụng câu lệnh select -

Ví dụ

mysql> select *from demo83;

Điều này sẽ tạo ra kết quả sau -

Đầu ra

+------+----------+

| id   | username |

+------+----------+

|  101 | Bob      |

|  101 | David    |

|  101 | Mike     |

+------+----------+

3 rows in set (0.00 sec)