VietTuts

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

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • 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

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

Web 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 - MySQLVí dụ Hibernate 4 Annotation Mapping - SQLServer 2017

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
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

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

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

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