Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL chèn dữ liệu từ bảng khác kết hợp với hằng số

Truy vấn MySQL chèn dữ liệu từ bảng khác kết hợp với hằng số

Hãy tạo một bảng trước:

mysql> create table DemoTable1(Name varchar(100));
Query OK, 0 rows affected (0.83 sec)

Chèn một số bản ghi vào bảng bằng lệnh insert:

mysql> insert into DemoTable1 values('John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1 values('Chris');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1 values('Robert');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:

mysql> select * from DemoTable1;

Điều này sẽ tạo ra đầu ra sau:

+--------+
| Name   |
+--------+
| John   |
| Chris  |
| Robert |
+--------+
3 rows in set (0.00 sec)

Truy vấn sau tạo bảng thứ hai:

mysql> create table DemoTable2(
    ConstantValue int,
    EmployeeName varchar(100)
);
Query OK, 0 rows affected (0.70 sec)

Truy vấn sau chèn dữ liệu từ bảng khác kết hợp với hằng số:

mysql> insert into DemoTable2(ConstantValue, EmployeeName) select '1000', Name from DemoTable1;
Query OK, 3 rows affected (0.13 sec)
Records: 3 Duplicates: 0 Warnings: 0

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:

mysql> select * from DemoTable2;

Điều này sẽ tạo ra đầu ra sau:

+---------------+--------------+
| ConstantValue | EmployeeName |
+---------------+--------------+
| 1000          | John         |
| 1000          | Chris        |
| 1000          | Robert       |
+---------------+--------------+
3 rows in set (0.00 sec)

Giải thích: Cú pháp INSERT ... SELECT cho phép chèn kết quả truy vấn SELECT vào bảng khác. Các hằng số ('1000') được lặp lại cho mỗi hàng kết quả từ SELECT.