Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Clone Table Trong Sql2023 04 12 11 14 15

Tìm kiếm
Thuộc khóa học · baihoc_sub = 50

MS SQL ( Basic to Pro )

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Clone table trong SQL

Clone table trong SQL

Clone table trong SQL

Clone table trong SQL



Nhân bản hay clone table trong SQL. Có thể có một tình huống khi bạn cần bản sao chính xác của bảng và tạo bảng bằng lệnh CREATE TABLE ... hoặc các lệnh SELECT ... không phù hợp với mục đích của bạn vì bản sao phải bao gồm các chỉ mục, giá trị mặc định và vv.

Nếu bạn đang sử dụng MySQL RDBMS, bạn có thể xử lý tình huống này bằng cách tuân theo các bước dưới đây:

  • Sử dụng lệnh SHOW CREATE TABLE để nhận câu lệnh CREATE TABLE xác định cấu trúc, chỉ mục của bảng nguồn và tất cả những gì liên quan.
  • Sửa đổi câu lệnh trên và thay đổi tên bảng của bảng nhân bản và thực thi câu lệnh đó. Bằng cách này bạn sẽ có một bảng nhân bản chính xác.
  • Tùy chọn, nếu bạn cần nội dung bảng được sao chép, cũng sẽ đưa ra một câu lệnh INSERT INTO hoặc SELECT.

Nội dung chính

Ví dụ

Ví dụ tạo một bảng nhân bản cho TEST_TBL có cấu trúc như sau:

Bước 1 - Lấy cấu trúc hoàn chỉnh về bảng.

 SHOW CREATE TABLE TEST_TBL \G;  *************************** 1. row ***************************        Table: TEST_TBL  Create Table: CREATE TABLE 'TEST_TBL' (    'vt_id' int(11) NOT NULL auto_increment,    'vt_title' varchar(100) NOT NULL default '',    'vt_author' varchar(40) NOT NULL default '',    'submission_date' date default NULL,    PRIMARY KEY  ('vt_id'),    UNIQUE KEY 'AUTHOR_INDEX' ('vt_author')  ) TYPE = MyISAM  1 row in set (0.00 sec) 

Bước 2 - Đổi tên bảng này và tạo một bảng khác.

 CREATE TABLE `CLONE_TBL` (    -> 'vt_id' int(11) NOT NULL auto_increment,    -> 'vt_title' varchar(100) NOT NULL default '',    -> 'vt_author' varchar(40) NOT NULL default '',    -> 'submission_date' date default NULL,    -> PRIMARY KEY  (`vt_id'),    -> UNIQUE KEY 'AUTHOR_INDEX' ('vt_author')  -> ) TYPE = MyISAM;  Query OK, 0 rows affected (1.80 sec)  

Bước 3 - Sau khi thực hiện bước 2. Nếu bạn muốn sao chép dữ liệu từ một bảng cũ, thì bạn có thể thực hiện bằng cách sử dụng câu lệnh INSERT INTO ... SELECT.

 INSERT INTO CLONE_TBL (vt_id,     ->   vt_title,     ->   vt_author,     ->   submission_date)     -> SELECT vt_id,vt_title,     ->   vt_author,submission_date,     -> FROM TEST_TBL;  Query OK, 3 rows affected (0.07 sec)  Records: 3  Duplicates: 0  Warnings: 0  

Cuối cùng, bạn sẽ có một bảng chính xác được clone như bạn muốn có.

Bài tiếp theo: Sub query trong SQL


ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.

Bài học liên quan

Các bài khác có cùng khóa học cha theo baihoc_sub.

Home Dịch vụ Khóa học CPanel