Dưới đây là cách dùng thông thường của "INSERT INTO" - khi bạn chèn giá trị thủ công. Câu lệnh theo sau là tên bảng và danh sách cột tùy chọn cần được điền dữ liệu. Tiếp theo là từ khóa "VALUES" và các giá trị thực tế bạn muốn chèn.
INSERTINTO table_name (column_a, column_b)VALUES("value_a","value_b");Được hỗ trợ bởi
Chèn bản ghi DISTINCT vào các bảng mới
Để sao chép dữ liệu từ một bảng hiện có sang bảng mới, bạn có thể dùng mẫu "INSERT INTO SELECT DISTINCT". Sau "INSERT INTO", bạn chỉ định tên bảng đích - trong ví dụ dưới đây là organizations.
Sau đó, bạn chọn các cột cần sao chép từ bảng nguồn – trong trường hợp này là unviversity_professors. Bạn dùng từ khóa "DISTINCT" để chỉ sao chép những tổ chức khác nhau.
INSERTINTO organizations
SELECTDISTINCT organization,
organization_sector
FROM university_professors;Được hỗ trợ bởi
SELECTDISTINCT column_name1, column_name2,...FROM table_a;Được hỗ trợ bởi
Phần này chọn tất cả các giá trị khác nhau trong bảng table_a – không có gì mới với bạn.
-- Insert unique professors into the new tableINSERTINTO professors
SELECTDISTINCT firstname, lastname, university_shortname
FROM university_professors;-- Doublecheck the contents of professorsSELECT*FROM professors;Được hỗ trợ bởi
Lấy phần này và nối vào phần đầu, để chèn tất cả các hàng khác nhau từ table_a vào table_b.
Một lưu ý cuối: Điều quan trọng là bạn chạy toàn bộ đoạn mã cùng lúc sau khi đã điền đầy đủ các phần còn trống.
-- Insert unique affiliations into the new tableINSERTINTO affiliations
SELECTDISTINCT firstname, lastname,function, organization
FROM university_professors;-- Doublecheck the contents of affiliationsSELECT*FROM affiliations;Được hỗ trợ bởi
Cú pháp
Dưới đây là cách dùng thông thường của "INSERT INTO" - khi bạn chèn giá trị thủ công. Câu lệnh theo sau là tên bảng và danh sách cột tùy chọn cần được điền dữ liệu. Tiếp theo là từ khóa "VALUES" và các giá trị thực tế bạn muốn chèn.
Chèn bản ghi DISTINCT vào các bảng mới
Để sao chép dữ liệu từ một bảng hiện có sang bảng mới, bạn có thể dùng mẫu "INSERT INTO SELECT DISTINCT". Sau "INSERT INTO", bạn chỉ định tên bảng đích - trong ví dụ dưới đây là
organizations.Sau đó, bạn chọn các cột cần sao chép từ bảng nguồn – trong trường hợp này là
unviversity_professors. Bạn dùng từ khóa "DISTINCT" để chỉ sao chép những tổ chức khác nhau.Kết quả trên cho thấy chỉ có 1287 bản ghi được chèn vào bảng "organizations".
Ngược lại, nếu bạn dùng "INSERT INTO SELECT" mà không có từ khóa "DISTINCT", các bản ghi trùng lặp cũng sẽ được sao chép.
Di chuyển dữ liệu sang bảng mới
Hãy di chuyển dữ liệu sang các bảng mới. Bạn sẽ dùng mẫu sau:
Có thể tách thành hai phần:
Phần đầu:
Phần này chọn tất cả các giá trị khác nhau trong bảng
table_a– không có gì mới với bạn.Phần thứ hai:
Lấy phần này và nối vào phần đầu, để chèn tất cả các hàng khác nhau từ
table_avàotable_b.Một lưu ý cuối: Điều quan trọng là bạn chạy toàn bộ đoạn mã cùng lúc sau khi đã điền đầy đủ các phần còn trống.
Tự bạn thử nhé.
Để tìm hiểu thêm về cơ sở dữ liệu quan hệ trong SQL, vui lòng xem video từ khóa học Giới thiệu về Cơ sở dữ liệu quan hệ trong SQL của chúng tôi.
Nội dung này được trích từ khóa học Giới thiệu về Cơ sở dữ liệu quan hệ trong SQL của DataCamp do Timo Grossenbacher biên soạn.