Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Bạn có thể sao chép hoặc sao chép bảng MySQL sang bảng khác. Sao chép bảng MySQL rất hữu ích khi bạn muốn chạy một số thử nghiệm trên bảng, nhưng muốn có một bản sao lưu của bảng. Hoặc trong một số trường hợp, bạn muốn tạo một bảng có các cột và chỉ mục chính xác của một bảng đã tồn tại

Có hai cấp độ để sao chép bảng MySQL dựa trên tổng số bảng sao chép

  1. Chỉ sao chép cấu trúc và dữ liệu của bảng
  2. Sao chép cấu trúc và dữ liệu của bảng cùng với các chỉ mục và trình kích hoạt

Sao chép cấu trúc và dữ liệu của MySQL Table

Các cột và các thuộc tính của chúng như kiểu dữ liệu, giá trị mặc định, bộ ký tự, v.v. , được gọi là cấu trúc của các bảng. Và các hàng trong bảng đó là dữ liệu

Để sao chép cấu trúc và dữ liệu của Bảng MySQL, hãy TẠO một BẢNG mới với dữ liệu được chọn từ bảng trước đó. Sau đây là cú pháp

CREATE TABLE new_table AS SELECT * FROM old_table;

Ví dụ – Nhân bản bảng

Sau đây là cấu trúc của bảng students

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Và bảng students có dữ liệu sau

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Bây giờ chúng ta sẽ sao chép cấu trúc và dữ liệu của students vào một bảng mới pupils

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Hãy để chúng tôi xem liệu có tồn tại cả hai bảng trùng lặp và bảng gốc không

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Vâng. họ đây rồi. Và đã đến lúc kiểm tra xem cấu trúc và dữ liệu của bảng pupils có giống hoàn toàn với bảng của students không

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Đó là cấp độ sao chép đầu tiên. Chúng tôi đã sao chép thành công cấu trúc của bảng và các hàng trong đó

Sao chép cấu trúc và dữ liệu của bảng cùng với các chỉ mục và trình kích hoạt

Để sao chép các chỉ mục và trình kích hoạt của Bảng MySQL cùng với cấu trúc và dữ liệu, bạn phải chạy hai Truy vấn SQL trong giao diện dòng lệnh mysql

CREATE TABLE new_table LIKE old_table; 
INSERT new_table SELECT * FROM old_table;
  • Truy vấn đầu tiên tạo một bảng có cùng cấu trúc, chỉ mục và trình kích hoạt như của bảng cũ
  • Truy vấn thứ hai sao chép dữ liệu từ bảng cũ sang bảng mới

Để kiểm tra hiệu ứng trên chỉ mục, chúng tôi sẽ thêm một cột mới vào bảng mysql students và thử sao chép bảng

Cấu trúc bảng students

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

students mục lục bảng

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Bây giờ chúng ta sẽ cố gắng sao chép tất cả bảng này (dữ liệu, cấu trúc, chỉ mục và trình kích hoạt) vào một bảng mới có tên là pupils

Chạy hai truy vấn sau

CREATE TABLE pupils LIKE students; 
INSERT pupils SELECT * FROM students;

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Hãy cho chúng tôi xem điều gì đã xảy ra với chỉ mục của bảng mới được tạo pupils

Truy vấn mysql để tạo bảng trùng lặp trong sql là gì?

Phần kết luận

Trong Hướng dẫn về MySQL này, chúng ta đã học cách sao chép một bảng (cấu trúc và dữ liệu, chỉ mục và trình kích hoạt tùy chọn)

CC BY-NC-NĐ Quốc tế 4. 0. Tác phẩm này được phát hành theo CC BY-NC-ND International 4. 0, có nghĩa là bạn có thể tự do làm với nó theo ý muốn miễn là bạn (1) ghi tên nó đúng cách, (2) không sử dụng nó vì mục đích thương mại và (3) không tạo ra các tác phẩm phái sinh

