注意:操作系统管理员root,密码oracle 操作系统一般用户oracle,密码oracle 数据库管理员sys,密码oracle 数据库一般管理员system,密码oracle 数据库测试用户scott,密码tiger 数据库测试用户hr,密码hr l.显示表的结构(其中describe可以缩写成desc) [oracleerhel ~]s sqlplus scott/tiger SQL*plus:Release 10.2.0.1.0-Production on Tue May 17 23:34:32 2011 Copyright (c)1982,2005,Oracle.All rights reserved. Connected to: 8msneata2i8i9n5nt8RSsgfitomRalg25e82-6.1.e.Prodwction s0L>5 elect·from tab TNAME TABTYPE CLUSTERID SALGRADE sdep Null?Type EMPHO NOT NULL NUMBER(4) UBER7,2 DEPTNO NUMBER(2) SQL> 补充:【数据类型】 Number(。,s):数字类型,p表示数字的有效长度(从数字的左边第1位不为0的开始算起,直到最右边 的长度:取值范围038位),s表示数字的精度(即小数点右边的位数,取值范围-84127位): Varchar2(s):可变长的字符类型,s表示字符串的长度,取值范围14000位: Char(s):定长的字符类型,s表示字符串的长度,取值范围12000位: Date:时间类型,表示时间的年月日,没有长度和精度,取值范围公元前4713年12月31日~公元后9999 年12月31日: 2.在SQL>命令行中修改SQL语句 2.1a[ppend]text,表示在添加文本到当前行的末尾;
注意:操作系统管理员 root,密码 oracle 操作系统一般用户 oracle,密码 oracle -------------- 数据库管理员 sys,密码 oracle 数据库一般管理员 system,密码 oracle 数据库测试用户 scott,密码 tiger 数据库测试用户 hr,密码 hr 1.显示表的结构(其中 describe 可以缩写成 desc) 补充:【数据类型】 Number(p,s):数字类型,p 表示数字的有效长度(从数字的左边第 1 位不为 0 的开始算起,直到最右边 的长度;取值范围 0~38 位),s 表示数字的精度(即小数点右边的位数,取值范围-84~127 位); Varchar2(s):可变长的字符类型,s 表示字符串的长度,取值范围 1~4000 位; Char(s):定长的字符类型,s 表示字符串的长度,取值范围 1~2000 位; Date:时间类型,表示时间的年月日,没有长度和精度,取值范围公元前 4713 年 12 月 31 日~公元后 9999 年 12 月 31 日; 2.在 SQL>命令行中修改 SQL 语句 2.1 a[ppend] text,表示在添加文本到当前行的末尾;
注意:在a后面需添加2个半角空格 2.2c[hange】/old/neW,表示在当前行中将旧文本改成新文本: SQL>select from tab where tname ='DEPT'; TABTYPE CLUSTERTD DEPT TABLE SQLDEPT/ENE s0t>0 on tab whore tnane 'EMP c[hange】/old/,表示从当前行中删除文本: SQL>select+from tab where TABTYPE CLUSTERID TABLE 2.31[1st],表示列举出缓冲区中所有的行: DEPTNO SUM(SAL)COURT()AVG(SAL) 32916.6666 6156.666 50>1 烹ca1.etoe 1[ist】n,表示列举出缓冲区中的第n行: t.()u()) oup by deptno 1[1st】mn,表示列举出缓冲区中的第m行到第n行:
注意:在 a 后面需添加 2 个半角空格; 2.2 c[hange] /old/new,表示在当前行中将旧文本改成新文本; c[hange] /old/,表示从当前行中删除文本; 2.3 l[ist],表示列举出缓冲区中所有的行; l[ist] n,表示列举出缓冲区中的第 n 行; l[ist] m n,表示列举出缓冲区中的第 m 行到第 n 行;
50L>1 ,sum(sal),count(),avg(s) g点t) 注意:标注的行,表示当前活动行,如果修政时不指定哪一行的话,则修政默认的指定行: oup by lect deptno,sum(sal),count(),avg(sal) SQL> 2.4n,表示将指定行标记为活动行: 50> select deptno,sum(sol),count(),avg(sal) ntext,,表示用文本代替第n行: s0L>1 ec deptno,sum(1),count(),vg(sol) ). 0tet,表示在第1行之前添加1行文本 50L>1 lec deptno,su(al),count(),ave() deptno,sum(sal),count(),avg(sal) 2.5de1,表示除当前活动行 50>1 ,sum(sal),count(),vg(al)
注意:*标注的行,表示当前活动行,如果修改时不指定哪一行的话,则修改默认的指定行; 2.4 n,表示将指定行标记为活动行; n text,表示用文本代替第 n 行; 0 text,表示在第 1 行之前添加 1 行文本 2.5 del,表示删除当前活动行;
deln,表示删除第n行: s0L>1 t(a),co() del m n,表示除第m行至第n行 ,sum(sal),count(*),avg(sal) .nn),a) 注意:如果想删除所有的行,那该怎么办? s0L>1 o,sum(sal),count("),avg(sal) SQ02:No lines in 5QL buffer. 2.6iput,表示在指定的活动行后面添加若干行:(例:在第2行后添加2行,结尾处回车即可) 50 cgetno,u(ea1),count(),v(ai) s heriegetned cdeptno,su(al),count()av() input text,.表示在指定的活动行后面添加1行文本(例:在第2行后添加1行文本) ().c(),) elect deptno,sum(sal),count(*),avg(sal SQL> 2.7cl[ear]buff[er],表示从S缓冲区中别除所有行;
del n,表示删除第 n 行; del m n,表示删除第 m 行至第 n 行; 注意:如果想删除所有的行,那该怎么办? 2.6 input,表示在指定的活动行后面添加若干行;(例:在第 2 行后添加 2 行,结尾处回车即可) input text, 表示在指定的活动行后面添加 1 行文本;(例:在第 2 行后添加 1 行文本) 2.7 cl[ear] buff[er],表示从 SQL 缓冲区中删除所有行;
50L>1 ct deptno,sum(s),count(),v(sl) 3, 2.8r[um,表示执行缓冲区中的SL语句 ect deptno,sum(sal),count(=),avg(sal) 32916.66 SOL> 注意:也可以用/代普run,也表示执行缓冲区中的SqL语句: selectdeptno,sum(sal).count(),vg(sa) DEPTNO SUM(SAL)COUNT()AVG(SAL) s0> 2.9【,表示临时退出SQL>命令行,回到操作系统命令行在操作系统命令行中输入xt后,将会退回 到S0L>命令行: USER "SCOIT o s0>1 。xt,表示水久退出SL渝令行,回到操作系统命令行,在操作系统中必须重新连接徽据库中的用 户,才能回到S0L>命令行: 16tag6naigro5itioma1oa192.e1.e-pmoactio SOL"Plus:Release 18.2.8.1.0-Production on Hed May 18 e0:35:17 2011 Copyright (c)1982,2005,Oracle.All rights reserved
2.8 r[un],表示执行缓冲区中的 SQL 语句; 注意:也可以用/代替 run,也表示执行缓冲区中的 SQL 语句; 2.9 !,表示临时退出 SQL>命令行,回到操作系统命令行;在操作系统命令行中输入 exit 后,将会退回 到 SQL>命令行; exit,表示永久退出 SQL>命令行,回到操作系统命令行;在操作系统中必须重新连接数据库中的用 户,才能回到 SQL>命令行;
2.10sav[e】filename[rep[1ace】app[end],表示将缓冲区中的SQL语句保存到某个文件(可指定路 轻),其中 replace表示新的内容将覆盖原来的内容; append表示在原有内容的基础上向后追加;默认的文 件扩展名.s 注意:01,是操作系统中的主文件夹: cd /filename,表示打开某个路径下的文件夹; 1s,表示列举当前文件夹底下的子文件夹以及文件: cd.…表示退回到上一级目录: cd\回车,表示退回到根目录 nore filename,表示获取该文件中内容(须为文本文件) 例:保存文件内容 SQL>sav filename USERCOT wffer. LOC YORK 85E [oracle@rhel u1]5 例:覆盖内容 SQL>sav filename rep SEos8or DEPTNO DNAME HEW YOR Cm from dept file /u01/haha.sql oracle@rhel u1]$ 例:追加内容 SQL>sav filename app
2.10 sav[e] filename [rep[lace] app[end]],表示将缓冲区中的 SQL 语句保存到某个文件(可指定路 径),其中 replace 表示新的内容将覆盖原来的内容;append 表示在原有内容的基础上向后追加;默认的文 件扩展名.sql 注意:/u01,是操作系统中的主文件夹; cd /filename,表示打开某个路径下的文件夹; ls,表示列举当前文件夹底下的子文件夹以及文件; cd ..表示退回到上一级目录; cd \ 回车,表示退回到根目录; more filename,表示获取该文件中内容(须为文本文件) 例:保存文件内容 SQL>sav filename 例:覆盖内容 SQL>sav filename rep 例:追加内容 SQL>sav filename app
deptno,fro m EMPNO ENAME 7788 SCOTT ,mwa oradata ilecte0:e978,deptno,sa1fronee Koracle@rhel 1] 2.11 get filename,表示将操作系统下的文件内容读取到SQL命令行中: 8Ce81156eta0m.83 cmpnoto,fon mp ofro dept fre 2.12 start filename,,表示在SQL命令行中运行操作系统下的文件中的SqL命令: 50L start /u01/hoho.sql DEPTNO DNAM 48 OPERATIONS 805T0N DEPTNO 5 7788 SCOTT 28 3000 注意:也可以filename去执行操作系统下的文件中的SQL命令: e/u81/haho.sql DEPTNO DNAM LOC 806 77885C0T
2.11 get filename,表示将操作系统下的文件内容读取到 SQL 命令行中; 2.12 start filename,表示在 SQL 命令行中运行操作系统下的文件中的 SQL 命令; 注意:也可以@filename 去执行操作系统下的文件中的 SQL 命令;
2.13$p0olon,表示将缓存打开,不然只能保存最近执行的1条命令; spool fi1ena0e,表示将缓存中出现的命令以及结果输出到某个文件中: spoo1o,表示关闭缓存,同时文件会自动保存; 73695 21 14 rows selected. gpool off 查看文件的内容 a1 hehe.log oradata EMPNO ENAME SAL 14 rovs selected」 58ci0eoheato151 2.14设定会话中结果的显示格式: set1ines1ze100,表示显示的行宽度,将结果显示时占的总宽度为100个字符宽宽的,数字可任 意修政(正数), 不然可能显示结果过长而产生折行 例:设定前
2.13 spool on,表示将缓存打开,不然只能保存最近执行的 1 条命令; spool filename,表示将缓存中出现的命令以及结果输出到某个文件中; spool off,表示关闭缓存,同时文件会自动保存; 查看文件的内容: 2.14 设定会话中结果的显示格式: set linesize 100,表示显示的行宽度,将结果显示时占的总宽度为 100 个字符宽宽的,数字可任 意修改(正数),不然可能显示结果过长而产生折行; 例:设定前
memp where rownum《; NGR HIREDATE 7369 SMITH CLERK 798217-DEC-80 SQL> 设定后 SLet linesize 150 MGR HIREDATE 7369 SHITH CLERK 799217-0Ec-89 gee 2 SOL> set pagesize30,表示每页记录数,即每页可以显示多少条数据,包括标题行,数字可任意修政(正 数),不然会产生翻页: 例:设定前 MGR HIREDATE SAL DEPTNO 654 MARTIN 1480 MANAGE CLERK 76989858 108 SAL 14 rous selected. 设定后 HGR HIREDATE SA 73695 CLER 17-DEC 62-FE8-8 288 14 rovs selected
设定后 set pagesize 30,表示每页记录数,即每页可以显示多少条数据,包括标题行,数字可任意修改(正 数),不然会产生翻页; 例:设定前 设定后
注意:以上1 inesize,pagesize的设定,是当前会话有效,如果会话重新登录,或者打开新的会话,则 设定会还原成默认。 2.15 vi filename ,表示新建一个文件,并对其中的内容进行编辑 例:step1:在操作系统的/u01目录下新建一个文件temp01.sql: temp1[Ne File] %o step2:点击i按钮,转换文本为-insert--模式,此时可以在文本中书写内容: :: 。即3书写完半后,京击Ec按包,遇出续辑横式 -5F面- dept: 2,0-1 stp4:输入:q,然后回车,将会保存文件并退出,回到操作系统命令行 注意::q表示退出不保存 :q!表示强制退出不保存 select from dept; 【第一章编写基本的S0 L select语句】 1.用户拥有的表相关信息的查询: 1.1查询当前用户拥有对象的信息:
注意:以上 linesize,pagesize 的设定,是当前会话有效,如果会话重新登录,或者打开新的会话,则 设定会还原成默认。 2.15 vi filename,表示新建一个文件,并对其中的内容进行编辑; 例:step 1:在操作系统的/u01 目录下新建一个文件 temp01.sql; step 2:点击 i 按钮,转换文本为-insert-模式,此时可以在文本中书写内容; step 3:书写完毕后,点击 Esc 按钮,退出编辑模式; step 4:输入:wq,然后回车,将会保存文件并退出,回到操作系统命令行; 注意::q 表示退出不保存 :q!表示强制退出不保存 【第一章 编写基本的 SQL select 语句】 1.用户拥有的表相关信息的查询; 1.1 查询当前用户拥有对象的信息;