CREATE TABLE AS SELECT

Nếu bạn muốn tạo ra 1 bảng là copy của 1 bảng khác để backup dữ liệu, hay ghi kết quả từ câu lệnh SELECT vào 1 bảng, bạn có thể nghĩ đến câu lệnh CREATE TABLE AS SELECT (CTAS)

Đây là một câu lệnh khá hữu dụng, bài viết này tôi sẽ chia sẻ cho bạn nhé


   Tạo một bảng copy của 1 bảng khác

Cú pháp:

create table <table mới> as select * from <table gốc>

VD: Giả sử tôi muốn tạo ra một bảng khach_hang_bk với cấu trúc và dữ liệu giống hệt bảng khach_hang , tôi thực hiện câu lệnh như sau:

$ create table khach_hang_bk as select * from khach_hang;
CREATE TABLE

   Tạo một bảng mới với cấu trúc giống hệt bảng gốc

Bây giờ, tôi muốn tạo ra 1 bảng mới với cấu trúc giống hệt bảng gốc, nhưng lại là bảng trống, không có dữ liệu. Với 1 chút sáng tạo, tôi sẽ thực hiện việc đó cũng bằng câu lệnh CTAS

create table khach_hang_bk as select * from khach_hang where 1=0;

Trong đó: Điều kiện 1=0 trả về FALSE, tức là không có dữ liệu nào từ bảng khach_hang được lấy ra, chỉ có cấu trúc của khach_hang được tạo ra.

Đọc thêm  Cấu hình chức năng archive mode trong PostgreSQL

   Tạo một bảng mới với 1 phần dữ liệu từ bảng gốc

Tương tự như vậy, tôi có thể chỉ tạo ra 1 bảng với 1 phần dữ liệu từ bảng gốc.

Giả sử: Tôi muốn tạo ra một bảng khach_hang_bk, trong đó, dữ liệu lấy từ bảng customer với điều kiện ngay_tham_gia = 2019

create table khach_hang_bk as select * from khach_hang where ngay_tham_gia = 2019;

   Copy dữ liệu từ một bảng sang 1 bảng khác có cùng cấu trúc

Tình huống tiếp theo là, tôi cần copy 1 phần dữ liệu từ bảng khach_hang sang bảng khach_hang_bk đã tạo trước đó. Tôi sẽ làm như sau:

insert into khach_hang_bk as select * from khach_hang where ngay_tham_gia = 2020;

Nguồn: https://dangxuanduy.com/

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé
    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments