Oracle之快速复制表-yellowcong
来源:互联网 发布:mac上qq截图快捷键 编辑:程序博客网 时间:2024/06/07 05:09
我们可以通过
CREATE TABLE 表名 AS SELECT 语句
这个方法,快速的创建一个数据结构一模一样,但是就名称不一样的表了,其中还有SELECT INTO FROM
的方法,也可以快速创建表,但是对于Mysql这种方式不支持,他们都支持快速插入数据INSERT INTO SELECT
的语法
快速创建表
通过CREATE TABLE 表名 AS SELECT 语句
命令,直接就将表结构数据,都复制粘贴过来了
CREATE TABLE USER AS SELECT * FROM users ;
案例
案例
通过created table的方式创建表,然后删除表
-- 1.创建测试表 CREATE TABLE Table1 ( a VARCHAR(10), b VARCHAR(10), c VARCHAR(10) ) ; -- 2.创建测试数据 INSERT INTO Table1 VALUES('赵','asds','90'); INSERT INTO Table1 VALUES('钱','asds','100'); INSERT INTO Table1 VALUES('孙','asds','80'); INSERT INTO Table1 VALUES('李','asds',NULL); -- 3.添加新表 CREATE TABLE table2 AS SELECT * FROM Table1; -- 4、查看结果 SELECT * FROM TABLE2 ; -- 5、删除表 DROP TABLE table1; DROP TABLE table2 ;
快速插入数据之 INSERT INTO SELECT
通过INSERT INTO SELECT语句,可以快速的插入数据,实现自己想要的数据插入,不需要通过一条一条的插,基本语法
Insert into Table2(field1,field2,…) select value1,value2,… from Table1
2、注意地方:
(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,…) values (select value1,value2,… from Table1)
(4)由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
案例
通过insert into select 来插入自己查询的数据
-- 1.创建测试表 CREATE TABLE Table1 ( a VARCHAR(10), b VARCHAR(10), c VARCHAR(10) ) ; CREATE TABLE Table2 ( a VARCHAR(10), c VARCHAR(10), d INT ) ; -- 2.创建测试数据 INSERT INTO Table1 VALUES('赵','asds','90'); INSERT INTO Table1 VALUES('钱','asds','100'); INSERT INTO Table1 VALUES('孙','asds','80'); INSERT INTO Table1 VALUES('李','asds',NULL); SELECT * FROM Table2 -- 3.INSERT INTO SELECT语句复制表数据 INSERT INTO Table2(a, c, d) SELECT a,c,5 FROM Table1; -- 4.显示更新后的结果 SELECT * FROM Table2; -- 5.删除测试表 DROP TABLE Table1; DROP TABLE Table2;
快速创建表 之SELECT INTO FROM
通过SELECT a,b INTO table2 FROM table1;
,这个方法创建表,对于Oracle可以,但是对于Mysql,还是只支持CREATE TABLE AS
的方式,其中AS 可以不写
-- 1.创建测试表 CREATE TABLE Table1 ( a VARCHAR(10), b VARCHAR(10), c VARCHAR(10) ) ; -- 2.创建测试数据 INSERT INTO Table1 VALUES('赵','asds','90'); INSERT INTO Table1 VALUES('钱','asds','100'); INSERT INTO Table1 VALUES('孙','asds','80'); INSERT INTO Table1 VALUES('李','asds',NULL); -- 3.添加新表 -- MYSQL 不支持 select INTO FROM SELECT a,b INTO table2 FROM table1; -- 这种CREATE TABLE AS的方法,Mysql支持 CREATE TABLE TABLE2 (SELECT A,B FROM TABLE1) ; -- 4、查看结果 SELECT * FROM TABLE2 ; -- 5、删除表 DROP TABLE table1; DROP TABLE table2 ;
- Oracle之快速复制表-yellowcong
- Oracle之如何解锁表-yellowcong
- Mysql之主从复制-yellowcong
- Oracle之char类型-yellowcong
- Oracle之通过SQL语句查看表信息-yellowcong
- Oracle之表/视图名称大小写问题-yellowcong
- Oracle之表创建及常用操作-yellowcong
- Oracle之net manager 配置-yellowcong
- Oracle之with as 语法-yellowcong
- Oracle之case when和decode-yellowcong
- Oracle之JAVA数据导出工具-yellowcong
- Oracle之Entity生成工具-yellowcong
- Oracle之数据库和用户创建-yellowcong
- Oracle之创建/删除数据库实例-yellowcong
- 按键精灵之复制文本到播放器中-yellowcong
- JAVA之冒泡、选择、快速排序法-yellowcong
- oracle之复制表数据
- Oracle之where 和having中的区别-yellowcong
- 栈,队列和双端队列的操作
- Spring Boot入门教程-FreeMarker模板
- Android Studio教程:启动时不自动打开项目
- 我如何从一个异步调用返回响应?
- Linux shell script 1 basic scripts
- Oracle之快速复制表-yellowcong
- 修改kafka_run_class.bat并增加JRE_HOME判断
- HTML5客户端数据存储Web Storage——localStorage与sessionStorage
- Hibernate与 MyBatis的比较
- MySQL性能利器:innotop工具
- replace与replaceAll的区别
- JS实现加密以及cookie保存(不经过后台,直接在页面操作)
- php对象传值、对象克隆
- java 使 用 分 页 分 析 完 数 据 进 行 标 志 修 改 完 成,存在的问题