PLSQL查询命令

PLSQL查询命令
PLSQL查询命令

表的查询

在此文档中,就按照student的表来输入命令;

1.清屏命令:sql>clear;

2.查看表的结构:sql>desc student;

3.查询表的所有列:sql>select *from student;(这样查询的速度

比较慢)

4.查询指定列:sql>select xh,xm,sex,birthday,sal,classid from

student;

5.显示查询时间:sql>set timing on;

6.如何取消重复命令行:sql>select distinct xh,xm from student;

7.怎样去查询小明的xh,sex,birthday,sal,classid 的信息呢?

sql>select xh,sex,birthday,sal,classid from student where xm=’小明’;

8.使用逻辑查询语句:查询工资高于500或者是岗位MANAGER的雇

员,同时还要满足他们的姓名的首字母是J;

SQL> select * from emp where (sal>500 or job='MANAGER') and ename like 'J%';

9.使用order by 子句:(从低到高排列)把工资从高到底排列;

SQL> select * from emp order by sal;

asc升序 desc降序

10.怎样让工资降序排列,部门号升序排列?

SQL> select * from emp order by sal desc,deptno asc;

11.数据分组查询—max,min,avg(平均值),sum,count(总共):

12.案例:如何显示这个公司中最高工资和最低工资和人名?

Sql>select ename,sal from emp where sal =(select max(sal) from emp)or sal =(select min(sal) from emp);

13.group by子句用于对查询的结果分组统计:

案例:如何显示每个部门中的平均工资,最高工资,

select avg(sal),max(sal),deptno from emp group by deptno;

注意:分组的字段要在from之前显示出来,负责会报错;

14.having 子句用于限制分组显示结果;

案例:如何显示平均工资高于2000的部门号和他的平均工资,select avg(sal),max(sal),deptno from emp group by deptno

having avg(sal)>2000;

15.对数据分组的总结:

1> 分组函数只能出现在选择列表、order by、having子句中;

2> 如果在select语句中同时出现 group by、having、order by

那么他们出现的顺序是group by、having、order by;

3>在选择列中如果有列、表达式和分组函数那么这些列和表达式

必须有一个要出现在group by子句中,负责就会出错;

16.多行子查询:

如何查询和部门号为10的工作岗位相同的雇员的名字,岗位,工作,部门号?

Select * from emp where job in (select distinct job from emp where deptno=10);

17.如何显示工资比部门30的所有员工工资高的其他部门的姓名,工

资和部门号?

select ename,job,deptno from emp where sal>(select max(sal) from emp where deptno=30)

18.在多行子查询中使用any操作符:

案例:如何显示工资比30号部门任何一个人的工资高的员工的名

字,工资和部门?

Select ename,sal,job from emp where sal>any (select sal from emp where deptno=30)

19.多列子查询:

单行子查询是返回单行单列的数据,多行子查询是返回单列多行数据,都是针对单列而言的。

多列子查询是返回多个列多个列数据的子查询语句。

select * from emp where job=(select job from emp where ename='SMITH') and deptno=(select deptno from emp where ename='SMITH')

如何显示高于自己部门平均工资的员工的信息?

select a1.ename,a1.sal,a1.deptno,a2.mysal from emp a1,(select deptno,avg(sal) mysal from emp group by deptno) a2 where a1.deptno=a2.deptno and

a1.sal>a2.mysal order by a1.sal

oracle常用命令及格式

oracle常用命令及格式 一:关于日志管理的 1.切换日志:sql> alter system switch logfile; 2.切换checkpoints:sql> alter system checkpoint; 3.增加日志组:sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m; 4.增加日志成员 sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.改变日志文件名字或路径 sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log' sql> to 'c:/oracle/oradata/redo01.log'; (此处注意,那个文件路径的输入格式) 6.删除日志文件组:sql> alter database drop logfile group 3;

