SELECT INTO trong SQL Server

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ảng source vào bảng destination.

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 trong cùng một cơ sở dữ liệu trong SQL Server

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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *