SQL克隆数据表什么时候用到,能解决什么问题
Admin 2022-09-28 群英技术资讯 1003 次浏览
这篇文章主要介绍“SQL克隆数据表什么时候用到,能解决什么问题”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL克隆数据表什么时候用到,能解决什么问题”文章能帮助大家解决问题。有些情况下,你可能需要原样拷贝某张数据表。但是,CREATE TABLE 却不能满足你的需要,因为复制表必须和原表拥有一样的索引、默认值等等。
如果你在使用 MySQL 关系型数据库管理系统的话,下面几个步骤可以帮你解决这个问题:
请尝试下面的示例,为 TUTORIALS_TBL 创建一张克隆表,其结构如下所示:
获取数据表的完整结构:
SQL> SHOW CREATE TABLE TUTORIALS_TBL \G;
*************************** 1. row ***************************
Table: TUTORIALS_TBL
Create Table: CREATE TABLE `TUTORIALS_TBL` (
`tutorial_id` int(11) NOT NULL auto_increment,
`tutorial_title` varchar(100) NOT NULL default '',
`tutorial_author` varchar(40) NOT NULL default '',
`submission_date` date default NULL,
PRIMARY KEY (`tutorial_id`),
UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE=MyISAM
1 row in set (0.00 sec)
改变表名,创建新表:
SQL> CREATE TABLE `CLONE_TBL` (
-> `tutorial_id` int(11) NOT NULL auto_increment,
-> `tutorial_title` varchar(100) NOT NULL default '',
-> `tutorial_author` varchar(40) NOT NULL default '',
-> `submission_date` date default NULL,
-> PRIMARY KEY (`tutorial_id`),
-> UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (1.80 sec)
执行完步骤二之后,数据库就会有克隆表了。如果你还想要复制旧表中的数据的话,可以执行 INSERT INTO... SELECT 语句。
SQL> INSERT INTO CLONE_TBL (tutorial_id,
-> tutorial_title,
-> tutorial_author,
-> submission_date)
-> SELECT tutorial_id,tutorial_title,
-> tutorial_author,submission_date,
-> FROM TUTORIALS_TBL;
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0
最终,你将如期拥有一张完全相同的克隆表。
另一种完整复制表的方法:
CREATE TABLE targetTable LIKE sourceTable;
INSERT INTO targetTable SELECT * FROM sourceTable;
或者:
create table targetTable as select sourceTable
两者的区别如下:
create table targetTable like sourceTable,创建新表,约束和原表相同,只拷贝表结构,没有拷贝表的数据
create table targetTable as select sourceTable,创建新表,没有原表的完整约束,会把原表的数据拷贝一份
关于“SQL克隆数据表什么时候用到,能解决什么问题”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
SQL NOT NULL 约束怎么理解?在默认的情况下,表的列接受 NULL 值。NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
这篇文章主要介绍了浅析SQL Server中的执行计划缓存(上)的相关资料,需要的朋友可以参考下
一些刚接触SQL server的新手,对于怎么解决session阻塞不是很清楚,当然方法很多,下文是个人经验,感兴趣的朋友可以参考,希望本文对大家理解和解决session阻塞有帮助。
本文着重讲解了SQL语句的组成以及数据库的三个范式,对系统数据库的组成进行简短的介绍。有兴趣的朋友可以看下
sqlServer要想调用web接口,就要使用自带的存储过程。而这些存储过程2005版本以后默认时关闭的,所以要先开启。对SQLServer触发器调用JavaWeb接口的过程感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008