7.删除日志文件成员 sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log'; 8.清除日志文件内容 sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo'; 二、关于表空间管理的 1.创建表空间 sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m, sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0) sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]

经典plsql例子

setserveroutput on; --计算两个整数的和与这两个整数的差的商 declare aint:=100; bint:=200; c number; begin c:=(a+b)/(a-a); dbms_output.put_line(c); exception whenzero_divide then dbms_output.put_line('除数不能为零!'); end; / declare Num_sal number; --声明一个数值变量 Var_ename varchar2(20); --声明一个字符串变量 begin select ename,sal into Var_ename,Num_sal from scott.emp where empno=7369; --检索指定的值并保存在变量中 dbms_output.put_line(Var_ename||'的工资是'||Num_sal); --输出变量的值end; / --简单的插入一条语句 create or replace procedure pro1 is begin insert into scott.emp(empno,ename)values(1111,'1111'); end; / exec pro1; select * from scott.emp; --删除一条语句(传参) create procedure pro2(in_empno number) is begin delete from emp where empno=in_empno; end; /

--简单的插入一条语句(传参) create or replace procedure pro3(in_empnonumber,in_ename varchar2) is begin insert into scott.emp(empno,ename)values(in_empno,in_ename); end; / declare --定义变量的格式是变量名称变量的类型 v_enamevarchar2(8); begin select ename into v_ename from emp where empno=&empno; --将查询到的值存入v_ename变量中 --输出v_ename dbms_output.put_line('雇员名是'||v_ename); end; / --将上面的块改成过程 create procedure pro4(v_in_empno number) is v_enamevarchar2(8); begin selectename into v_ename from emp where empno=v_in_empno; dbms_output.put_line('雇员名是'||v_ename); end; / --编写一个过程,实现输入雇员名,新工资可以修改雇员的工资 create procedure pro5(in_ename in varchar2,in_newsal in number) is

plsql安装和配置连接教程(附一些常用设置)

plsql安装和配置连接教程 总体步骤:先安装oracle client端,然后安装plsql,配置tnsname.ora 一:安装oracle client端 下载地址: 1.加压文件,安装oracle客户端 打开安装包,找到setup.exe,开始安装。报错,具体原因和解决办法和安装oracle服务端方法一样。只是要多修改一个文件,在两个文件里添加同样的内容即可。 解决办法很简单,这是因为版本注册问题,默认oracle 11没有添加win10的注册信息,所以要讲win10的注册信息添加到oracle的配置文件里。打开oracle安装包,找到stage文件夹,找到cvu_prereq.xml文件,用记事本打开可以看到如下内容,在标签最后添加如下红色部分。

上面报错信息修改完成以后,重新setup.ext,下面界面选择“管理员”模式 安装以后在network\ADMIN文件夹中配置tnsnames.ora文件,如图:

如果client文件夹中没有network文件夹,说明安装client时安装类型没选对,这时也可以从instantclient包中,把network文件夹拷入client的目录下。 此时,基础环境已经配置完毕。 二:安装plsqldevlop 安装完毕后,不要输入账号密码先进入工具 点tools—preferences—输入client端的目录地址和oci.dll文件的地址 三:配置系统环境 右击我的电脑—属性—高级系统设置—环境变量 编辑Path,添加client端地址

PLSQL+Developer工具的使用(非常详细)

PLSQL Developer工具的使用 PLSQL Developer的安装十分简单,先安装PL.SQL.Developer.exe文件,然后安装chinese.exe文件进行汉化。安装成功后在桌面点击PLSQL Developer的快捷方式进入登录页面(如图1)。 图1 输入用户名和口令,选择好要连接的数据库,点击“确定”登录成功(如图2)。 图2 在成功登录后会进入到PLSQL Developer的操作界面(如图3)。

图3 用户可以在左边下拉菜单中选择“我的对象”,然后点击“Table”可以显示出项目所涉 及的数据库中所有表(如图4)。 新建表,点击Table文件夹,然后点击鼠标右键在列表中选择“新建”选项进入到创建

