MySQL 如何克隆一个表、索引和数据
要克隆一个MySQL表、索引和数据,我们可以使用”LIKE”。我有一个名为’business’的数据库,在其中创建了许多表。这里我们可以检查所有的表。
mysql> USE business;
数据库改变
Mysql
让我们展示所有的表 –
mysql> SHOW tables;
+------------------------+
| Tables_in_business |
+------------------------+
| addcolumntable |
| autoincrement |
| autoincrementtable |
| bookindexes |
| chardemo |
| columnvaluenulldemo |
| dateadddemo |
| deletedemo |
| deleterecord |
| demo |
| demo1 |
| demoascii |
| demoauto |
| demobcrypt |
| demoemptyandnull |
| demoint |
| demoonreplace |
| demoschema |
| distinctdemo |
| duplicatebookindexes |
| duplicatefound |
| employeetable |
| existsrowdemo |
| findandreplacedemo |
| foreigntable |
| foreigntabledemo |
| groupdemo |
| groupdemo1 |
| incasesensdemo |
| int1demo |
| intdemo |
| latandlangdemo |
| limitoffsetdemo |
| milliseconddemo |
| modifycolumnnamedemo |
| modifydatatype |
| moneydemo |
| moviecollection |
| mytable |
| nonasciidemo |
| nthrecorddemo |
| nulldemo |
| nullwithselect |
| pasthistory |
| presenthistory |
| primarytable |
| primarytable1 |
| primarytabledemo |
| sequencedemo |
| smallintdemo |
| spacecolumn |
| student |
| tblstudent |
| tbluni |
| textdemo |
| texturl |
| trailingandleadingdemo |
| unsigneddemo |
| varchardemo |
| varchardemo1 |
| varchardemo2 |
| varcharurl |
| whereconditon |
+------------------------+
63 rows in set (0.25 sec)
Mysql
现在,我正在使用上面的数据库中的表“STUDENT”。查询如下 –
mysql> DESC student;
Mysql
以下是输出:
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | YES | MUL | NULL | |
| Name | varchar(100) | YES | MUL | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.20 sec)
Mysql
现在,让我们检查学生表的记录:
SELECT * from student
Mysql
以下是输出:
+------+------+
| id | Name |
+------+------+
| 1 | John |
| 2 | Bob |
+------+------+
2 rows in set (0.00 sec)
Mysql
这是查询;我们可以使用LIKE克隆索引和数据。查询如下 –
mysql> CREATE table cloneStudent like student;
查询成功,受影响的行数为0(1.57 秒)
mysql> insert cloneStudent SELECT *from student;
查询成功,受影响的行数为2(0.60 秒)
记录: 2 重复: 0 警告: 0
Mysql
因此,我已经成功创建了克隆和数据。现在,我们可以使用DESC命令证明我们已经创建了索引和数据的克隆,如下 –
mysql> DESC cloneStudent;
Mysql
以下是输出:
+-------+--------------+------+-----+---------+-------+
| 字段名称 | 数据类型 | 允许为空 | 键 | 默认值 | 其它 |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | 是 | MUL | NULL | |
| 名称 | varchar(100) | 是 | MUL | NULL | |
+-------+--------------+------+-----+---------+-------+
共 2 行 (0.00 秒)
Mysql
让我们检查表是否已克隆。
mysql> SELECT * from cloneStudent;
Mysql
输出如下:
+------+------+
| id | 名称 |
+------+------+
| 1 | John |
| 2 | Bob |
+------+------+
共 2 行 (0.00 秒)
Mysql
阅读更多:MySQL 教程