Có thể xảy ra tình huống khi bạn cần một bản sao chính xác của bảng và TẠO BẢNG. CHỌN không phù hợp với mục đích của bạn vì bản sao phải bao gồm cùng các chỉ mục, giá trị mặc định, v.v.

Bạn có thể xử lý tình huống này bằng cách thực hiện theo các bước dưới đây -

  • Sử dụng SHOW CREATE TABLE để nhận câu lệnh CREATE TABLE chỉ định cấu trúc, chỉ mục và tất cả của bảng nguồn

  • Sửa đổi câu lệnh để thay đổi tên bảng thành tên của bảng nhân bản và thực hiện câu lệnh. Bằng cách này, bạn sẽ có bảng nhân bản chính xác

  • Theo tùy chọn, nếu bạn cũng cần sao chép nội dung bảng, hãy đưa ra lệnh INSERT INTO. Câu lệnh SELECT cũng vậy

Ví dụ

Hãy thử ví dụ sau để tạo bảng nhân bản cho tutorials_tbl

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

mysql> SHOW CREATE TABLE tutorials_tbl \G;
*************************** 1. row ***************************
      Table: tutorials_tbl
Create Table: CREATE TABLE `tutorials_tbl` (
   `tutorial_id` int(11) NOT NULL auto_increment,
   `tutorial_title` varchar(100) NOT NULL default '',
   `tutorial_author` varchar(40) NOT NULL default '',
   `submission_date` date default NULL,
   PRIMARY KEY  (`tutorial_id`),
   UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE = MyISAM
1 row in set (0.00 sec)

ERROR:
No query specified

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

mysql> CREATE TABLE clone_tbl (
   -> tutorial_id int(11) NOT NULL auto_increment,
   -> tutorial_title varchar(100) NOT NULL default '',
   -> tutorial_author varchar(40) NOT NULL default '',
   -> submission_date date default NULL,
   -> PRIMARY KEY  (tutorial_id),
   -> UNIQUE KEY AUTHOR_INDEX (tutorial_author)
-> ) TYPE = MyISAM;
Query OK, 0 rows affected (1.80 sec)

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

Làm cách nào để tạo bản sao của một bảng trong MySQL?

Cách nhanh nhất để sao chép bảng trong MySQL. .
Nhấp chuột phải vào bảng bạn muốn sao chép trong Database Explorer và chọn Duplicate Object
Trong hộp thoại mở ra, chọn db đích
Chọn chỉ sao chép dữ liệu hoặc cấu trúc bảng
Chỉ định tên của bảng mới và bấm OK

Làm cách nào tôi có thể sao chép một bảng trong truy vấn SQL?

Sử dụng SQL Server Management Studio . right-click the table you want to copy and select Design. Chọn các cột trong bảng hiện có và từ menu Chỉnh sửa, chọn Sao chép. Chuyển về bảng mới và chọn hàng đầu tiên. Từ menu Chỉnh sửa, chọn Dán.

Làm cách nào để sao chép bảng có dữ liệu trong SQL?

Sử dụng SQL Server Management Studio .
Mở bảng có cột bạn muốn sao chép và cột bạn muốn sao chép vào bằng cách bấm chuột phải vào bảng, rồi bấm Thiết kế
Nhấp vào tab cho bảng có các cột bạn muốn sao chép và chọn các cột đó
Từ menu Chỉnh sửa, nhấp vào Sao chép

Làm cách nào để sao chép bảng có dữ liệu trong SQL Server?

Mở cơ sở dữ liệu trong SQL Management Studio. Nhấp chuột phải vào bảng mà bạn muốn sao chép. Chọn Bảng tập lệnh làm -> Tạo thành -> Cửa sổ Trình soạn thảo truy vấn mới . Thao tác này sẽ tạo tập lệnh để tạo lại bảng trong cửa sổ truy vấn mới.