SQL 入门
SQL 简介
SQL 语法
SQL 通用数据类型
SQL 语句快速参考
SQL Select 语句
SQL SELECT DISTINCT 语句
SQL Where 子句
SQL AND & OR 运算符
SQL ORDER BY 关键字
SQL INSERT INTO 语句
SQL Update 语句
SQL Delete 语句
SQL SELECT TOP, LIMIT, ROWNUM
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL Join连接
SQL INNER JOIN 关键字
SQL LEFT JOIN 关键字
SQL RIGHT JOIN 关键字
SQL FULL OUTER JOIN 关键字
SQL UNION 操作符
SQL SELECT INTO 语句
SQL INSERT INTO SELECT 语句
SQL 高级教程
SQL 撤销索引、表以及数据库
SQL CREATE DATABASE 语句
SQL CREATE TABLE 语句
SQL ALTER TABLE 语句
SQL AUTO INCREMENT 字段
SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
SQL Server 和 MySQL 中的 Date 函数
SQL NULL 值 – IS NULL 和 IS NOT NULL
SQL 进阶
SQL 别名
SQL 约束
SQL NOT NULL 约束
SQL UNIQUE 约束
SQL PRIMARY KEY 约束
SQL FOREIGN KEY 约束
SQL DEFAULT 约束
SQL CHECK 约束
SQL 使用连接
SQL UNION 子句
SQL NULL 值
SQL 克隆数据表
SQL 索引
SQL 子查询
SQL ALTER TABLE 命令
SQL TRUNCATE TABLE 命令
SQL 处理重复数据
SQL 使用视图
SQL 注入
SQL HAVING 子句
SQL 事务
SQL 使用序列
SQL 通配符
SQL 临时表
SQL MS Access、MySQL 和 SQL Server 数据类型
SQL 函数
SQL 日期函数
SQL 函数
SQL AVG() 函数
SQL COUNT() 函数
SQL FIELD()函数
SQL FIRST() 函数
SQL LAST() 函数
SQL MAX() 函数
SQL MIN() 函数
SQL SUM() 函数
SQL GROUP BY 语句
SQL HAVING 子句
SQL UPPER(),LOWER()函数
SQL UPPER()函数
SQL LOWER()函数
SQL UCASE() 函数
SQL LCASE() 函数
SQL MID() 函数
SQL LEN() 函数
SQL ROUND() 函数
SQL NOW() 函数
SQL FORMAT() 函数
SQL SQRT() 函数
SQL RAND() 函数
SQL CONCAT() 函数
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
SQL REPLACE()函数
SQL TRIM()函数
SQL 克隆数据表 - SQL教程 - 光年文档管理系统(Light Year Doc)
网站首页
SQL 克隆数据表
有些情况下,你可能需要原样拷贝某张数据表。但是,CREATE TABEL 却不能满足你的需要,因为复制表必须和原表拥有一样的索引、默认值等等。 如果你在使用 MySQL 关系型数据库管理系统的话,下面几个步骤可以帮你解决这个问题: - 使用 SHOW CREATE TABLE 命令来获取一条指定了原表的结构、索引等信息的 CREATE TABLE 语句。 - 将语句中的表名修改为克隆表的名字,然后执行该语句。这样你就可以得到一张与原表完全相同的克隆表了。 - 如果你还想要复制表中的数据的话,请执行 INSERT INTO... SELECT 语句。 ## 示例 请尝试下面的示例,为 TUTORIALS_TBL 创建一张克隆表,其结构如下所示: ### 步骤一: 获取数据表的完整结构: ```sql 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 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 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 ``` 最终,你将如期拥有一张完全相同的克隆表。
上一篇:
SQL NULL 值
下一篇:
SQL 索引