Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Tôi là người mới với mysql. Tôi muốn sao chép nội dung của một bảng sang bảng khác trong cùng một cơ sở dữ liệu. Về cơ bản, tôi muốn chèn vào một bàn từ một bàn khác. Có cách nào dễ dàng để làm điều này?

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

hỏi ngày 26 tháng 2 năm 2010 lúc 17:50Feb 26, 2010 at 17:50

Nếu các bảng có cùng cấu trúc:

INSERT INTO TARGET_TABLE SELECT * FROM SOURCE_TABLE;

Nếu các bảng có cấu trúc khác nhau:

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;

Bạn cũng có thể thêm điều kiện:

INSERT INTO TARGET_TABLE (`col1_`,`col2_`) SELECT `col1`,`col2` FROM SOURCE_TABLE WHERE `foo`=1

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Pikamander2

6.5613 Huy hiệu vàng43 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges43 silver badges65 bronze badges

Đã trả lời ngày 26 tháng 2 năm 2010 lúc 17:50Feb 26, 2010 at 17:50

GGIROUXGGIROUXggiroux

6,4361 Huy hiệu vàng21 Huy hiệu bạc23 Huy hiệu đồng1 gold badge21 silver badges23 bronze badges

1

Nếu bảng không tồn tại, bạn có thể tạo một cái có cùng lược đồ như vậy:

CREATE TABLE table2 LIKE table1;

Sau đó, để sao chép dữ liệu qua:

INSERT INTO table2 SELECT * FROM table1

Đã trả lời ngày 26 tháng 2 năm 2010 lúc 17:52Feb 26, 2010 at 17:52

GSTOGSTOGSto

40.8K37 Huy hiệu vàng128 Huy hiệu bạc179 Huy hiệu đồng37 gold badges128 silver badges179 bronze badges

3

Nếu Bảng 1 lớn và bạn không muốn khóa nó trong suốt thời gian của quá trình sao chép, bạn có thể thực hiện một lần nạp và tải thay thế: thay vào đó:

CREATE TABLE table2 LIKE table1;

SELECT * INTO OUTFILE '/tmp/table1.txt' FROM table1;
LOAD DATA INFILE '/tmp/table1.txt' INTO TABLE table2;

Đã trả lời ngày 26 tháng 2 năm 2010 lúc 19:13Feb 26, 2010 at 19:13

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Ike Walkerike WalkerIke Walker

63.2K14 Huy hiệu vàng106 Huy hiệu bạc108 Huy hiệu đồng14 gold badges106 silver badges108 bronze badges

3

Điều này làm việc cho tôi,

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;
1

Sao chép mới với bàn cũ

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;
2;

Bản sao tất cả các dữ liệu hàng vào bảng mới.

Đã trả lời ngày 13 tháng 9 năm 2017 lúc 10:04Sep 13, 2017 at 10:04

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

JasonjasonJason

6315 Huy hiệu bạc17 Huy hiệu đồng5 silver badges17 bronze badges

Nếu bạn muốn tạo và sao chép nội dung trong một lần chụp, chỉ cần sử dụng

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;
3:

CREATE TABLE new_tbl SELECT * FROM orig_tbl;

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Jesse

6551 Huy hiệu vàng7 Huy hiệu bạc22 Huy hiệu đồng1 gold badge7 silver badges22 bronze badges

Đã trả lời ngày 27 tháng 2 năm 2010 lúc 9:33Feb 27, 2010 at 9:33

Frank Heikensfrank HeikensFrank Heikens

Huy hiệu vàng 111K2424 gold badges136 silver badges132 bronze badges

1

Điều này làm việc cho tôi. Bạn có thể làm cho câu lệnh Chọn phức tạp hơn, với các điều khoản và giới hạn.

Đầu tiên sao chép bảng lớn của bạn (không có dữ liệu), chạy truy vấn sau, sau đó cắt bớt bảng lớn hơn.

INSERT INTO table_small (SELECT * FROM table_large WHERE column = 'value' LIMIT 100)

Siêu đơn giản. :-)

Đã trả lời ngày 13 tháng 7 năm 2017 lúc 15:14Jul 13, 2017 at 15:14

CREATE TABLE target_table SELECT * FROM source_table;

Nó chỉ tạo một bảng mới có cùng cấu trúc như bảng nguồn và cũng sao chép tất cả các hàng từ Source_Table vào Target_Table.

CREATE TABLE target_table SELECT * FROM source_table WHERE condition;

Nếu bạn cần một số hàng để được sao chép vào Target_Table, thì hãy áp dụng một điều kiện bên trong mệnh đề nơiwhere clause

Đã trả lời ngày 4 tháng 8 năm 2020 lúc 9:44Aug 4, 2020 at 9:44

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Jisnajisnajisna

2.0852 Huy hiệu vàng15 Huy hiệu bạc22 Huy hiệu đồng2 gold badges15 silver badges22 bronze badges

Thử cái này. Hoạt động tốt trong Oracle 10g của tôi,

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;
0

Hướng dẫn mysql copy table to another table - sao chép bảng mysql sang bảng khác

Rizier123

58K16 Huy hiệu vàng92 Huy hiệu bạc143 Huy hiệu Đồng16 gold badges92 silver badges143 bronze badges

Đã trả lời ngày 20 tháng 2 năm 2015 lúc 7:07Feb 20, 2015 at 7:07

2

Chúng ta có thể sao chép dữ liệu từ bảng này sang bảng khác không?

Nếu bạn muốn sao chép dữ liệu của một bảng SQL vào bảng SQL khác trong cùng một máy chủ SQL, thì có thể sử dụng câu lệnh CHỌN vào SQL. Việc chọn vào câu lệnh trong ngôn ngữ truy vấn có cấu trúc sao chép nội dung từ một bảng hiện có vào bảng mới.it is possible by using the SELECT INTO statement in SQL. The SELECT INTO statement in Structured Query Language copies the content from one existing table into the new table.

Làm thế nào tôi có thể nhân đôi một bảng trong SQL?

Làm thế nào để nhân đôi một bảng trong MySQL..
Tạo bảng new_table như chọn * từ gốc_table ;.
Tạo bảng new_table như gốc_table ;.
Chèn vào new_table Chọn * từ gốc_table ;.

Cách nhanh nhất để sao chép dữ liệu từ 1 bảng sang bảng khác là gì?

Sử dụng Fetch nhiều hàng SQL là cách nhanh nhất để sao chép dữ liệu từ bảng này sang bảng khác (tôi đã ngạc nhiên khi nó nhanh hơn bao nhiêu khi so sánh với CPYF).Sử dụng varchar chậm hơn chỉ là một char thẳng (không ngạc nhiên). is the fastest way to copy data from one table to another (I was surprised how much faster it is when compared to CPYF). Using VARCHAR is slower than just a straight CHAR (not surprised).

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

Bản sao hoặc bảng sao chép MySQL là một tính năng cho phép chúng tôi tạo một bảng trùng lặp của một bảng hiện có, bao gồm cấu trúc bảng, chỉ mục, ràng buộc, giá trị mặc định, v.v..
Tạo bảng new_table_name ..
Chọn cột1, cột2, cột3 ..
Từ hiện tại_table_name ;.