SQL克隆数据表什么时候用到,能解决什么问题
Admin 2022-09-28 群英技术资讯 1283 次浏览
这篇文章主要介绍“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行列转换:报表_公司采购表_每个公司各采购了些什么产品有同学问了个比较典型行列转换的问题,想想,解答如下:数据库有一张表:是个公司采购表,...
这篇文章主要介绍了SQL Server实现将特定字符串拆分并进行插入操作的方法,涉及SQL Server的循环、遍历、判定及插入等相关操作技巧,需要的朋友可以参考下
最近服务器执行收缩日志文件大小的job老是报错,小编抽时间把此问题的解决方案整理了一下,特此分享到脚本之家平台,供大家学习
在数据库查询中需要分组用到的命令短语是“GROUP BY”,“GROUP BY”短语用于对查询结果进行分组,可以利用它进行分组汇总,而“HAVING”短语不能脱离“GROUP BY”短语而独立存在。
本文介绍SQL Server中如何删除表,如何删除表中的数据。在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008