VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

SQL cơ bản

SQL là gì? SQL - RDBMS là gì? SQL - Các hệ quản trị CSDL SQL - Cú pháp SQL - Kiểu dữ liệu SQL - Toán tử SQL - Biểu thức SQL - Create Database SQL - Drop Database SQL - Select Database SQL - Create Table SQL - Drop Table SQL - Câu lệnh Insert SQL - Câu lệnh Select SQL - Mệnh đề Where SQL - Toán tử AND & OR SQL - Câu lệnh Update SQL - Câu lệnh Delete SQL - Mệnh đề Like SQL - Mệnh đề Top SQL - Mệnh đề Order By SQL - Mệnh đề Group By SQL - Từ khóa Distinct

SQL nâng cao

SQL - Các ràng buộc SQL - Mệnh đề JOIN SQL - INNER JOIN SQL - RIGHT JOIN SQL - LEFT JOIN SQL - FULL JOIN SQL - SELF JOIN SQL - Mệnh đề UNION SQL - Giá trị NULL SQL - Sử dụng Alias SQL - Sử dụng Index SQL - Lệnh Alter SQL - Lệnh Truncate Table SQL - Sử dụng View SQL - Mệnh đề Having SQL - Transaction SQL - Ký tự đại diện SQL - Các hàm xử lý Date SQL - Bảng tạm thời SQL - Clone Table SQL - Sub Querie SQL - Sequence SQL - Xử lý Duplicate
1 / 3
❮ ❯

Clone table trong SQL


Bảng tạm trong SQL
Sub query 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ụ

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

Bảng tạm trong SQL
Sub query trong SQL

Recent Updates

Xử lý duplicate trong SQLWeb SQL Database trong HTML5Lệnh DELETE MySQL trong PythonLệnh UPDATE MySQL trong PythonLệnh SELECT MySQL trong PythonLệnh INSERT MySQL trong PythonTạo bảng MySQL trong PythonTạo new database MySQL trong PythonKết nối Python với MySQLCài đặt môi trường MySQL cho PythonVí dụ Hibernate 3 XML Mapping - SQLServer 2017Ví dụ Hibernate 4 Annotation Mapping - MySQLSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml