`

oracle 几个常用语句

 
阅读更多

1、复制表结构

     create table table_name as (select * from table_name where 1 = 2 )

2、插入表的数据

     insert into table_name (select * from table_name)

 1 + 2 :   create table table_name as (select * from table_name )

查看表结构:在sqlplus中,desc /describe table_name

                  (describe /desc is sqlplus command but sql statement)

3、删除表中完全重复数据。

  先建立一个临时表,将数据放进去。

  create table temp as

   (

    select  distinct  *  from table_data

   );

    然后查询一下是否操作成功,事务是否提交。

    注意:修改表后,数据会放到缓存中,并没有写入,一样也可以查询出对表的修改。

   select count(*) from temp;

  

   截断原来的表, 再将数据插入即可。

   truncate table table_data;
   insert into table_data (select * from temp);

   提交事务。

   将临时表删除。 drop table temp;

 

4、删除某个字段重复数据。


这个在网上有很多相关的解决方法,较常见的有
delete from table where id not in (select min(id) from table group by name)
delete from table where field in (select field from table group by field having count(*) > 1)

上面的方法在删除小数量级的数据时还有用,当一旦处理的数据是几十万或者更多时就出问题了,一般的机器估计一运行就马上给费了。其实稍有点常识的算一算就知道这样的语句会有多大的运算量了,它的运算量至少是以乘方的形式递增的,想想就恐怖。

我在这里主要是要给出对于大数量级的表的重复数据删除的解决方案,其实也很简单,也是利用了一个过渡表来实现
insert in tabletemp select * from table
delete from table as a where a.id > (select min(b.id) from table1 as b where b.field=a.field)
drop table tabletemp
这样利用了数据库的索引的优势,大大的减少运算量

 

5UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT) union只是将两个结果联结起来一起显示,并不是联结两个表 。

  UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。

 

6、联合批量更新:

     update college set(address,postcode,email,phone,fax,website,linkman)=
            (select address,postcode,email,phone,fax,website,linkman from college_temp
            where college.yxdm = college_temp.yxdm);

 

分享到:
评论

相关推荐

    oracle存储过程常用技巧

    一个 Oracle 存储过程通常由以下几个部分组成: 1. 创建语句:create or replace procedure 存储过程名 2. 存储过程名定义:包括存储过程名和参数列表 3. 变量声明块:用于声明变量 4. 过程语句块:存储过程的具体...

    ORACLE__SQL语句教学(附有sql最常用经典语句)

    本资源"ORACLE__SQL语句教学(附有sql最常用经典语句)"显然是一个针对Oracle SQL的深入学习资料,旨在帮助数据库编程者提升技能,成为真正的高手。 首先,让我们来看看SQL的基本概念。SQL是一种用于管理关系型...

    oracle 9i instance 的几个常用步骤

    在这个教程中,我们将深入探讨Oracle 9i实例的几个关键操作步骤,帮助你更好地理解和使用这个系统。 一、Oracle实例的启动与关闭 1. 启动实例:Oracle数据库实例是内存结构和后台进程的集合。使用SQL*Plus,你可以...

    Oracle维护常用SQL语句

    ### Oracle维护常用SQL语句详解 #### 一、获取每个部门前N名员工按薪资排序 在Oracle数据库中,为了获取每个部门薪资排名前N名的员工,可以使用`ROW_NUMBER()`窗口函数进行分组排序。例如,若需获取每个部门薪资...

    初学者常用Oracle sql语句

    ### 初学者常用Oracle SQL语句详解 #### 一、查询表名 在Oracle数据库中,根据不同的权限和需求,可以使用以下几种方法来查询表名: 1. **查询当前用户所拥有的表:** ```sql SELECT table_name, tablespace_...

    oracle数据库常用语句+demo

    根据提供的文件信息,本文将对Oracle数据库中的几个关键知识点进行详细的解释与说明,包括更新数据、创建临时表空间、创建用户及其权限管理等操作。 ### 1. 更新数据 更新语句是数据库中最常见的操作之一,它允许...

    oracle常用语法概述

    本文将详细介绍Oracle数据库中的几个关键概念和语法用法,帮助初学者更好地理解和掌握Oracle。 #### 变量声明与赋值 在Oracle PL/SQL块中,变量声明通常通过`DECLARE`语句完成,例如: ```sql DECLARE v_ename ...

    Linux下操作Oracle的常用语句

    以下是几个常用的命令: - 完全导出数据库:`EXP system/manager@TEST file=d:\daochu.dmp full=y` - 此命令将整个TEST数据库导出至d:\daochu.dmp文件中。 - 导出指定用户数据:`EXP system/manager@TEST file=d:...

    ORACLE常用分析函数说明

    在进行 Oracle 优化时,需要考虑以下几个方面: * 数据库配置优化:包括内存分配、磁盘分配、网络配置等。 * 索引优化:包括索引的创建、维护和重建。 * 查询优化:包括查询语句的优化、索引的使用、连接顺序的优化...

    Oracle Spatial 9i常用分析语句解析.doc

    它包含几个子组件,如几何类型(2003通常表示多边形)、坐标系统(8307可能代表WGS 84坐标系)、点类型、元素信息数组和坐标数组。例如: ```sql MDSYS.SDO_GEOMETRY(2003, 8307, MDSYS.SDO_POINT_TYPE(108.522891...

    oracle常用的sql语句

    ### Oracle常用的SQL语句知识点详解 #### 一、SQL概述 SQL(Structured Query Language),即结构化查询语言,是用于管理关系型数据库的标准语言。Oracle作为一款流行的关系型数据库管理系统,其支持的SQL语句与...

    Oracle中SQL语句执行效率的查找与解决

    具体分析可从以下几个方面入手: 1. **响应时间不达标**:当查询响应时间超出预期时,应检查SQL语句是否涉及复杂的联接操作、大量数据扫描或索引使用不当。 2. **V_$SQLAREA视图**:该视图提供了执行统计信息,如...

    Oracle数据库维护常用SQL语句集合

    - 排序并限制结果集,以找出资源消耗最大的前几个会话。 以上是根据给定的文件信息整理出的相关知识点。这些SQL语句对于Oracle数据库管理员来说非常实用,可以帮助他们更好地管理和优化数据库性能。

    oracle数据库复杂sql语句

    本文将根据提供的内容介绍几个典型的复杂SQL应用场景及其具体实现方法。 #### 一、子查询(Subquery) 子查询是一种在SELECT语句中嵌套另一个SELECT语句的技术,它可以帮助我们处理更为复杂的数据查询需求。子查询...

    oracle 的常用函数

    接下来,本文将详细介绍Oracle中常用的几类函数及其具体应用,帮助读者更好地掌握这些功能强大的工具。 ### 一、字符串函数 #### 1.1 `UPPER` 和 `LOWER` 用于将字符串转换为大写或小写。 - **语法**: - `UPPER...

    最全的oracle常用命令大全.txt

    用系统管理员,查看当前数据库有几个用户连接: SQL> select username,sid,serial# from v$session; 如果要停某个连接用 SQL> alter system kill session 'sid,serial#'; 如果这命令不行,找它UNIX的进程数 SQL>...

    oracle常用问题解答

    ### Oracle常用问题解答知识点 #### 1. SQL & PL/SQL ##### 1.1 查询特殊字符,如通配符%与_ **问题**: 如何在Oracle中查询包含特殊字符如通配符%与_的数据? **解答**: 在Oracle中查询包含特殊字符如通配符%与_...

    Oracle报表经典语句

    本文档将深入解析几个经典的Oracle报表SQL语句,这些语句涉及到了Oracle中的高级功能,如窗口函数、联合查询等,并通过实际案例展示了如何构造报表。 #### 二、SQL语句分析 ##### 1. 分类汇总与总计 此段代码展示...

    oracle常用经典sql查询.rar

    总之,“oracle常用经典sql查询.rar”这个压缩包提供了丰富的Oracle SQL查询知识,涵盖了从基础到高级的多种查询技巧。通过学习这些内容,用户可以提升在Oracle数据库中的数据处理能力,更好地服务于业务需求和数据...

Global site tag (gtag.js) - Google Analytics