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.