现在有一张表TEST(已经有数据),表结构如下:
create table MYTEST
(
user_name VARCHAR2(30),
password VARCHAR2(45),
age NUMBER(3),
user_id VARCHAR2(32) not null
)
数据:
USER_NAME
PASSWORD
AGE
USER_ID
张三 |
23232 |
34 |
6DEA3727FFA8016D005B8B04D5CCB00E |
admin |
111111 |
21 |
A10CF67AFFA8016D000B96A539684B1E |
李四 |
123s |
24 |
6DA32648FFA8016D01F2F4B65643D6A8 |
郭德纲 |
asd |
333 |
9AD76CD8FFA8016B01E969D957C69860 |
rename使用:
一:修改表的名字。
rename MYTEST to MYTEST2
这时我们再查询改名后的表,就能查到数据。
而再去查以前的表就会报错ORA-00942:表或视图不存在。
二:修改字段的名字。
(我们把表明再改回去,回复原状。)
alter table MYTEST rename column user_name to user_name_new
这时的表结构:
create table MYTEST
(
user_name_new VARCHAR2(30),
password VARCHAR2(45),
age NUMBER(3),
user_id VARCHAR2(32) not null
)
2张表的数据复制,转移。
-------------------------------有一张表存在,创建新表--------------------------------------------
现在开始表和表之间的数据倒腾。
一:创建一个新表YOUTEST,表结构要和已有的表MYTEST一样,并且数据也要倒过去。
create table YOUTEST as
select * from MYTEST
(注意as关键字不能用is代替)
二,创建一个新表YOUTEST_B,表结构要和已有的表MYTEST一样,但是不倒数据,只要表结构。
后面多加了where 1=2的过滤条件,把数据都过滤掉,也可以在where中添加自己的过滤条件,
那样就是把符合条件的数据倒过去了。
create table YOUTEST_B as
select * from MYTEST where 1=2
三,创建一个新表YOUTEST_C,表结构只要表MYTEST的某些字段,并且数据也要倒过去。
3-1(字段名称不变)
create table YOUTEST_C as
select MYTEST.USER_NAME,MYTEST.AGE from MYTEST
3-2(创建时同时修改字段名)
create table YOUTEST_C_2(C_USER_NAME,C_AGE) as
select MYTEST.USER_NAME,MYTEST.AGE from MYTEST
注:也可以创建好后使用rename来修改字段名,用modify来修改字段定义,那样就多一步了。
四,创建一个新表YOUTEST_D,表结构只要表MYTEST的某些字段,但是不倒数据,只要表结构。
(同上三,只是后面多加了where 1=2的过滤条件,把数据都过滤掉)
create table YOUTEST_D as
select MYTEST.USER_NAME,MYTEST.AGE from MYTEST
where 1=2
----------------------------------2张表都存在------------------------------------
一,表结构相同的表,一张有数据MYTEST,一张无数据YOUTEST_B,把有数据的表的数据拷贝到无数据的表中。
insert into YOUTEST_B
select * from MYTEST
二,表结构不相同的表,某些字段相同,一张有数据MYTEST,一张无数据YOUTEST_D,
把这些字段的值对应拷贝到目标表的字段中。
insert into YOUTEST_D(YOUTEST_D.USER_NAME,YOUTEST_D.AGE)
select MYTEST.USER_NAME,MYTEST.AGE from MYTEST
分享到:
相关推荐
Oracle中比对2张表之间数据是否一致的几种方法
mes系统整套数据库表结构详细说明文档(超300张表结构).docx
Activiti-5.21数据库表结构详解(共25张表) 工作流的应用越来越广泛,而activiti是公认的现阶段最好的工作流框架之一,详细了解activiti的库表结构有助于您更好的掌握学习工作流框架,共享本资源以供广大编程从业人员...
2、21张表全部表和字段中文注释和取值说明添加注释脚本(单SQL文件) 3、21张表全部表和字段中文注释和取值说明添加注释脚本(一表一SQL文件) 自己花了三个小时亲手撸出来的添加注释SQL脚本。 问题一:有什么用? ...
在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的。 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而Oracle中不...
SQL和Oracle中统计数据库中表个数及表名
在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。
mes系统整套数据库表结构详细说明文档(超300张表结构).zip
SCOTT DEPT EMP SALGRADE三张表的excel格式(xls格式),没有表结构script及insert语句,纯粹的excel数据内容
查找数据某个字段在那张表.txt 查找数据某个字段在那张表.txt
在多表中查找一个表名或者字段名的 SQL 语句
一键在数据库中所有的表查询所需要的数据,不需要知道表名,字段名,查询出内容所在的数据库表,字段。
oracle对某表进行审计,观察对这个表的增删改查等sql操作
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了. 这是因为ORACLE只对...
主要介绍了Oracle - 如何将多张表中的列合并到一张表中,需要的朋友可以参考下
禅道数据表结构,可以更好的理解禅道,对禅道进行二次开发!
网上看了很多的kettle通过将表名设置成变量,然后进行多表批量同步的帖子,发现多多少少都会有问题。而此类功能简单的问题对于新手而言需要花很多的时间去琢磨,本人作为新手也琢磨很久,最后经大神们指点验证,将...
用java从Oracle的EMP表读数据并写到EXCEL中,再在oracle中建张表,把EXCEL里面的数据读出来并写入到刚才建好的oracle表中,实现oracle表的备份和导入
一个商城的表结构设计(建表语句),共12张表。
这是quartz的mysql类型的11个管理quartz的建表语句,全部来自于官网下载,全名:tables_mysql_innodb.sql