新表的页面(如图5),用户可以根据自己的需要来创建新表,但一定要遵循Oracle规范 信息填写完毕后点击“应用”按钮创建成功。 图5 修改表结构,可以选中要该表后点击鼠标右键在列表中选择“编辑”选项进入到修改表结构的页面(如图6),这里显示的都是该表的结构信息,如要进行修改操作请根据实际情况慎重修改,修改后点击“应用”按钮提交修改内容。 图6 修改表名,可以选中要该表后点击鼠标右键在列表中选择“重新命名”选项进入到重新

命名的页面(如图7),这里需要注意的是表名起的一定要有意义。 图7 查询表结构,可以选中要该表后点击鼠标右键在列表中选择“查看”选项进入到查看表结构的页面(如图8)。 图8 删除表,可以选中要该表后点击鼠标右键在列表中选择“删掉表”选项就可以删除已创

建的表了。 查询表中存储的数据,可以选中要该表后点击鼠标右键在列表中选择“查询数据”选项进入到查询结果页面(如图9),这里显示了所有已录入的数据。 图9 编辑数据,可以选中要该表后点击鼠标右键在列表中选择“编辑数据”选项进入到查询结果页面(如图10),这里显示了所有已录入的数据,用户可以对想要编辑的数据进行操作。 图10 修改数据,用户可以在页面中直接对想要修改的数据进行操作,修改后点击页面中的

plsql常用语句

说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间 SQL: select a.title,https://www.360docs.net/doc/a210032885.html,ername,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 说明:外连接查询(表名1:a 表名2:b) SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 说明:日程安排提前五分钟提醒 SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5 说明:两张关联表,删除主表中已经在副表中没有的信息 SQL: delete from info where not exists ( select * from infobz where info.infid=infobz.infid ) 说明:-- SQL: SELECT A.NUM, https://www.360docs.net/doc/a210032885.html,, B.UPD_DATE, B.PREV_UPD_DATE FROM TABLE1, (SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND FROM TABLE2 WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X, (SELECT NUM, UPD_DATE, STOCK_ONHAND FROM TABLE2 WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') ¦¦ '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y, WHERE X.NUM = Y.NUM (+) AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B WHERE A.NUM = B.NUM 说明:-- SQL: select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,高考总成绩 说明:从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源) SQL: SELECT https://www.360docs.net/doc/a210032885.html,erper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear, 说明:四表联查问题: SQL: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..... 说明:得到表中最小的未使用的ID号 SQL:

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

PLSQL语法介绍(有例子带注释)

PLSQL语法介绍(有例子带注释) 关键字: oracle/plsql/游标/存储过程/触发器 --最简单的语句块 set serveroutput on; //用于输出显示 begin dbms_output.put_line('HeloWorld'); end; --一个简单的PL/SQL语句块 declare //声明变量,必须 v_ 开头 v_name varchar2(20); begin v_name := 'myname'; //变量的赋值格式 dbms_output.put_line(v_name); end; --语句块的组成 declare v_num number := 0; begin v_num := 2/v_num; dbms_output.put_line(v_num); exception //如果没有这部分,当出现异常的时候,就执行过不去 when others then dbms_output.put_line('error'); end; --变量声明的规则 1): 变量名不能够使用保留字,如from、select等 2): 第一个字符必须是字母 3): 变量名最多包含30个字符 4): 不要与数据库的表或者列同名 5): 每一行只能声明一个变量 --常用变量类型 1): binary_integer: 整数,主要用来计数而不是用来表示字段类型 2): number: 数字类型 3): char: 定长字符串 4): varchar2: 变长字符串 5): date: 日期 6): long: 长字符串,最长2GB 7): boolean: 布尔类型,可以取值为 true、false和null --变量声明,可以使用 %type 属性 declare v_empno number(4); v_empno2 emp.empno%type;//表示该变量的类型和emp表中的empno字

oracle11g常用命令.

