Oracle 十大SQL语句】的更多相关文章

oracle数据库十大SQL语句             操作对象(object) /*创建对象 table,view,procedure,trigger*/ create object objectName(); /*删除对象*/ drop object objectName; /*修改对象,*/ alter object objectName; /*增加列*/ alter object objectName add columnName newColumnType; /*删除列*/ alte…
说说oracle分页的sql语句,分排序和不排序两种. 当结果集不需要进行排序时,每页显示条数为:rowPerPage,当前页数为:currentPage. 1. 相对来说,这种查询速度会快一些,因为当currentPage小时,嵌套语句查询的结果集小.但当currentPage 变大时,查询速度会慢慢变慢.当结果集很大时,查询第一页跟最后一页的速度会有明显变化.(倾向用这种!) select * from(select rownum r,  field1,field2 from table_n…
一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng1/p/7220159.html 二.基础练习 第一.查询工资在0-1000,1000-2000,2000-3000,3000以上各个工资范围的员工数. SELECT SUM(CASE WHEN sal>0 AND sal<1000 THEN 1 ELSE 0 END) AS "0<…
1.在pl/sql中打开cmd命令容器 2.在cmd命令窗口中输入:explain plan for select * from t; 3.查看sql语句的执行计划:select * from table(dbms_xplan.display); MISSES IN library cache during parse:1 翻译:发生在解析的硬解析数量为1,表示硬解析 MISSES IN library cache during parse:0 翻译:发生在解析的硬解析数量为0,表示没有硬解析,…
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用…
一.在oracle项目开发中越到问题: 在利用ODP向oracle中插入数据时,如果这样写:   insert into clobTable (id, story) values(1,'....'); 其中story为clob类型   如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误. 解决方案:       方案一.利用参数   insert into clobTable (id, story) values(1,:story);   Oracl…
一.用户及权限(DBA有最高系统权限) 1.数据库的安全性:系统的安全性.数据的安全性 2.权限分类: 2.1系统权限:获得后可访问数据库 常用的有create table,create user,create views,create session 2.2对象权限:操作数据库对象的内容 Select  insert  update  delete 3.权限的使用 3.1授予系统权限 grant 系统权限 to 用户 [with admin option] with admin option…
一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……)  SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过…
1.当多表查询的时候,把数据量小的表放在最后面,ORACLE会把最后面的表当作基础表,因为表间连接时,最右边的表会被放到嵌套循环的最外层.最外层的循环次数越少,效率越高. 2.Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 3.表之间的复制优先使用CREATE TABLE A PARALLEL(DEGREE 10) NOLOGGING AS SELECT * FROM B…
在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要问题之一.系统优化中一个很重要的方面就是sql语句的优化.对于海量数据,劣质sql语句和优质sql语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的sql语句,提高系统的可用性. Oracle的sql调优第一个复杂的主题,甚至需要长…
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选中    Ctrl+A  然后  Ctrl+F7  就可以将sql格式化了…
业务需求说明:由于之前公司后台APP端有一个document表,该表中包含了所有的信息,新的需求就是通过该表创建出一个新的用户表(usertable)和一个档案表(document,该表只保留原document的部分字段). ps:原document表的数据有25万条的数据,因此在处理的时候,需要考虑到性能的问题. 首先当然是对两个表进行字段的设计,然后是再将原document表中的数据导入到这两个表中. 方案1:第一次采用的是最简单,最直接的方法,但是忽视了效率的问题. 方法是通过查询原doc…
笔者日常工作中常用到的sql语句,现总结如下,留作日后查看. 1.按照两列中的最大值取 ,只取两列其中的一列 SELECT * FROM t_doc T ORDER BY GREATEST(T.Load_Count,T.Read_Count) desc 2.取两列之和 select t.*,(nvl(T.Load_Count,0)+nvl(T.Read_Count,0 )) as c FROM t_doc T order by c desc 3.取两列字符串连接 select T.Load_Co…
--查询正在执行的SQL语句 select a.program, b.spid, c.sql_text,c.SQL_FULLTEXT,c.SQL_ID from v$session a, v$process b, v$sqlarea c where a.paddr = b.addr and a.sql_hash_value = c.hash_value and a.username is not null; ---查询执行过的SQL语句 select b.SQL_TEXT,b.FIRST_LOA…
SQLServer的场合,用";"分割SQL语句即可正常执行. Oracle的场合,会报ORA-00911错误.Oracle中需要加上begin end才正确. Dim Sql As String = "" Sql = Sql & " BEGIN " Sql = Sql & vbCrLf Sql = Sql & " insert into tableA (col1,col2,col3) values ('a','…
今天碰到一个非常奇怪的问题问题,一条SQL语句在PL/SQL developer中很慢,需要9s,问题SQL: SELECT * FROM GG_function_location f WHERE f.parent_id ='03000000000001';  表GG_function_location有5千万的数据,parent_id上是有索引的. 诊断第一步:就在PL/SQL developer中按F5,看到的执行计划是走索引的,应该不会慢啊. 第二步:在sqlplus中用autotrace…
1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev",sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"  from v$session_Wait group by event order by 4; 注解:order by 4 指按第4列进行排序 2. 回滚段的争用情况 select name, waits, gets, wait…
通过对数据库数据进行降序排序来达到显示最新数据在前面的效果 -- 降序排序(最新的显示在前面) SELECT * FROM 表名 t ORDER BY t.uploadDatetime DESC; 格式: ORDER BY { column-Name | ColumnPosition | Expression } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [ , column-Name | ColumnPosition | Expression […
1.执行sql:select /*+ parallel(a,4) */ * from tf_f_user a where rownum<100000; 2.如何查看该sql语句的并行数量: select t.sql_text,t.sql_id,s.sid from v$sql t,v$session s where t.sql_id=s.sql_id and t.sql_text like '%rownum<100000%'; 执行上面sql语句发现是4条. 3.如果执行sql:select…
-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图 -- DBA_TABLES意为DBA拥有的或可以访问的所有的关系表. -- ALL_TABLES意为某一用户拥有的或可以访问的所有的关系表. -- USER_TABLES意为某一用户所拥有的所有的关系表. -- 当某一用户本身就为数据库DBA时,DBA_TABLES与ALL_TABLES等价. -- DBA_TABLES >= ALL_TABLES >= USER_TABLES -- 需要注意的…
一些常用的SQL语句: --建表 create table adolph (id number(10,0),              name varchar2(20),              salary number(10,0)); --建约束 alter table adolph add constraint adolph_id_pk primary key(id); --插入数据 insert into adolph values(1,'adolph',1000);       …
隐式游标:一次只能返回一行结果(不需要定义,默认自动建立)  显式游标: 需要开发人员提前定义,可以通过循环的方式处理游标里的sql语句,返回多行结果    隐式游标的属性:   sql%rowcout    统计在游标中处理的记录数   sql%found      如果在游标中能找到符合条件的一条记录,结果为true   sql%notfound   如果在游标中能找不到符合条件的一条记录,结果为true   sql%isopen     判断游标是否打开,在隐式游标中默认游标自动打开 1.…
1)删除表的一列 ALTER TABLE 表名 DROP COLUMN 列名; 2)增加表的一列 且默认值为0 alter table 表名 add 字段名 类型 default '0'; 3)修改表的字段为NULL ALTER TABLE 表名 MODIFY 要修改的字段名字 NULL; 4)修改表的字段名 alter table 表名 rename column 原字段名 to 目标字段名; 5)创建视图 CREATE VIEW 视图名字AS sql语句 6)删除视图 drop view 视…
一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL中的DML和事务控制语句,但是DDL语句,以及会话控制语句却不能再PL/SQL中直接使用,如动态创建表或者某个不确定的操作时,这就需要动态SQL来实现. 2.动态SQL 动态SQL是指在PL/SQL编译时SQL语句是不确定的,如根据用户输入的参数的不同来执行不同的操作.编译程序对动态语句部分不进行处…
SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm_bill where tx_time Between '2015-12-20' And '2015-12-31'; 仔细研究还是能够发现一些细节性的问题的. SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time…
第一种: 在PL/SQL中,在Explain plan Window中执行要优化的Sql语句.结果,如下图: Object name列中显示了命中的索引名,Cost列显示了CPU的使用率(%). 第二种: 使用Explain plan for 命令. 1.执行 “explain plan for  要执行的Sql语句;” 2.执行 “select * from table(DBMS_XPLAN.display);”查看结果.如下图…
最近遇到一个需要导入大SQL文件的问题,最先直接用SQL developer 导入大SQL文件,结果报IO Exception,只好采用sqlplus 导入,操作过程如下: sqlplus 用户名/密码@远程数据库ip:端口/实例名  1 连接成功之后使用命令 SQL>@E:\bigdata.sql 1 有时候中文会出现乱码问题,或者报错.例如: ERROR: ORA-01756: quoted string not properly terminated 1 2 此时,需要排查数据库服务器的字…
sql语句 create table AAAATest as select rownum as cardNo, 'test' creator, to_char(sysdate + rownum//, 'yyyy-mm-dd hh24:mi:ss') as dueDate, password, productId, 'ONSELL' status from dual connect by level <= ; level :表示要生成记录量 参考:https://blog.csdn.net/yzs…
DML: Data Manipulation Language 数据操纵语言DDL:  Data Definition Language 数据定义语言DCL:  Data Control Language 数据控制语言 DML:用于查询与修改数据记录,包括如下SQL语句: INSERT:添加数据到数据库中    UPDATE:修改数据库中的数据    DELETE:删除数据库中的数据    SELECT:选择(查询)数据    SELECT是SQL语言的基础,最为重要. DDL:用于定义数据库的…
一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) );   --修改tb_stu表数…