Computer >> Máy Tính >  >> Lập trình >> MySQL

Tạo một bảng mới với các thuộc tính của một bảng cũ và không có bản sao bằng MySQL LIKE Operator?

Để đạt được điều này với toán tử LIKE, sau đây là cú pháp -

CREATE TABLE yourTableName2 LIKE yourTableName1;

Để hiểu cú pháp, chúng ta hãy tạo một bảng và chèn một số bản ghi vào đó. Sau đây là truy vấn để tạo bảng -

mysql> create table Employee
−> (
   −> EmployeeId int
   −> ,
   −> EmployeeName varchar(100)
−> );
Query OK, 0 rows affected (0.54 sec)

Chèn các bản ghi vào bảng với sự trợ giúp của lệnh insert. Truy vấn như sau -

mysql> insert into Employee values(1,'Carol');
Query OK, 1 row affected (0.18 sec)

mysql> insert into Employee values(2,'John');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Employee values(3,'Johnson');
Query OK, 1 row affected (0.11 sec)

Hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh select. Truy vấn để hiển thị tất cả các bản ghi như sau -

mysql> select *from StudentTable;

Sau đây là kết quả -

+------+---------+
| Id   |    Name |
+------+---------+
| 3    | Johnson |
+------+---------+
1 row in set (0.00 sec)

Bây giờ bạn có thể thực hiện cú pháp trên mà tôi đã thảo luận ở phần đầu. Truy vấn như sau để tạo một bảng với sự trợ giúp của toán tử LIKE.

mysql> create table StudentModifyTableDemo Like Employee;
Query OK, 0 rows affected (0.50 sec)

Bạn có thể kiểm tra định nghĩa của bảng mới với sự trợ giúp của lệnh desc. Truy vấn như sau -

mysql> desc StudentModifyTableDemo;

Sau đây là kết quả -

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| EmployeeId   | int(11)      | YES  |     | NULL    |       |
| EmployeeName | varchar(100) | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
2 rows in set (0.12 sec)

Giờ đây, bạn có thể chèn tất cả các bản ghi của bảng Nhân viên vào bảng StudentModifyTableDemo.

Truy vấn như sau -

mysql> insert into StudentModifyTableDemo select *from Employee;
Query OK, 3 rows affected (0.16 sec)
Records: 3 Duplicates: 0 Warnings: 0

Bây giờ bạn có thể kiểm tra tất cả các bản ghi có trong bảng thứ hai hay không. Truy vấn như sau -

mysql> select *from StudentModifyTableDemo;

Sau đây là kết quả -

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
|          1 |        Carol |
|          2 |         John |
|          3 |      Johnson |
+------------+--------------+
3 rows in set (0.00 sec)