第一章:日志管理 1. forcing log switches sql> alter system switch logfile; 2. forcing checkpoints sql> alter system checkpoint; 3. adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo' size 1m; 4. adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5. changes the name of the online redo logfile sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log' sql> to 'c:/oracle/oradata/redo01.log'; 6. drop online redo log groups sql> alter database drop logfile group 3; 7. drop online redo log members

sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log'; 8.clearing online redo log files sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo'; https://www.360docs.net/doc/a210032885.html,ing logminer analyzing redo logfiles a. in the init.ora specify utl_file_dir = ' ' b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log'; c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql> dbms_logmnr.new; d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql> dbms_logmnr.addfile; e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora '; f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs; g. sql> execute dbms_logmnr.end_logmnr; 第二章:表空间管理 1. create tablespaces sql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,

PLSQL查询语句

一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变 量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是

oracle set命令大全

oracle set命令详解 SET命令参数详解 我好如容易录入的,希望对大家有帮助,如果有错误也请指正.有更好的也请分享. SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设 置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变 量,也可用SHOW命令列出它们. 使用set命令的语法如下: SET 系统变量值 其中系统变量及其可选值如下: ARRAY[SIZE] {20(默认值)|n} AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]} BLO[CKTERMINATOR] {.(默认值)|C} CMDS[EP] {;|C|OFF(默认值)|ON} COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)} CON[CAT] {.(默认值)|C|OFF|ON(默认值)} COPYC[OMMIT] {0(默认值)|n} CRT crt DEF[INE] {&|C|OFF|ON(默认值)} ECHO {OFF|ON} EMBEDDED {OFF(默认值)|ON} ESC[APE] { (默认值)|C|OFF(默认值)|ON} FEED[BACK] {6(默认值)|n|OFF|ON} FLU[SH] {OFF|ON(默认值)} HEA[DING] {OFF|ON(默认值)} HEADS[EP] {|(默认值)|C|OFF|ON(默认值)} LIN[ESIZE] {80(默认值)|n} LONG {80(默认值)|n} LONGC[HUNKSIZE] {80(默认值)|n} MAXD[ATA] n NEWP[AGE] {1(默认值)|n} NULL text NUMF[ORMAT] 格式 NUM[WIDTH] {10(默认值)|n}

oracle命令行大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus 语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format

PLSQL使用详细介绍

PL/SQL Developer使用指南 一、安装 PL/SQL Developer不需要执行安装程序,只要从其他机上copy一个来就可以使用。 二、登录 在使用PL/SQL Developer之前,首先需要在本机上配置数据库客户端(在oracle自带工具Net8Assistant中可配置)。配置完成后,在以下窗口中敲入用户名和密码就可进入PL/SQL Developer了。 进入PL/SQL Developer以后,会见到以下窗口: 在这里,可以对数据库中的任何对象(包括函数、存储过程、包、表、触发器等等)进行编辑、修改、运行等。(要视乎该用户的权限而定)。 如果用户要重新登录另一数据库,则可以按下“”重新输入本地数据库标识和用户及密码重新登录。

三、修改对象或编译存储过程 我们以存储过程为例: 双击菜单项“procedures”,按右键即可选择新建存储过程(new)或是修改存储过程(edit)等等。选择完毕后则用oracle的PL/SQL语句对存储过程进行编辑,在编辑完以后 按下可以对它进行编译,如果编译未通过,会在窗口中出现错误提示(如下图所示), 用户可根据提示进行修改和再次编译。 当完全编译通过后,用户可单击存储过程并按右键,选择“test”(执行存储过程),出现以下窗口:

