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

Tạo bảng MySQL từ bảng đã có với chọn hàng cụ thể

Sử dụng câu lệnh CREATE TABLE ... AS SELECT để tạo bảng mới từ kết quả truy vấn của bảng cũ.

Ví dụ minh họa

Tạo bảng gốc:

mysql> CREATE TABLE DemoTable1318 (
    Id INT,
    FirstName VARCHAR(10),
    LastName VARCHAR(10),
    Age INT
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1318 VALUES(1, 'Chris', 'Brown', 21);
mysql> INSERT INTO DemoTable1318 VALUES(2, 'David', 'Miller', 24);
mysql> INSERT INTO DemoTable1318 VALUES(3, 'Carol', 'Taylor', 23);

Xem dữ liệu:

mysql> SELECT * FROM DemoTable1318;
+------+-----------+----------+------+
| Id   | FirstName | LastName | Age  |
+------+-----------+----------+------+
| 1    | Chris     | Brown    | 21   |
| 2    | David     | Miller   | 24   |
| 3    | Carol     | Taylor   | 23   |
+------+-----------+----------+------+

Tạo bảng mới chỉ lấy hàng có Age là 21 hoặc 23:

mysql> CREATE TABLE DemoTable1319
    AS SELECT * FROM DemoTable1318
    WHERE Age IN (21, 23);

Kiểm tra bảng mới:

mysql> SELECT * FROM DemoTable1319;
+------+-----------+----------+------+
| Id   | FirstName | LastName | Age  |
+------+-----------+----------+------+
| 1    | Chris     | Brown    | 21   |
| 3    | Carol     | Taylor   | 23   |
+------+-----------+----------+------+

Lưu ý quan trọng:

  • Bảng mới không kế thừa khóa chính, khóa ngoại, index, AUTO_INCREMENT, DEFAULT từ bảng gốc.
  • Chỉ sao chép cấu trúc cột (tên, kiểu dữ liệu) và dữ liệu.
  • Để giữ ràng buộc, hãy tạo bảng trước rồi INSERT ... SELECT.