- 浏览: 75724 次
- 性别:
- 来自: 上海
文章分类
最新评论
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
这样利用了数据库的索引的优势,大大的减少运算量
5、UNION的一个限制是两个 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);
发表评论
-
linux启动oracle
2014-11-07 17:53 5821:su - oracle 2: lsnrctl star ... -
oracle中job的interval设置方法
2013-01-08 14:11 1761oracle中job的interval设置方法 INTER ... -
Exception:com.mchange.v2.c3p0.impl.NewProxyConnection cannot be cast to oracle.j
2012-10-25 10:48 2722Exception:com.mchange.v2.c3p0.i ... -
oracle中的单行函数
2012-03-05 18:27 854单行函数的特征:1、单行函数对单行操作2、每行返回一个结果3、 ... -
oracle trunc to_char
2012-03-05 16:31 1075select to_char(sysdate,'yyyy') ... -
详细介绍ORACLE sqlplus命令(转)
2012-02-24 17:44 843一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭 ... -
Oracle 使用SQL 查看表结构和索引(转)
2012-02-24 16:29 1027select dbms_metadata.get_ddl('T ... -
Oracle创建用户、表空间、导入导出(转)
2012-02-24 15:58 644//创建临时表空间create t ... -
Oracle删除重复行
2012-02-23 17:53 862第一种情况是:数据的完全重复第二种情况是:部分数据的重复第一种 ... -
oracle+lag和lead函数(转).
2012-02-23 16:41 974原文:http://blog.csdn.net/pilea ... -
Oracle函数大全(转)
2012-02-23 13:37 721来源:http://www.cnblogs.com/lulup ... -
详细介绍ORACLE sqlplus命令(转)
2012-02-23 13:34 1013来源:http://www.cnblogs.com ... -
ora-12154错误解决
2012-02-27 12:01 1846plsql developer 报:ora-12154错误 -
oracle 分页sql 语句比较
2012-02-23 17:53 845说说oracle分页的sql语句,分排序和不排序两种。 当 ... -
sql统计相同项个数并按名次显示
2012-02-16 16:40 1245现在有如下这样一个表: A表 ID Name time --- ... -
解决plsql中文乱码的问题
2012-02-16 16:38 1037xp 系统, plsql 中文显示乱码。 上网查找解决办法。1 ... -
Oracle排序
2012-02-16 16:35 872Oracle9i之前,中文是按 ... -
优化你的开发工具之-----PL/SQL
2012-02-16 16:34 1023优化你的开发工具之-----PL/SQL http://ww ... -
回写保存时报 错误代码: OPR4ONWY:U9IM8TAC:OI2DL65P
2012-02-16 16:19 2683写入到服务器时出错。 请检查以确保您已输入合适的值。 如果仍 ... -
如何更换BIEE登录界面样式
2012-02-15 17:55 1195拷贝productmessages.xml和logonmess ...
相关推荐
一个 Oracle 存储过程通常由以下几个部分组成: 1. 创建语句:create or replace procedure 存储过程名 2. 存储过程名定义:包括存储过程名和参数列表 3. 变量声明块:用于声明变量 4. 过程语句块:存储过程的具体...
本资源"ORACLE__SQL语句教学(附有sql最常用经典语句)"显然是一个针对Oracle SQL的深入学习资料,旨在帮助数据库编程者提升技能,成为真正的高手。 首先,让我们来看看SQL的基本概念。SQL是一种用于管理关系型...
在这个教程中,我们将深入探讨Oracle 9i实例的几个关键操作步骤,帮助你更好地理解和使用这个系统。 一、Oracle实例的启动与关闭 1. 启动实例:Oracle数据库实例是内存结构和后台进程的集合。使用SQL*Plus,你可以...
### Oracle维护常用SQL语句详解 #### 一、获取每个部门前N名员工按薪资排序 在Oracle数据库中,为了获取每个部门薪资排名前N名的员工,可以使用`ROW_NUMBER()`窗口函数进行分组排序。例如,若需获取每个部门薪资...
### 初学者常用Oracle SQL语句详解 #### 一、查询表名 在Oracle数据库中,根据不同的权限和需求,可以使用以下几种方法来查询表名: 1. **查询当前用户所拥有的表:** ```sql SELECT table_name, tablespace_...
根据提供的文件信息,本文将对Oracle数据库中的几个关键知识点进行详细的解释与说明,包括更新数据、创建临时表空间、创建用户及其权限管理等操作。 ### 1. 更新数据 更新语句是数据库中最常见的操作之一,它允许...
本文将详细介绍Oracle数据库中的几个关键概念和语法用法,帮助初学者更好地理解和掌握Oracle。 #### 变量声明与赋值 在Oracle PL/SQL块中,变量声明通常通过`DECLARE`语句完成,例如: ```sql DECLARE v_ename ...
以下是几个常用的命令: - 完全导出数据库:`EXP system/manager@TEST file=d:\daochu.dmp full=y` - 此命令将整个TEST数据库导出至d:\daochu.dmp文件中。 - 导出指定用户数据:`EXP system/manager@TEST file=d:...
在进行 Oracle 优化时,需要考虑以下几个方面: * 数据库配置优化:包括内存分配、磁盘分配、网络配置等。 * 索引优化:包括索引的创建、维护和重建。 * 查询优化:包括查询语句的优化、索引的使用、连接顺序的优化...
它包含几个子组件,如几何类型(2003通常表示多边形)、坐标系统(8307可能代表WGS 84坐标系)、点类型、元素信息数组和坐标数组。例如: ```sql MDSYS.SDO_GEOMETRY(2003, 8307, MDSYS.SDO_POINT_TYPE(108.522891...
### Oracle常用的SQL语句知识点详解 #### 一、SQL概述 SQL(Structured Query Language),即结构化查询语言,是用于管理关系型数据库的标准语言。Oracle作为一款流行的关系型数据库管理系统,其支持的SQL语句与...
具体分析可从以下几个方面入手: 1. **响应时间不达标**:当查询响应时间超出预期时,应检查SQL语句是否涉及复杂的联接操作、大量数据扫描或索引使用不当。 2. **V_$SQLAREA视图**:该视图提供了执行统计信息,如...
- 排序并限制结果集,以找出资源消耗最大的前几个会话。 以上是根据给定的文件信息整理出的相关知识点。这些SQL语句对于Oracle数据库管理员来说非常实用,可以帮助他们更好地管理和优化数据库性能。
本文将根据提供的内容介绍几个典型的复杂SQL应用场景及其具体实现方法。 #### 一、子查询(Subquery) 子查询是一种在SELECT语句中嵌套另一个SELECT语句的技术,它可以帮助我们处理更为复杂的数据查询需求。子查询...
接下来,本文将详细介绍Oracle中常用的几类函数及其具体应用,帮助读者更好地掌握这些功能强大的工具。 ### 一、字符串函数 #### 1.1 `UPPER` 和 `LOWER` 用于将字符串转换为大写或小写。 - **语法**: - `UPPER...
用系统管理员,查看当前数据库有几个用户连接: SQL> select username,sid,serial# from v$session; 如果要停某个连接用 SQL> alter system kill session 'sid,serial#'; 如果这命令不行,找它UNIX的进程数 SQL>...
### Oracle常用问题解答知识点 #### 1. SQL & PL/SQL ##### 1.1 查询特殊字符,如通配符%与_ **问题**: 如何在Oracle中查询包含特殊字符如通配符%与_的数据? **解答**: 在Oracle中查询包含特殊字符如通配符%与_...
本文档将深入解析几个经典的Oracle报表SQL语句,这些语句涉及到了Oracle中的高级功能,如窗口函数、联合查询等,并通过实际案例展示了如何构造报表。 #### 二、SQL语句分析 ##### 1. 分类汇总与总计 此段代码展示...
总之,“oracle常用经典sql查询.rar”这个压缩包提供了丰富的Oracle SQL查询知识,涵盖了从基础到高级的多种查询技巧。通过学习这些内容,用户可以提升在Oracle数据库中的数据处理能力,更好地服务于业务需求和数据...