在执行前,首先按“”进行调试,然后按“”执行该存储过程;如果用户在执行过程 中发生错误异常退出了,PL/SQL Developer会在窗口中显示错误,并提示退出。在发生错误后,用户可以选择在存储过程中添加“DBMS_OUTPUT.put_line(字符串)”语句来进行错 误跟踪或是通过一步步执行存储过程(按)来查看执行过程中数据的变化从而进行纠错。 除了存储过程之外,还可以通过PL/SQL Developer对数据库中的其他对象进行修改和授权,情况和以上存储过程的修改大同小异。 四、SQL语句的执行 如果用户要在oracle中执行sql语句,可以点击工具栏上的“new”()中的“SQL window”,这时会弹出一个sql语句的输入窗口,用户就可以在此窗口中敲入sql语句了。并按“F8”或是“”执行,执行后的结果会在下面显示出来,但默认情况下一次只能显 示一页,可以按“”显示下一页;如果用户需要显示全部,则可以按下“”;而按下 “”则可以输入查询条件。如下面两张图所示:

PLSQL怎么执行SQL语句

通过f5查看到的执行计划,其实是pl/sql developer工具内部执行查询 plan_table表然后格式化的结果。 select * from plan_table where statement_id=...。其中 description列描述当前的数据库操作, object owner列表示对象所属用户, object name表示操作的对象, cost列表示当前操作的代价(消耗),这个列基本上就是评价sql语句的优劣,cardinality列表示操作影响的行数, bytes列表示字节数篇二:plsqldeveloper工具使用教程 plsql入门 pl/sql的概述 pl/sql的优势 pl/sql是一种块结构的语言,允许你将业务逻辑封装在一起,这是到目前为止使用pl/sql的最大优势 pl/sql是在服务器上运行,可以与数据库和sql引擎直接进行交互, pl/sql是什么? (procedural language/sql) 是oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用列外处理各种错误,这样使得它的功能变得更加强大。 特性: 减少java程序的复杂性 一.过程,函数,触发器是pl/sql编写的 二.过程、函数、触发器是在oracle中 三. pl/sql是非常强大的数据库过程语言 四.过程,函数可以再java程序中调用 为什么学? a) 提高应用程序的运行性能 b) 模块化的设计思想[分页的过程,订单的过程,转账的过程] c) 减少网络传输量(传统的方法,用sql语句传输!现在就只需要调用存储过程) d) 提高安全性(传统sql 可以看到表名字段等…) 不好: 移植性不好,(你写好的存储过程,函数等当我们要换数据库时,这些东西就没用了)开发工具: 1. sqlplus 开发工具 是oracle公司提供的一个工具,这个因为我们在以前介绍过: 2. pl/sql developer开发工具 pl/sql developer是用于开发pl/sql块的集成开发环境(ide) 它是一个独立的产品,而不是oracle的一个附带品, createprocedure sp_pro1//存储过程名字 is begin ---执行部分 insert into mytest values(‘’,’’); end; / 查看错误信息

oracle常用命令大全和环境变量路径

Oracle 命令大全 底部为环境变量配置路径。 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size';

show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size'; 13 查看所有含有SIZE的信息 show parameter size bitmap_merge_area_size integer 1048576 create_bitmap_area_size integer 8388608 db_16k_cache_size big integer 0 db_2k_cache_size big integer 0 db_32k_cache_size big integer 0 db_4k_cache_size big integer 0 db_8k_cache_size big integer 0 db_block_size integer 4096 db_cache_size big integer 33554432 db_keep_cache_size big integer 0 db_recycle_cache_size big integer 0 NAME TYPE V ALUE ------------------------------------ ----------- ------------- global_context_pool_size string hash_area_size integer 1048576 java_max_sessionspace_size integer 0 java_pool_size big integer 33554432 large_pool_size big integer 8388608 max_dump_file_size string UNLIMITED object_cache_max_size_percent integer 10 object_cache_optimal_size integer 102400 olap_page_pool_size integer 33554432 oracle_trace_collection_size integer 5242880 parallel_execution_message_size integer 2148 NAME TYPE V ALUE ------------------------------------ ----------- ------------- sga_max_size big integer 143727516 shared_pool_reserved_size big integer 2516582 shared_pool_size big integer 50331648 sort_area_retained_size integer 0 sort_area_size integer 524288 workarea_size_policy string AUTO 14 显示SGA的信息 select * from v$sgastat; POOL NAME BYTES

