SQL克隆数据表什么时候用到 可以解决什么问题
这篇文章主要介绍“SQL克隆数据表什么时候用到,能解决什么问题”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL克隆数据表什么时候用到,能解决什么问题”文章能帮助大家解决问题。 SQL 克隆数据表 有些情况下,你可能需要原样拷贝某张数据表。但是,CREATE TABLE 却不能满足你的需要,因为复制表必须和原表拥有一样的索引、默认值等等。 如果你在使用 MySQL 关系型数据库管理系统的话,下面几个步骤可以帮你解决这个问题: 使用 SHOW CREATE TABLE 命令来获取一条指定了原表的结构、索引等信息的 CREATE TABLE 语句。 将语句中的表名修改为克隆表的名字,然后执行该语句。这样你就可以得到一张与原表完全相同的克隆表了。 如果你还想要复制表中的数据的话,请执行 INSERT INTO ... SELECT 语句。 示例: 请尝试下面的示例,为 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克隆数据表什么时候用到,能解决什么问题”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- wcf – 如何从自定义位置读取app.config,即从.NET中的数据库
- sql怎么创建约束?一文看懂五种约束的创建
- sql-server-2008 – 通过存储过程模拟TSQL序列
- sql实现跨数据库数据同步的方法是什么?
- sql-server – 选择所有记录,如果存在连接,则连接表A,否则连
- sql-update – 从另一个表更新多个列 – 需要Oracle格式
- sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
- SQL语句 一个简单的字符串分割函数
- sql-server – 使用带有nHibernate的CreateSQLQuery的SQL S
- SQL Server异常处理怎么样做?