sqlplus登录方式,列出所有表,列出表结构,sqlplus行和列显示设置,别名,空值问题,连接符,DISTINCT
1 sqlplus登錄方式:
???????? 普通用戶登錄:
登錄eg:C:\>sqlplusscott/11? (格式:sqlplus 用戶名/密碼)
退出eg:quit退出
?
???????? 超級用戶登錄
?????????????????? C:\>sqlplus/nolog
?????????????????? SQL*Plus:Release 10.1.0.2.0 - Pr
?????????????????? Copyright(c) 1982, 2004, Oracle.
?????????????????? SQL>connect /as sysdba?? //操作用戶登錄方式
?????????????????? 已連接。
????????????????????????????????????
2 查看用戶下有什么表,命令:
???????? SQL>select * from tab;??
tab是oracle中的一個關鍵字。
?
3? 關于數據字典:
tab是數據字典:oracle超級管理員分配給普通用的資源....,tab關鍵字....
?
4? SQL>select * from dept; --查詢表的所有記錄
????????
???DEPTNO(部門編號) DNAME 部門名稱??????? LOC 位置
?????????????????? ------------------------ -------------
?????????????????? ??????? 10 ACCOUNTING???? NEW YORK
?????????????????? ??????? 20 RESEARCH?????? DALLAS
?????????????????? ??????? 30 SALES????????? CHICAGO
?????????????????? ??????? 40 OPERATIONS???? BOSTON
?
5?SQL> desc dept;? --查詢表結構
???????? 名稱????????????????????????????????????? 是否為空? 類型
???????? ------------------------------------------------- ----------------------------
???????? DEPTNO??????????????????????????????????? NOT NULLNUMBER(2)
???????? DNAME????????????????????????????????????????????VARCHAR2(14)
???????? LOC???????????????????????????????????????????????VARCHAR2(13)
???????????????????????????
6? 基本命令
???????? A? set linesize 150 ?設置行寬
???????? B? set pagesize 140 設置頁大小
C? 設置列寬
???????? ?? SQL> col empno for 99999999999999999999
???????? D? 給字符方式設置列寬:
???????? ?? SQL> col ename for a20
????????
??????????????????????????????????????????????
E? window下清屏
???????? ? SQL>host cls
F? Linux下清貧
? SQL>host clear
???????????????????????????
7? select語句(可以檢索所有列、部分列、表達式、別名)
?????????????????? ?select * from emp;
???????? ???? ---顯示員工姓名 員工編號 工作? 月薪 年薪
???????? ???? select ename, empno, job, sal , sal*12from emp;
8?? 別名
?????????????????? --1別名: 可以省掉""和as
?????????????????? --2有空格時, 不能省掉""
?
SQL> select ename as "員工姓名" , empno"編號", job 工作, sal "月薪" , sal*12? 年薪 from emp
?
???????????????????????????????????? 員工姓名???????? 編號 工作?????????? 月 薪?????? 年薪
???????? ??????????????????????????? -------------------- --------- ---------- ----------
???????????????????????????????????? SMITH??????????? 7369 CLERK??????????? 800?????? 9600
???????????????????????????????????? ALLEN??????????? 7499 SALESMAN??????? 1600????? 19200
???????????????????????????????????? WARD???????????? 7521 SALESMAN??????? 1250????? 15000
???????????????????????????????????? JONES??????????? 7566 MANAGER???????? 2975????? 35700
???????????????????????????????????? MARTIN?????????? 7654 SALESMAN??????? 1250????? 15000
???????????????????????????????????? BLAKE??????????? 7698 MANAGER???????? 2850????? 34200
???????????????????????????????????? CLARK??????????? 7782 MANAGER???????? 2450????? 29400
???????????????????????????????????? SCOTT??????????? 7788 ANALYST???????? 3000?????36000
???????????????????????????????????? KING???????????? 7839 PRESIDENT?????? 5000?????60000
???????????????????????????????????? TURNER?????????? 7844 SALESMAN??????? 1500????? 18000
???????????????????????????????????? ADAMS??????????? 7876 CLERK?????????? 1100????? 13200
???????????????????????????????????? JAMES??????????? 7900 CLERK??????????? 950????? 11400
???????????????????????????????????? FORD?????? ??????7902 ANALYST???????? 3000????? 36000
???????????????????????????????????? MILLER?????????? 7934 CLERK?????????? 1300????? 15600
????????????????????????????????????
???????? ---顯示員工姓名 員工編號 工作? 月薪 年收入(月薪*12+comm)
9 空值問題:
???????? selectename, empno, job, sal , sal*12+comm from emp ; (有問題,因為comm有null的)
????????
空值問題注意:
?????????????????? 1NULL空值任何數和null運算都為null??? (null無窮大)
?????????????????? 2空值不是空? null != null
???????? 解決辦法:
?????????????????? null濾空函數 nvl (a,b) -- 當a是空的時候,返回b( 其中 b可以是數字/字符串)
?????????????????? ---字符串和日期在sql語言用單引號擴起來...
???????? 案例說明:
A?? select ename, empno, job,sal , sal*12+ nvl(comm,0) 年收入from emp;
?
??????????????????????????? ENAME???????????????????? EMPNO JOB? ????????????SAL???? 年收入
??????????????????????????? ------------------------------ --------- ---------- ----------
??????????????????????????? SMITH????????????????????? 7369 CLERK??????????? 800?????? 9600
??????????????????????????? ALLEN????????????????????? 7499 SALESMAN??????? 1600????? 19500
??????????????????????????? WARD?????????????????????? 7521 SALESMAN??????? 1250????? 15500
??????????????????????????? JONES????????????????????? 7566 MANAGER???????? 2975????? 35700
??????????????????????????? MARTIN???????????????????? 7654 SALESMAN??????? 1250????? 16400
??????????????????????????? BLAKE????????????????????? 7698 MANAGER???????? 2850????? 34200
??????????????????????????? CLARK?????????? ???????????7782 MANAGER???????? 2450????? 29400
??????????????????????????? SCOTT????????????????????? 7788 ANALYST???????? 3000????? 36000
??????????????????????????? KING?????????????????????? 7839 PRESIDENT?????? 5000?????60000
??????????????????????????? TURNER???????????????????? 7844 SALESMAN??????? 1500????? 18000
??????????????????????????? ADAMS????????????????????? 7876 CLERK?????????? 1100????? 13200
??????????????????????????? JAMES????????????????????? 7900 CLERK??????????? 950????? 11400
??????????????????????????? FORD?????????????????????? 7902 ANALYST???????? 3000????? 36000
??????????????????????????? MILLER???????????????????? 7934 CLERK?????????? 1300????? 15600
???????????????????????????
???????? ?B?? 查詢獎金為空的員工
??????????????????????????? select* from emp where comm is null;
????????結果:
??????????????????????????? EMPNOENAME????? JOB????????????? MGR HIREDATE????????????? SAL?????? COMM????DEPTNO
??????????????????????????? -------------------- --------- ---------- -------------- ---------- ---------- ----------
??????????????????????????? ????? 7369 SMITH????? CLERK?????????? 7902 17-12月-80??????????? 800??????????????????? 20
??????????????????????????? ????? 7566 JONES????? MANAGER???????? 7839 02-4月 -81?????????? 2975??????????????????? 20
??????????????????????????? ????? 7698 BLAKE????? MANAGER???????? 7839 01-5月 -81??????? ???2850??????????????????? 30
??????????????????????????? ????? 7782 CLARK????? MANAGER???????? 7839 09-6月 -81?????????? 2450??????????????????? 10
??????????????????????????? ????? 7788 SCOTT????? ANALYST???????? 7566 19-4月 -87?????????? 3000??????????????????? 20
??????????????????????????? ????? 7839 KING?????? PRESIDENT????? ??????17-11月-81?????????? 5000??????????????????? 10
??????????????????????????? ????? 7876 ADAMS????? CLERK?????????? 7788 23-5月 -87?????????? 1100??????????????????? 20
??????????????????????????? ????? 7900 JAMES????? CLERK?????????? 7698 03-12月-81??????????? 950??????????????????? 30
??????????????????????????? ????? 7902 FORD?????? ANALYST???????? 7566 03-12月-81?????????? 3000??????????????????? 20
??????????????????????????? ????? 7934 MILLER???? CLERK?????????? 7782 23-1月 -82?????????? 1300??????????????????? 10
????????
???????? ?C? 查詢獎金不為空的員工
?????????????????? ??? select * from emp where comm is not null
???????結果:
?????????????????? ?? EMPNO ENAME????? JOB????????????? MGR HIREDATE????????????? SAL?????? COMM????DEPTNO
?????????????????? ------------------ --------- ---------- -------------- ---------- ---------- ----------
?????????????????? ??? 7499 ALLEN????? SALESMAN??????? 7698 20-2月 -81?????????? 1600??????? 300????????30
?????????????????? ??? 7521 WARD?????? SALESMAN??????? 7698 22-2月 -81?????????? 1250??????? 500???????? 30
?????????????????? ??? 7654 MARTIN???? SALESMAN??????? 7698 28-9月 -81?????????? 1250?????? 1400???????? 30
?????????????????? ??? 7844 TURNER???? SALESMAN??????? 7698 08-9月 -81?????????? 1500????????? 0???????? 30
?
?
10 連接符 ||
???????? ? select 'hello' || 'world' from emp;??????
???????? ? select 'hello' || 'world' from dual;? --偽表
?
dual是數據字典 (oracle超級管理員分配給普通用的資源....,tab關鍵字....)
???????? ?SQL> select sysdate from dual;
???????????????????????????????????? SYSDATE
???????????????????????????????????? --------------
??????????????????????????? ???????? 07-10月-14
????????????????????????????????????
???????????????????????????????????? SQL>
11:DISTINCT ?
A? 作用去除重復的行
???????? ?select DISTINCT deptno from emp;
??????????????????????????? ??? DEPTNO
???????????????????????????????????? ----------
???????????????????????????????????? ??? 30
???????????????????????????????????? ??? 20
??????????????????????????? ?? ?????10
???????? ?B? DISTINCT修飾多個字段的時, 當部門編號和工種都一樣的時候,認為是重復的...
?????????????????????????????????????????????????????????????????????????????????????????????????????? 否則 不同行.
??????????????????????????????????????????????????????? ====DISTINCT2個字段
???????????????????????????????????? selectDISTINCT deptno, job from emp
????????????????????????????????????
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的sqlplus登录方式,列出所有表,列出表结构,sqlplus行和列显示设置,别名,空值问题,连接符,DISTINCT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长方体面积计算公式视频(长方体面积计算公
- 下一篇: 4.有关日期格式属性修改常识,v$nls