PLSQL使用方法

1.1PLSQl远程连接oracle数据库 1.1.1配置tnsnames.ora 路径:X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client\tnsnames.ora tnsnames.ora配置: orcl = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = orcl) ) ) 其中HOST为主机IP地址,红色字体处 PORT为oracle开放端口号 SERVICE_NAME为连接数据库名字,蓝色字体处 *此配置参数可以配置多个,也就是可以配置多个连接字符串(全局名称) 1.1.2添加连接环境变量 变量名:TNS_ADMIN 变量值:X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client 1.1.3添加ORACLE的语言环境变量: 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK(设置ORACLE的语言) 重新连接,即可正常显示中文。 如果想转换为UTF8字符集,可以赋予"NLS_LANG"为"AMERICAN_AMERICA.UTF8",其他编码同上

1.1.4下载并安装PL.SQL.Developer,配置应用: 配置tools->preferences->connection PLSQL 设置 Oracle Home=X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client OCI library=X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client\oci.dll 1.1.5重启plsql 再次打开plsql则会在database中有oracledata选项输入用户名密码就可以登陆。 1.2导入基础数据 1.2.1输入用户名密码登录plsql

Oracle查询语句基本命令一

oracle查询语句大全--基本命令大全一 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.360docs.net/doc/a210032885.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;"; 7.查询用户下的表的信息select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户SQL> conn a/a

plsql使用技巧详解

plsql使用技巧详解 1.记住登陆密码 为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;设置方法: PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History ,“Store history”是默认勾选的,勾上“Store with password”即可,重新登录在输入一次密码则记住了; 2.登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后,Brower里会选择All objects,如果你登录的用户是dba,要展开tables 目录,正常情况都需要Wait几秒钟,而选择My Objects后响应速率则是以毫秒计算的。 设置方法: Tools菜单 --> Brower Filters,会打开Brower Folders的定单窗口,把“My Objects”设为默认即可。 Tools菜单--Brower Folders,中把你经常点的几个目录(比如:Tables Views Seq Functions Procedures)移得靠上一点,并加上颜色区分,这样你的平均寻表时间会大大缩短。 3.类SQL PLUS窗口 File->New ->Command Window 这个类似于oracle的客户端工具sql plus,但用比它好用多了; 4.关键字自动大写 Tools->Preferences->Editor,将Keyword case选择Uppercase。这样在窗口中输入sql语句时,关键字会自动大写,而其它都是小写。这样阅读代码比较容易,且保持良好得编码风格,同理,在 Tools->Preferences->Code Assistant里可以设置数据库对象的大写、小写,首字母大写等。 5.查看执行计划 选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),或者直接按F5;这个主要用于分析SQL语句执行效率,分析表的结构,便于为sql调优提供直观依据。 6.使用自定义快捷键 PL/SQL Developer也可以像其他IDE那样使用自定义快捷键提高编写代码效率,节省时间。 如我们平时在sql窗口中使用最频繁的 select * from 我们就可以设置一个快捷键来简化select * from的输入。 1)。建立一个文本文件shortcuts.txt,并写入如下内容: s = SELECT * FROM sc = SELECT count(*) FROM 复制代码另存到PL/SQL Developer的安装路径下的~/PlugIns目录下 2)。Tools-->Preferences-->User Interface-->Editor-->AutoReplace,选中Enable复选框,然后浏览文件选中之前创建的shortcuts.txt,点击Apply 3)。重启PL/SQL Developer,在sql窗口中输入s+空格,sc+空格做测试 7.执行单条SQL语句 PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types ,勾上“AutoSelect Statement”。在使用 PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句。 8.PL/SQL Beautifier(PL/SQL 美化器)

相关文档
最新文档