Sao chép bảng trong SQL

Sao Chep Bang Trong Sql



Nhìn bề ngoài, việc sao chép dữ liệu có vẻ không hiệu quả; đôi khi nó có thể đóng một vai trò rất quan trọng trong trường hợp bạn cần có một bản sao gần như chính xác của cùng một bảng.

Trong SQL, chúng ta có thể sử dụng nhiều phương pháp và kỹ thuật khác nhau để sao chép một bảng hiện có và đặt bảng mới dưới một tên mới nhưng có cùng dữ liệu. Điều này có thể rất hữu ích trong một số tác vụ nhất định như sao lưu, chuyển đổi dữ liệu, thay đổi dữ liệu tạm thời mà không ảnh hưởng đến bảng chính, v.v.







Trong hướng dẫn này, chúng ta sẽ khám phá các phương pháp này và tìm hiểu cách chúng ta có thể sao chép bảng trong cơ sở dữ liệu SQL. Do sự khác biệt về cách các công cụ cơ sở dữ liệu SQL khác nhau xử lý việc sao chép bảng, chúng tôi sẽ không đề cập đến tất cả các phương pháp cho từng cơ sở dữ liệu.



Chúng tôi sẽ thử và đề cập đến ít nhất một bảng cho mỗi công cụ cơ sở dữ liệu, bất cứ khi nào được hỗ trợ, để chỉ cho bạn cách bạn có thể sao chép bảng cho từng công cụ cơ sở dữ liệu được hỗ trợ của mình.



Phương pháp 1: Toàn cầu (Sử dụng câu lệnh CREATE TABLE)

Phương pháp sao chép bảng phổ biến và đơn giản nhất là sử dụng câu lệnh CREATE TABLE.





Không giống như câu lệnh CREATE TABLE thông thường, chúng ta chuyển câu lệnh SELECT chứa cấu trúc và dữ liệu của bảng nguồn.

Cú pháp như sau:



TẠO BẢNG new_table NHƯ
LỰA CHỌN * TỪ bảng nguồn;

Điều này cho phép chúng ta tạo một bảng mới với tên được chỉ định từ bảng nguồn.

Lấy ví dụ cơ sở dữ liệu mẫu Sakila. Giả sử chúng ta muốn tạo một bảng tương tự như bảng cho thuê.

Chúng ta có thể sử dụng kỹ thuật trước đó như trong truy vấn ví dụ sau:

TẠO BẢNG rental_copy NHƯ
LỰA CHỌN * TỪ tiền thuê;

Thao tác này sẽ tạo một bảng mới có tên là “rental_copy” chứa cấu trúc và dữ liệu giống như bảng cho thuê.

Bạn có thể xác minh bằng cách chọn dữ liệu từ bảng như sau:

LỰA CHỌN * TỪ rent_copy;

Điều này phải chứa dữ liệu chính xác như bảng cho thuê.

Phương pháp 2: Toàn cầu (Sử dụng câu lệnh INSERT INTO)

Một phương pháp khác được nhiều cơ sở dữ liệu SQL hỗ trợ trên toàn cầu là sử dụng câu lệnh INSERT INTO.

Kỹ thuật này cho phép chúng ta sao chép từ bảng này sang bảng khác. Không giống như CREATE TABLE và SELECT, phương pháp này cho phép chúng ta tìm nạp dữ liệu một cách có chọn lọc.

Điều này rất hữu ích khi chúng ta cần kiểm soát nhiều hơn trong quá trình sao chép. Chúng ta có thể sử dụng cú pháp như sau:

CHÈN  VÀO bảng mục tiêu ( cột 1, cột 2,... )
CHỌN cột1, cột2, ...
TỪ bảng nguồn;

Trong trường hợp này, chúng ta có thể chỉ định các cột mà chúng ta muốn đưa vào bảng mới mà không thực sự tìm nạp mọi thứ từ bảng gốc.

Lấy truy vấn sau đây làm ví dụ:

CHÈN
VÀO TRONG
cho thuê_bản sao ( thuê_id,
ngày thuê,
ngày trở lại )
LỰA CHỌN
thuê_id,
ngày thuê,
ngày trở lại
TỪ
thuê r;

Một nhược điểm của phương pháp này là nó có thể yêu cầu bạn tạo một bảng tương tự với các cột mà bạn muốn đưa vào. Điều này có thể lặp đi lặp lại và hiệu quả khi làm việc với một tập dữ liệu lớn.

Cách 3: Sao chép cấu trúc bảng

Trong các trường hợp khác, bạn có thể gặp những trường hợp bạn quan tâm đến cấu trúc bảng mà không cần dữ liệu được lưu trữ trong bảng.

Trong trường hợp như vậy, bạn có thể sử dụng câu lệnh CREATE TABLE kết hợp với mệnh đề THÍCH như sau:

TẠO BẢNG new_table ( THÍCH bảng_nguồn ) ;

Điều này sẽ tạo một bảng mới với tên được chỉ định và cấu trúc tương tự như “source_table” mà không thực sự sao chép dữ liệu.

Sao chép các bảng giữa các cơ sở dữ liệu

Để sao chép các bảng giữa các cơ sở dữ liệu khác nhau, chúng ta có thể xuất dữ liệu từ cơ sở dữ liệu nguồn và nhập dữ liệu vào cơ sở dữ liệu đích.

Điều này thường liên quan đến việc sử dụng các định dạng dựa trên tệp như CSV hoặc các công cụ dành riêng cho cơ sở dữ liệu. Bạn có thể tham khảo tài liệu dành cho cơ sở dữ liệu của mình về cách thực hiện việc này vì nó có thể khác nhau tùy thuộc vào công cụ cơ sở dữ liệu.

Phương pháp 4: Sử dụng Máy chủ được liên kết (Máy chủ SQL)

Trong SQL Server, chúng ta có thể sao chép các bảng giữa các cơ sở dữ liệu bằng Máy chủ được liên kết.

Máy chủ được liên kết cho phép chúng tôi thiết lập kết nối đến cơ sở dữ liệu từ xa và truy vấn hoặc truyền dữ liệu giữa chúng.

Cú pháp như sau:

CHÈN VÀO [ Tên máy chủ được liên kết ] . [ Tên cơ sở dữ liệu ] . [ Tên lược đồ ] . [ bảng mục tiêu ]
LỰA CHỌN * TỪ bảng nguồn;

Điều này cho phép kết nối từ xa và truyền dữ liệu giữa các máy chủ từ xa.

Phần kết luận

Trong hướng dẫn này, chúng ta đã học cách sử dụng và làm việc với nhiều phương pháp và kỹ thuật khác nhau để sao chép bảng trong SQL.