Làm cách nào để tạo một bảng có cùng cấu trúc với một bảng khác trong MySQL?
Bạn cũng có thể sử dụng câu lệnh SQL CREATE TABLE AS để tạo bảng từ bảng hiện có bằng cách sao chép các cột của bảng hiện có Show
Điều quan trọng cần lưu ý là khi tạo bảng theo cách này, bảng mới sẽ được điền các bản ghi từ bảng hiện có (dựa trên Câu lệnh SELECT) Tạo bảng - Bằng cách sao chép tất cả các cột từ một bảng kháccú phápCú pháp của câu lệnh CREATE TABLE AS khi sao chép tất cả các cột trong SQL là CREATE TABLE new_table AS (SELECT * FROM old_table); Thí dụHãy xem một ví dụ cho biết cách tạo bảng bằng cách sao chép tất cả các cột từ một bảng khác Ví dụ CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000); Thao tác này sẽ tạo một bảng mới có tên là nhà cung cấp bao gồm tất cả các cột từ bảng công ty nhưng không có dữ liệu từ bảng công ty Trong các hoạt động cơ sở dữ liệu, có thể có lúc bạn cần sao chép hoặc sao chép một bảng hiện có sang một bảng mới do các cột và thuộc tính giống nhau của chúng để thực hiện kiểm tra mà không ảnh hưởng đến bảng gốc hoặc các lý do cá nhân khác Tôi đã gặp tình huống này, theo đó tôi cần tạo một bộ bảng mới cho một tính năng mới mà chúng tôi đang tích hợp. Bảng này có khá nhiều cột và rất giống với một bảng hiện có đang xử lý một tập hợp dữ liệu tương tự khác của một đối tượng địa lý cụ thể Vì bảng hiện có này và bảng mới khá giống nhau nên giải pháp nhanh chóng của tôi cho vấn đề này là sao chép bảng hiện có để tạo bảng mới Trong SQL, việc này khá dễ thực hiện vì bạn có thể dễ dàng chạy một vài lệnh sao cho phù hợp nhất với nhu cầu sao chép của mình Trong bài viết này, tôi sẽ chỉ cho bạn cách sao chép và sao chép các bảng hiện có trong SQL nhân bản đơn giảnPhương thức đầu tiên được gọi là Nhân bản đơn giản và đúng như tên gọi của nó, nó tạo một bảng từ một bảng khác mà không tính đến bất kỳ thuộc tính và chỉ mục cột nào CREATE TABLE new_table SELECT * FROM original_table; Vì vậy, nếu tôi có một bảng có tên là CREATE TABLE new_table LIKE original_table; 4, tôi có thể dễ dàng tạo một bảng khác có tên là CREATE TABLE new_table LIKE original_table; 5 mà không cần quan tâm đến các thuộc tính và chỉ mục cột của bảng CREATE TABLE new_table LIKE original_table; 4Lệnh SQL dưới đây tạo một bản sao đơn giản của bảng CREATE TABLE new_table LIKE original_table; 4CREATE TABLE adminUsers SELECT * FROM users; Sử dụng công cụ này để nhanh chóng sao chép bất kỳ bảng nào chỉ bao gồm cấu trúc và dữ liệu của bảng gốc nhân bản nôngSao chép nông chủ yếu được sử dụng để tạo bản sao của cấu trúc dữ liệu bảng hiện có và các thuộc tính cột mà không sao chép dữ liệu. Điều này sẽ chỉ tạo một bảng trống dựa trên cấu trúc của bảng gốc CREATE TABLE new_table LIKE original_table; Lệnh sau sẽ tạo một cơ sở bảng trống trên bảng gốc CREATE TABLE adminUsers LIKE users; Sử dụng cái này nếu bạn chỉ muốn cấu trúc dữ liệu và thuộc tính cột của bảng gốc nhân bản sâuNhân bản sâu hoàn toàn khác với Nhân bản đơn giản và tương tự như nhân bản Nông nhưng với dữ liệu và như tên gọi của nó, nó tạo ra một bản sao sâu của bảng gốc Điều này có nghĩa là bảng mới có tất cả các thuộc tính của từng cột và chỉ mục của bảng hiện có. Điều này khá hữu ích nếu bạn muốn duy trì các chỉ mục và thuộc tính của bảng hiện có Để làm được điều này, chúng ta sẽ phải tạo một bảng trống dựa trên cấu trúc và thuộc tính của bảng gốc, sau đó chọn dữ liệu từ bảng gốc và chèn vào bảng mới CREATE TABLE new_table LIKE original_table; Để dễ dàng sao chép bản gốc của chúng tôi và cũng có thể sao chép dữ liệu của nó CREATE TABLE adminUsers LIKE users; Một điều thú vị khác bây giờ là, giả sử bạn không muốn tất cả dữ liệu từ bảng hiện có và chỉ muốn một số dữ liệu, dựa trên một số điều kiện, sau đó tinh chỉnh các truy vấn CREATE TABLE adminUsers SELECT * FROM users; 1 của bạn là lựa chọn tốt nhất của bạnChẳng hạn, chúng tôi có người dùng có CREATE TABLE adminUsers SELECT * FROM users; 2 trong bảng CREATE TABLE new_table LIKE original_table; 4 và chúng tôi chỉ muốn sao chép những người dùng đó vào bảng mới của chúng tôi, bạn có thể dễ dàng thực hiện điều đó như bên dướiTóm lược. trong hướng dẫn này, bạn sẽ học cách sao chép bảng trong cùng một cơ sở dữ liệu hoặc từ cơ sở dữ liệu này sang cơ sở dữ liệu khác bằng cách sử dụng câu lệnh CREATE TABLE và SELECT Bảng sao chép MySQL sang bảng mớiSao chép dữ liệu từ bảng hiện có sang bảng mới rất hữu ích trong một số trường hợp như sao lưu dữ liệu và sao chép dữ liệu sản xuất để thử nghiệm Để sao chép dữ liệu từ một bảng sang một bảng mới, bạn sử dụng câu lệnh CREATE TABLE và SELECT như sau CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);0 Đầu tiên, MySQL tạo một bảng mới với tên được chỉ định trong câu lệnh CREATE TABLE. Cấu trúc của bảng mới được xác định bởi tập kết quả của câu lệnh CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);14. Sau đó, MySQL điền dữ liệu đến từ câu lệnh CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);14 vào bảng mới Để sao chép một phần dữ liệu từ bảng hiện có sang bảng mới, bạn sử dụng mệnh đề WHERE trong câu lệnh SELECT như sau CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);1 Điều rất quan trọng là phải kiểm tra xem bảng bạn muốn tạo đã tồn tại chưa trước khi tạo nó. Để làm như vậy, bạn sử dụng mệnh đề CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);16 trong câu lệnh CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);17. Toàn bộ lệnh sao chép dữ liệu từ bảng hiện có sang bảng mới như sau CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);1 Lưu ý rằng câu lệnh trên chỉ sao chép bảng và dữ liệu của nó. Nó không sao chép các đối tượng cơ sở dữ liệu khác như chỉ mục, ràng buộc khóa chính, ràng buộc khóa ngoại, trình kích hoạt, v.v. , liên kết với bảng Để sao chép dữ liệu từ một bảng và tất cả các đối tượng phụ thuộc của bảng, bạn sử dụng các câu lệnh sau CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);7 Chúng ta cần thực hiện hai câu lệnh. Câu lệnh đầu tiên tạo một bảng mới CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);18 bằng cách sao chép CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);19. Câu lệnh thứ hai chèn dữ liệu từ bảng hiện có vào CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);18 Ví dụ về bảng sao chép MySQLCâu lệnh sau sao chép dữ liệu từ bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);11 sang một bảng mới có tên là CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);12 trong cơ sở dữ liệu mẫu của CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);13 CREATE TABLE new_table SELECT * FROM original_table; 4Chúng tôi có thể xác minh bản sao bằng cách truy vấn dữ liệu từ bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);14 như sau CREATE TABLE new_table SELECT * FROM original_table; 6Trong trường hợp chúng ta chỉ muốn sao chép các văn phòng ở Hoa Kỳ, chúng ta có thể thêm mệnh đề CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);15 vào mệnh đề CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);14 như sau. CREATE TABLE new_table SELECT * FROM original_table; 9Câu lệnh sau lấy tất cả dữ liệu từ bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);17 CREATE TABLE adminUsers SELECT * FROM users; 1Giả sử chúng ta muốn sao chép không chỉ dữ liệu mà còn tất cả các đối tượng cơ sở dữ liệu được liên kết với bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);11, chúng ta sử dụng các câu lệnh sau. CREATE TABLE adminUsers SELECT * FROM users; 3Bảng sao chép MySQL sang cơ sở dữ liệu khácĐôi khi, bạn muốn sao chép một bảng sang một cơ sở dữ liệu khác. Trong những trường hợp như vậy, bạn sử dụng các câu lệnh sau CREATE TABLE adminUsers SELECT * FROM users; 4Câu lệnh đầu tiên tạo một bảng mới new_table trong cơ sở dữ liệu đích (destination_db) bằng cách sao chép bảng hiện có (current_table) từ cơ sở dữ liệu nguồn (source_db) Câu lệnh thứ hai sao chép dữ liệu từ bảng hiện có trong cơ sở dữ liệu nguồn sang bảng mới trong cơ sở dữ liệu đích Hãy xem ví dụ sau Đầu tiên, chúng tôi tạo một cơ sở dữ liệu có tên testdb bằng cách sử dụng câu lệnh sau CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);10 Thứ hai, chúng tôi tạo bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);11 trong CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);70 bằng cách sao chép cấu trúc của nó từ bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);11 trong cơ sở dữ liệu CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);13 CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);11 Thứ ba, chúng tôi sao chép dữ liệu từ classimodels. bảng văn phòng để testdb. bàn văn phòng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);12 Hãy xác minh dữ liệu từ bảng CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);73 CREATE TABLE suppliers AS (SELECT * FROM companies WHERE id > 1000);13 Trong hướng dẫn này, chúng tôi đã chỉ cho bạn các kỹ thuật khác nhau để sao chép bảng trong cơ sở dữ liệu và từ cơ sở dữ liệu này sang cơ sở dữ liệu khác. Làm cách nào để tạo một bảng bằng cách sao chép cấu trúc của một bảng khác?Phương thức đầu tiên được gọi là Nhân bản đơn giản và như tên gọi của nó, nó tạo một bảng từ một bảng khác mà không tính đến bất kỳ thuộc tính và chỉ mục cột nào. . TẠO BẢNG new_table CHỌN * TỪ original_table; TẠO BẢNG quản trị viên CHỌN * TỪ người dùng; TẠO BẢNG new_table NHƯ original_table; Làm cách nào để tạo bảng mới với cấu trúc bảng hiện có trong MySQL?Bạn có thể tạo một bảng từ một bảng khác bằng cách thêm câu lệnh CHỌN vào cuối câu lệnh CREATE TABLE. TẠO BẢNG new_tbl [AS] CHỌN * TỪ orig_tbl; MySQL tạo các cột mới cho tất cả các thành phần trong CHỌN.
Làm cách nào để sao chép cấu trúc bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong SQL Server?Sử dụng SQL Server Management Studio
. Trong Object Explorer, nhấp chuột phải vào bảng bạn muốn sao chép và chọn Thiết kế. Chọn các cột trong bảng hiện có và từ menu Chỉnh sửa, chọn Sao chép. In Object Explorer, right-click Tables and select New Table. In Object Explorer right-click the table you want to copy and select Design. Select the columns in the existing table and, from the Edit menu, select Copy.
Có thể tạo 2 bảng trùng tên không?Không thể tạo hai bảng có cùng tên trong cùng một lược đồ . |