Header Ads

Sao chép giữa hai table trong SQL

Sao chép giữa 2 table trong SQL

 

Trong bài này chúng ta sẽ tìm hiểu cách sao chép dữ liệu từ bảng này  sang bảng mới bằng cách sử dụng các lệnh CREATE TABLE và SELECT. Kĩ thuật này thường được ứng dụng trong quá trình sao lưu dữ liệu, tạo bảng sao dữ liệu để kiểm thử (test).
Cú pháp:
CREATE TABLE new_table
 SELECT *  FROM existing_table
Giải thích:
·         Trước tiên, MySQL tạo ra một bảng mới có tên là new_table.
·         Sau đó, MySQL sẽ điền dữ liệu vào bảng mới bằng cách lấy dữ liệu từ kết quả trả về của câu lệnh SELECT.
Để sao chép một phần dữ liệu từ một bảng đã có sẵn, ta áp dụng điệu kiện lọc với mệnh đề WHERE trong câu SELECT. Cú pháp như sau:
CREATE TABLE new_table
SELECT *  FROM existing_table WHERE conditions
Để đảm bảo không xảy ra lỗi trong quá trình tạo bảng mới ta dùng mệnh đề IF NOT EXISTS với cú pháp hoàn chỉnh như sau
CREATE TABLE IF NOT EXISTS new_table
 SELECT *  FROM existing_table
 WHERE conditions
Ví dụ:
CREATE TABLE IF NOT EXISTS offices_bk
 SELECT * FROM offices
Tiếp theo
CREATE TABLE IF NOT EXISTS offices_usa
 SELECT *  FROM offices
 WHERE country = 'USA'

No comments