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

Kết hợp CHÈN, GIÁ TRỊ và CHỌN trong MySQL

Bạn có thể kết hợp lệnh chèn, giá trị và câu lệnh select bằng cú pháp dưới đây

insert into yourFirstTableName(yourColumnName1,yourColumnName2,.......N)
select yourColumnName1,yourColumnName2,.......N
from yourSecondTableName where yourCondition;

Để hiểu cú pháp trên, chúng ta hãy tạo hai bảng trong đó bảng đầu tiên sẽ lấy bản ghi từ bảng thứ hai.

Hãy để chúng tôi tạo bảng đầu tiên mà không có bất kỳ bản ghi nào. Truy vấn để tạo bảng như sau

mysql> create table CombiningInsertValuesSelect
   -> (
   -> EmployeeId varchar(10),
   -> EmployeeName varchar(100),
   -> EmployeeAge int
   -> );
Query OK, 0 rows affected (6.95 sec)

Bây giờ bạn có thể tạo bảng thứ hai với một số bản ghi. Truy vấn để tạo bảng như sau

mysql> create table getAllValues
   -> (
   -> Id varchar(100),
   -> Name varchar(100),
   -> Age int
   -> );
Query OK, 0 rows affected (1.12 sec)

Chèn các bản ghi trong bảng thứ hai với tên ‘getAllValues’ bằng cách sử dụng lệnh chèn. Truy vấn như sau

mysql> insert into getAllValues values('EMP-1','John',26);
Query OK, 1 row affected (0.86 sec)

mysql> insert into getAllValues values('EMP-2','Carol',22);
Query OK, 1 row affected (0.36 sec)

mysql> insert into getAllValues values('EMP-3','Sam',24);
Query OK, 1 row affected (0.28 sec)

mysql> insert into getAllValues values('EMP-4','David',27);
Query OK, 1 row affected (0.25 sec)

mysql> insert into getAllValues
values('EMP-5','Bob',21);
Query OK, 1 row affected (0.75 sec)

Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau

mysql> select *from getAllValues;

Sau đây là kết quả

+-------+-------+------+
| Id    | Name  | Age  |
+-------+-------+------+
| EMP-1 | John  |   26 |
| EMP-2 | Carol |   22 |
| EMP-3 | Sam   |   24 |
| EMP-4 | David |   27 |
| EMP-5 | Bob   |   21 |
+-------+-------+------+
5 rows in set (0.00 sec)

Đây là cách sử dụng insert, value và select trong MySQL. Truy vấn như sau

mysql> insert into CombiningInsertValuesSelect(EmployeeId,EmployeeName,EmployeeAge)
   -> select Id,Name,Age from getAllValues where Id='EMP-4';
Query OK, 1 row affected (0.23 sec)
Records: 1 Duplicates: 0 Warnings: 0

Bây giờ hãy kiểm tra bản ghi có trong bảng hay không sử dụng câu lệnh select. Truy vấn như sau

mysql> select *from CombiningInsertValuesSelect;

Sau đây là kết quả

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
| EMP-4      | David        | 27          |
+------------+--------------+-------------+
1 row in set (0.00 sec)