mysql 复制表结构和数据实例代码
在mysql数据库开发中,我们有时候需要复制或拷贝一张表结构和数据到例外一张表,这个时候我们可以使用create...select...from语句来实现,本文章向大家介绍mysql复制表结构和数据一个简单实例,
比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create...select...from语句来实现,具体实现方法请看下面实例。
我们先来创建一张Topic表,创建Topic表的SQL语句如下:
mysql>CREATETABLETopic( ->TopicIDSMALLINTNOTNULLAUTO_INCREMENTPRIMARYKEY, ->NameVARCHAR(50)NOTNULL, ->InStockSMALLINTUNSIGNEDNOTNULL, ->OnOrderSMALLINTUNSIGNEDNOTNULL, ->ReservedSMALLINTUNSIGNEDNOTNULL, ->DepartmentENUM('Classical','Popular')NOTNULL, ->CategoryVARCHAR(20)NOTNULL, ->RowUpdateTIMESTAMPNOTNULL ->);
向Topic表中插入数据:
mysql>INSERTINTOTopic(Name,InStock,OnOrder,Reserved,Department,Category)VALUES ->('Java',10,5,3,'Popular','Rock'), ->('JavaScript',10,5,3,'Classical','Opera'), ->('CSharp',17,4,1,'Popular','Jazz'), ->('C',9,4,2,'Classical','Dance'), ->('C++',24,2,5,'Classical','General'), ->('Perl',16,6,8,'Classical','Vocal'), ->('Python',2,25,6,'Popular','Blues'), ->('Php',32,3,10,'Popular','Jazz'), ->('ASP.net',12,15,13,'Popular','Country'), ->('VB.net',5,20,10,'Popular','NewAge'), ->('VC.net',24,11,14,'Popular','NewAge'), ->('UML',42,17,17,'Classical','General'), ->('www.java2s.com',25,44,28,'Classical','Dance'), ->('Oracle',32,15,12,'Classical','General'), ->('Pl/SQL',20,10,5,'Classical','Opera'), ->('SqlServer',23,12,8,'Classical','General'); QueryOK,16rowsaffected(0.00sec) Records:16Duplicates:0Warnings:0
现在我们要将这张表复制一份,具体操作如下:
mysql>CREATETABLETopic2 ->( ->TopicIDSMALLINTNOTNULLAUTO_INCREMENTPRIMARYKEY, ->NameVARCHAR(50)NOTNULL, ->InStockSMALLINTUNSIGNEDNOTNULL, ->OnOrderSMALLINTUNSIGNEDNOTNULL, ->ReservedSMALLINTUNSIGNEDNOTNULL, ->DepartmentENUM('Classical','Popular')NOTNULL, ->CategoryVARCHAR(20)NOTNULL, ->RowUpdateTIMESTAMPNOTNULL ->) ->SELECT* ->FROMTopic
这样表Topic2和Topic表不仅拥有相同的表结构,表数据也是一样的了。
例外,如果我们只需要复制表结构,不需要复制数据,也可以使用createlike来实现:
createtablealikeusers;
感谢阅读此文,希望能帮助到大家,谢谢大家对本站的支持!