SELECT INTO trong SQL Server
Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh SELECT INTO
trong SQL Server để sao chép bảng.
Giới thiệu về câu lệnh SELECT INTO trong SQL Server
Câu lệnh SELECT INTO
tạo một bảng mới và thêm các hàng từ truy vấn vào đó.
Câu lệnh SELECT INTO
sau tạo bảng destination
và sao chép các hàng thỏa mãn điều kiện WHERE
từ bảng source
này sang bảng destination
:
SELECT
select_list
INTO
destination
FROM
source
[WHERE condition]
Nếu bạn muốn sao chép một phần dữ liệu từ bảng source
, bạn sử dụng mệnh đề WHERE
để chỉ định những hàng cần sao chép. Tương tự, bạn có thể chỉ định cột nào từ bảng source
để sao chép vào bảng destination
bằng cách chỉ định chúng trong danh sách chọn.
Lưu ý rằng câu lệnh
SELECT INTO
không sao chép các ràng buộc như khóa chính và các chỉ mục từ bảngsource
vào bảngdestination
.
Ví dụ về câu lệnh SELECT INTO trong SQL Server
Hãy lấy một số ví dụ về việc sử dụng câu lệnh SELECT INTO
.
Sử dụng câu lệnh SELECT INTO để sao chép bảng trong cùng một cơ sở dữ liệu
Đầu tiên, hãy tạo một lược đồ mới để lưu trữ bảng mới.
CREATE SCHEMA marketing;
GO
Thứ hai, tạo bảng marketing.customers
giống như bảng sales.customers
và sao chép tất cả các hàng từ bảng sales.customers
vào bảng marketing.customers
:
SELECT *
INTO marketing.customers
FROM sales.customers;
Thứ ba, truy vấn dữ liệu từ bảng marketing.customers
để xác minh bản sao:
SELECT *
FROM marketing.customers;
Hình ảnh sau đây cho thấy đầu ra một phần:
Sử dụng câu lệnh SELECT INTO để sao chép bảng trên các cơ sở dữ liệu
Đầu tiên, hãy tạo một cơ sở dữ liệu mới có tên TestDb
để thử nghiệm:
CREATE DATABASE TestDb;
GO
Thứ hai, sao chép bảng sales.customers
từ cơ sở dữ liệu hiện tại (BikeStores
) vào bảng TestDb.dbo.customers
. Lần này, chúng ta chỉ sao chép thông tin định danh khách hàng, họ, tên và email của những khách hàng sống tại California
:
SELECT
customer_id,
first_name,
last_name,
email
INTO
TestDb.dbo.customers
FROM
sales.customers
WHERE
state = 'CA';
Thứ ba, truy vấn dữ liệu từ bảng TestDb.dbo.customers
để xác minh bản sao:
SELECT *
FROM TestDb.dbo.customers;
Đây là kết quả một phần của truy vấn:
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh SELECT INTO
trong SQL Server để sao chép một bảng trong cùng một cơ sở dữ liệu hoặc trên các cơ sở dữ liệu khác nhau.