- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về SQL
- Học SQL cơ bản và nâng cao
- SQL là gì
- Các khái niệm RDBMS trong SQL
- RDBMS Database trong SQL
- Cú pháp SQL cơ bản
- Kiểu dữ liệu trong SQL
- Toán tử trong SQL
- Biểu thức trong SQL
- SQL Database
- Lệnh CREATE DATABASE trong SQL
- Lệnh DROP Database trong SQL
- Lệnh SELECT DATABASE trong SQL
- Lệnh RENAME DATABASE trong SQL
- SQL Table
- CREATE Table trong SQL - Tạo bảng trong SQL
- Lệnh DROP Table trong SQL
- DELETE trong SQL
- Lệnh RENAME Table trong SQL
- Lệnh TRUNCATE TABLE trong SQL
- Lệnh ALTER TABLE trong SQL
- Mô phỏng bảng trong SQL
- Bảng tạm (Temporary Table) trong SQL
- Nhóm lệnh thao tác cơ bản
- UPDATE trong SQL
- Truy vấn INSERT trong SQL
- Truy vấn SELECT trong SQL
- Mệnh đề ORDER BY trong SQL
- Mệnh đề GROUP BY trong SQL
- Từ khóa DISTINCT trong SQL
- Sắp xếp kết quả trong SQL
- Mệnh đề trong SQL
- Mệnh đề WHERE trong SQL
- Toán tử liên hợp AND và OR trong SQL
- Mệnh đề With trong SQL
- Mệnh đề LIKE trong SQL
- Mệnh đề TOP, LIMIT, ROWNUM trong SQL
- Hoạt động SQL nâng cao
- Mệnh đề UNION trong SQL
- Giá trị NULL trong SQL
- Alias trong SQL
- Chỉ mục (Index) trong SQL
- Sử dụng View trong SQL
- Mệnh đề HAVING trong SQL
- Transaction trong SQL
- Toán tử wildcard trong SQL
- Truy vấn con trong SQL
- Sử dụng Sequence trong SQL
- Xử lý bản sao trong SQL (DISTINCT)
- Injection trong SQL
- Ràng buộc trong SQL
- Ràng buộc (Constraint) trong SQL
- Ràng buộc NOT NULL trong SQL
- Ràng buộc DEFAULT trong SQL
- Ràng buộc UNIQUE trong SQL
- Ràng buộc PRIMARY KEY trong SQL
- Ràng buộc FOREIGN KEY trong SQL
- Ràng buộc CHECK trong SQL
- Ràng buộc INDEX trong SQL
- SQL Join
- Mệnh đề JOINS trong SQL
- INNER JOIN trong SQL
- LEFT JOIN trong SQL
- RIGHT JOIN trong SQL
- FULL JOIN trong SQL
- SELF JOIN trong SQL
- CARTESIAN JOIN hoặc CROSS JOIN trong SQL
- Hàm trong SQL
- Hàm hữu ích trong SQL
- Hàm xử lý Date và Time trong SQL
- Hàm xử lý số trong SQL
- Hàm xử lý chuỗi trong SQL
- Tài liệu SQL tham khảo
- First Normal Form (1NF) trong SQL
- Second Normal Form (2NF) trong SQL
- Third Normal Form (3NF) trong SQL
- Tuning DB trong SQL
- Tài liệu SQL tham khảo
Có một tình huống khi bạn cần một bản sao thực sự của một bảng và các lệnh CREATE TABLE … SELECT … không phù hợp với mục đích của bạn, bởi vì bản sao phải bao gồm cùng chỉ mục, cùng giá trị mặc định, và …
Nếu bạn đang sử dụng MySQL RDBMS, bạn có thể xử lý tình huống này theo các bước sau:
Sử dụng lệnh SHOW CREATE TABLE để lấy một lệnh CREATE TABLE mà xác định cấu trúc, chỉ mục và tất cả thông tin của bảng nguồn.
Sửa đổi lệnh để thay đổi tên bảng thành tên một bảng mô phỏng và thực thi lệnh. Theo cách này, bạn sẽ có bảng mô phỏng thực sự.
(Tùy ý) Nếu bạn cần sao các nội dung bảng, bạn thông báo một lệnh INSERT INTO … SELECT.
Ví dụ
Bạn thử ví dụ sau để tạo một bảng mô phỏng cho s2sontech_DB có cấu trúc như sau:
Bước 1
Lấy toàn bộ cấu trúc của bảng:
SQL> SHOW CREATE TABLE s2sontech_DB \G; *************************** 1. row *************************** Table: s2sontech_DB Create Table: CREATE TABLE `s2sontech_DB` ( `s2sontech_id` int(11) NOT NULL auto_increment, `s2sontech_title` varchar(100) NOT NULL default '', `s2sontech_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, PRIMARY KEY (`s2sontech_id`), UNIQUE KEY `AUTHOR_INDEX` (`s2sontech_author`) ) TYPE=MyISAM 1 row in set (0.00 sec)
Bước 2
Thay tên bảng này và tạo bảng khác.
SQL> CREATE TABLE `CLONE_TBL` ( -> `s2sontech_id` int(11) NOT NULL auto_increment, -> `s2sontech_title` varchar(100) NOT NULL default '', -> `s2sontech_author` varchar(40) NOT NULL default '', -> `submission_date` date default NULL, -> PRIMARY KEY (`s2sontech_id`), -> UNIQUE KEY `AUTHOR_INDEX` (`s2sontech_author`) -> ) TYPE=MyISAM; Query OK, 0 rows affected (1.80 sec)
Bước 3
Sau khi thực thi bước 2, bạn sẽ mô phỏng một bảng trong Database. 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 việc sử dụng lệnh INSERT INTO … SELECT.
SQL> INSERT INTO CLONE_TBL (s2sontech_id, -> s2sontech_title, -> s2sontech_author, -> submission_date) -> SELECT s2sontech_id,s2sontech_title, -> s2sontech_author,submission_date, -> FROM s2sontech_DB; Query OK, 3 rows affected (0.07 sec) Records: 3 Duplicates: 0 Warnings: 0
Cuối cùng, bạn sẽ có bảng mô phỏng thực sự như bạn muốn có.
Bình luận (0)