oracle表结构和表内容差异比对

oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作.

  • union 并集
  • intersect 交集
  • minus 差集

假设有如下两张表 STUDENT_A 和 STUDENT_B

create table STUDENT_A
(
id VARCHAR2(36) not null,
name VARCHAR2(100),
age NUMBER,
sex VARCHAR2(2)
); insert into STUDENT_A (id, name, age, sex)
values ('', 'bobo', 28, '');
insert into STUDENT_A (id, name, age, sex)
values ('', 'sisi', 29, '');
commit; create table STUDENT_B
(
id VARCHAR2(36) not null,
name VARCHAR2(100),
age NUMBER,
clazz VARCHAR2(36)
); insert into STUDENT_B (id, name, age, clazz)
values ('', 'bobo', 28, '');
insert into STUDENT_B (id, name, age, clazz)
values ('', 'sisi', 29, '');
insert into STUDENT_B (id, name, age, clazz)
values ('', 'kiki', 30, '');
commit;

效果图如下:

比较两表结构差异语句:

注意下面的小括号不能省,因为是从左到右计算的,如果省掉计算公式就不一样了哦,大家可以自行脑补.

(
SELECT column_name FROM user_tab_columns WHERE table_name = 'STUDENT_A'
MINUS
SELECT COLUMN_name FROM user_tab_columns WHERE table_name = 'STUDENT_B'
)
UNION
(
SELECT column_name FROM user_tab_columns WHERE table_name = 'STUDENT_B'
MINUS
SELECT COLUMN_name FROM user_tab_columns WHERE table_name = 'STUDENT_A'
)

结果图如下:

比较两表内容语句:

注意下面的小括号不能省,因为是从左到右计算的,如果省掉计算公式就不一样了哦,大家可以自行脑补.

(
SELECT * FROM STUDENT_A
MINUS
SELECT * FROM STUDENT_B
)
UNION
(
SELECT * FROM STUDENT_B
MINUS
SELECT * FROM STUDENT_A
)

结果图如下:

同上图可知比较内容的时候,是不关心字段名是否有差异的,它只关心字段的类型和值.

oracle表结构和表内容差异比对的更多相关文章

  1. oracle表结构和表内容差异比对【原】

    oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 ...

  2. oracle 快速复制表结构、表数据

      1.情景展示 根据现有的表,建一个新的表,要求:新表的结构与原有表的表结构一模一样,如何快速实现? 根据现有的表,建一个新的表,要求:新表的结构.数据与原表一模一样,如何实现快速复制旧表? 2.解 ...

  3. Mysql 复制表结构 及其表的内容

    顺便转一下Mysql复制表结构.表数据的方法: 1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们 ...

  4. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。

    题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...

  5. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  6. SQL复制表结构或表数据

    需求: 软件开发过程中,一般会部署两个数据库:一个测试数据库提供给开发和测试过程使用:一个运维数据库提供上线使用.当需求变化需增加表时,会遇到数据库表结构或表数据同步的问题,这时就要复制表结构或表数据 ...

  7. 【MySQL】MySQL复制表结构、表数据

    平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. > ...

  8. mysqldump批量导出(多张表)表结构及表数据

    Mysql 批量导出表结构(数据) 仅导出结构,不导出数据: 1.导出數據库為dbname的表结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname >db.s ...

  9. Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    1.第一步,在本地数据库中建一个与服务器同名的数据库 2.第二步,右键源数据库,任务>导出数据,弹出导入导出提示框,点下一步继续 3.远程数据库操作,确认服务器名称(服务器地址).身份验证(输入 ...

随机推荐

  1. php删除目录下的所有文件和目录

    <?php /** * 递归实现删除目录下的所有的文件和文件夹 * @param $dir 要删除的目录 * @param bool $deleteRootToo 是否删除根目录 默认不删除 h ...

  2. [转] Fix: Screen Clipping Shortcut In OneNote Not Working After Upgrading To Windows 8.1

    RECOMMENDED: Click here to fix Windows errors and optimize system performance No doubt, OneNote is y ...

  3. (转) TexturePacker 3.0 使用教程

    著名的TexturePacker 已经升级到3.0了,下载地址: http://www.codeandweb.com/texturepacker 免费 license 申请地址: http://www ...

  4. OpenGL ES(一.概念)

    OpenGL ES是以手持和嵌入式设备为目标的高级3D图形应用程序编程接口,主要的支持平台是iOS,Android,Linux和Windows 1.顶点着色器 他可以用于通过矩阵变换位置,计算照明公式 ...

  5. Ambari 不能配置 Kafka 监听host的问题

    问题:Ambari下Kafka多IP监听配置 环境:Ambari 1.7.0 , Hadoop 2.2 Kafka 0.8.1.2.2.0.0 现象: Ambari 中是不能配置Kafka的host. ...

  6. setContentView R can not be resovled

    原因:gen包下没有自动生成R.java的资源文件 解决办法:再次新建android application project,默认Theme为Holo Light With Dark Action B ...

  7. 关于 JavaScript prototype __proto__ 一点总结

    http://www.cnblogs.com/wbin91/p/5265163.html 先上代码 function(y) Foo{ this.y = y;} Foo.prototype.x = 10 ...

  8. Ubuntu下使用SVN

      SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install subversion ...

  9. C#遍历字典

    C#遍历字典 foreach (KeyValuePair<int, Color> kvp in dic) lst.Add(kvp.Value);

  10. Mysql 相关字段类型长度

    1.  Compact行记录是在MySQL 5.0时被引入的,其设计目标是能高效存放数据. 2.  Redundant是MySQL 5.0版本之前InnoDB的行记录存储方式. 3.  InnoDB存 ...