王勇-Java項(xiàng)目視頻Oracle10G培訓(xùn)日志_第1頁(yè)
王勇-Java項(xiàng)目視頻Oracle10G培訓(xùn)日志_第2頁(yè)
王勇-Java項(xiàng)目視頻Oracle10G培訓(xùn)日志_第3頁(yè)
王勇-Java項(xiàng)目視頻Oracle10G培訓(xùn)日志_第4頁(yè)
王勇-Java項(xiàng)目視頻Oracle10G培訓(xùn)日志_第5頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、TOC o 1-3 h z u HYPERLINK l _Toc278970577 1、綱要 PAGEREF _Toc278970577 h 4 HYPERLINK l _Toc278970578 2、內(nèi)容 PAGEREF _Toc278970578 h 4 HYPERLINK l _Toc278970579 2.1、SQL概述 PAGEREF _Toc278970579 h 4 HYPERLINK l _Tocc2789770580 2.2、什么么是數(shù)據(jù)庫(kù) PAGEREF _Toc278970580 h 4 HYPERLINK l _Toc278970581 2.3、表 PAGEREF _T

2、oc278970581 h 55 HYPERLINK l _Toc278970582 2.4、SQLL的分類 PAGEREF _Toc278970582 h 5 HYPERLINK l _Toc278970583 2.5、演示數(shù)數(shù)據(jù)的結(jié)構(gòu) PAGEREF _Toc278970583 h 5 HYPERLINK l _Toc278970584 2.5.1、怎怎么樣可以取取得演示數(shù)據(jù)據(jù)表 PAGEREF _Toc278970584 h 5 HYPERLINK l _Toc278970585 2.5.2、如如何查看表結(jié)結(jié)構(gòu) PAGEREF _Toc278970585 h 6 HYPERLINK l

3、_Toc278970586 2.5.3、表表結(jié)構(gòu)描述 PAGEREF _Toc278970586 h 6 HYPERLINK l _Toc278970587 2.6、簡(jiǎn)單查查詢 PAGEREF _Toc278970587 h 7 HYPERLINK l _Toc278970588 2.6.1、查查詢一個(gè)字段段 PAGEREF _Toc278970588 h 7 HYPERLINK l _Toc278970589 2.6.2、查查詢多個(gè)字段段 PAGEREF _Toc278970589 h 7 HYPERLINK l _Toc278970590 2.6.3、查查詢?nèi)孔侄味?PAGEREF _T

4、oc278970590 h 8 HYPERLINK l _Toc278970591 2.6.4、計(jì)計(jì)算員工的年年薪 PAGEREF _Toc278970591 h 8 HYPERLINK l _Toc278970592 2.6.5、將將查詢出來的的字段顯示為為中文 PAGEREF _Toc278970592 h 9 HYPERLINK l _Tooc27899705933 2.7、SQL PPlus常用用命令 PAGEREF _Toc278970593 h 9 HYPERLINK l _Toc278970594 2.7.1、sset liinesizze 2000 PAGEREF _Toc27

5、8970594 h 9 HYPERLINK l _Toc278970595 2.7.2、ll(Listt) PAGEREF _Toc278970595 h 10 HYPERLINK l _Toc27789705596 2.7.33、run / r PAGEREF _Toc278970596 h 10 HYPERLINK l _Toc278970597 2.7.4、ssave PAGEREF _Toc278970597 h 11 HYPERLINK l _Toc278970598 2.7.5、gget PAGEREF _Toc278970598 h 11 HYPERLINK l _Toc2789

6、70599 2.7.6、eed(ediit) PAGEREF _Toc278970599 h 11 HYPERLINK l _Toc278970600 2.7.7、如如何直接執(zhí)行行sql腳本 PAGEREF _Toc278970600 h 12 HYPERLINK l _Toc278970601 2.8、條件查查詢 PAGEREF _Toc278970601 h 12 HYPERLINK l _Toc278970602 2.8.1、等等號(hào)操作符 PAGEREF _Toc278970602 h 12 HYPERLINK l _Toc278970603 2.8.2、操作符 PAGEREF _Toc

7、278970603 h 14 HYPERLINK l _Toc278970604 2.8.3、bbetweeen aand 操操作符 PAGEREF _Toc278970604 h 14 HYPERLINK l _Toc278970605 2.8.4、iis nulll PAGEREF _Toc278970605 h 15 HYPERLINK l _Toc278970606 2.8.5、aand PAGEREF _Toc278970606 h 16 HYPERLINK l _Toc278970607 2.8.6、oor PAGEREF _Toc278970607 h 16 HYPERLINK

8、l _Toc278970608 2.8.7、表表達(dá)式的優(yōu)先先級(jí) PAGEREF _Toc278970608 h 16 HYPERLINK l _Toc278970609 2.8.8、iin PAGEREF _Toc278970609 h 17 HYPERLINK l _Toc278970610 2.8.9、nnot PAGEREF _Toc278970610 h 18 HYPERLINK l _Toc278970611 2.8.10、like PAGEREF _Toc278970611 h 19 HYPERLINK l _Toc2789700612 2.9、排序序數(shù)據(jù) PAGEREF _Toc

9、278970612 h 20 HYPERLINK l _Toc278970613 2.9.1、單單一字段排序序 PAGEREF _Toc278970613 h 20 HYPERLINK l _Toc278970614 2.9.2、手手動(dòng)指定排序序順序 PAGEREF _Toc278970614 h 21 HYPERLINK l _Toc278970615 2.9.3、多多個(gè)字段排序序 PAGEREF _Toc278970615 h 22 HYPERLINK l _Toc278970616 2.9.3、使使用字段的位位置來排序 PAGEREF _Toc278970616 h 22 HYPERLI

10、NK l _Toc278970617 2.10、數(shù)據(jù)據(jù)處理函數(shù) PAGEREF _Toc278970617 h 23 HYPERLINK l _Toc278970618 2.10.1、lowerr PAGEREF _Toc278970618 h 23 HYPERLINK l _Toc278970619 2.10.2、upperr PAGEREF _Toc278970619 h 24 HYPERLINK l _Toc278970620 2.10.3、substtr PAGEREF _Toc278970620 h 24 HYPERLINK l _Toc278970621 2.10.4、lengtt

11、h PAGEREF _Toc278970621 h 24 HYPERLINK l _Toc278970622 2.10.5、trim PAGEREF _Toc278970622 h 25 HYPERLINK l _Toc278970623 2.10.6、to_daate PAGEREF _Toc278970623 h 25 HYPERLINK l _Toc278970624 2.10.7、to_chhar PAGEREF _Toc278970624 h 26 HYPERLINK l _Toc278970625 2.10.8、to_nuumber PAGEREF _Toc278970625 h

12、27 HYPERLINK l _Toc278970626 2.10.9、nvl PAGEREF _Toc278970626 h 27 HYPERLINK l _Toc278970627 2.10.100、case wheen tthen end PAGEREF _Toc278970627 h 28 HYPERLINK l _Toc278970628 2.10.111、decodde PAGEREF _Toc278970628 h 29 HYPERLINK l _Toc278970629 2.10.122、roundd PAGEREF _Toc278970629 h 29 HYPERLINK l

13、 _Toc278970630 2.11、聚合合函數(shù) PAGEREF _Toc278970630 h 29 HYPERLINK l _Toc278970631 2.11.1、countt PAGEREF _Toc278970631 h 30 HYPERLINK l _Toc278970632 2.11.2、sum PAGEREF _Toc278970632 h 30 HYPERLINK l _Toc278970633 2.11.3、avg PAGEREF _Toc278970633 h 31 HYPERLINK l _Toc278970634 2.111.4、max PAGEREF _Toc27

14、8970634 h 31 HYPERLINK l _Toc278970635 2.11.4、min PAGEREF _Toc278970635 h 32 HYPERLINK l _Toc278970636 2.11.4、組組合聚合函數(shù)數(shù) PAGEREF _Toc278970636 h 32 HYPERLINK l _Toc278970637 2.12、分組組查詢 PAGEREF _Toc278970637 h 33 HYPERLINK l _Toc278970638 2.12.1、groupp by PAGEREF _Toc278970638 h 33 HYPERLINK l _Toc2789

15、70639 2.12.2、havinng PAGEREF _Toc278970639 h 34 HYPERLINK l _Toc278970640 2.12.3、selecct語(yǔ)句總結(jié)結(jié) PAGEREF _Toc278970640 h 34 HYPERLINK l _Toc278970641 2.13、連接接查詢 PAGEREF _Toc278970641 h 35 HYPERLINK l _Toc278970642 2.13.1、SQL922語(yǔ)法 PAGEREF _Toc278970642 h 35 HYPERLINK l _Toc278970643 2.13.2、SQL999語(yǔ)法 PAGE

16、REF _Toc278970643 h 38 HYPERLINK l _Toc278970644 2.14、子查查詢 PAGEREF _Toc278970644 h 39 HYPERLINK l _Toc278970645 2.14.1、在在wheree語(yǔ)句中使用用子查詢,也也就是在whhere語(yǔ)句句中加入seelect語(yǔ)語(yǔ)句 PAGEREF _Toc278970645 h 39 HYPERLINK l _Toc278970646 2.14.2、在在from語(yǔ)句句中使用子查查詢,可以將將該子查詢看看做一張表 PAGEREF _Toc278970646 h 40 HYPERLINK l _Toc

17、278970647 2.14.3、在在selecct語(yǔ)句中使使用子查詢 PAGEREF _Toc278970647 h 41 HYPERLINK l _Toc278970648 2.15、unnion和minuss PAGEREF _Toc278970648 h 42 HYPERLINK l _Toc278970649 2.15.1、union可以以合并集合(相相加) PAGEREF _Toc278970649 h 42 HYPERLINK l _Toc278970650 2.15.1、minuss可以移出集集合(相減) PAGEREF _Toc278970650 h 42 HYPERLINK

18、 l _Toc278970651 2.16、roownum的的使用 PAGEREF _Toc278970651 h 43 HYPERLINK l _Toc278970652 2.16.1、rownuum隱含字段段 PAGEREF _Toc278970652 h 43 HYPERLINK l _Toc278970653 2.16.2、取取得前5條數(shù)據(jù) PAGEREF _Toc278970653 h 43 HYPERLINK l _Toc278970654 2.16.3、取取得大與第55條的所有數(shù)數(shù)據(jù) PAGEREF _Toc278970654 h 44 HYPERLINK l _Toc27897

19、0655 2.16.4、取取得薪水最高高的前5名 PAGEREF _Toc278970655 h 44 HYPERLINK l _Toc278970656 2.16.5、 采用rownnum進(jìn)行分分頁(yè) PAGEREF _Toc278970656 h 45 HYPERLINK l _Toc278970657 2.17、添加加、修改和刪刪除 PAGEREF _Toc278970657 h 46 HYPERLINK l _Toc278970658 2.17.1、inserrt PAGEREF _Toc278970658 h 46 HYPERLINK l _Toc278970659 2.17.2、up

20、datte PAGEREF _Toc278970659 h 50 HYPERLINK l _Toc278970660 2.17.2、delette PAGEREF _Toc278970660 h 50 HYPERLINK l _Toc278970661 2.18、事務(wù)務(wù)概述 PAGEREF _Toc278970661 h 50 HYPERLINK l _Toc278970662 2.19、表 PAGEREF _Toc278970662 h 51 HYPERLINK l _Toc278970663 2.19.1、創(chuàng)創(chuàng)建表 PAGEREF _Toc278970663 h 51 HYPERLINK

21、l _Toc278970664 2.19.2、創(chuàng)創(chuàng)建表加入約約束 PAGEREF _Toc278970664 h 52 HYPERLINK l _Toc278970665 2.19.3、t_stuudent和和t_claasses完完整示例 PAGEREF _Toc278970665 h 58 HYPERLINK l _Toc278970666 2.19.4、增增加/刪除/修改表結(jié)構(gòu)構(gòu) PAGEREF _Toc278970666 h 59 HYPERLINK l _Toc278970667 2.19.5、增增加/刪除/修改表約束束 PAGEREF _Toc278970667 h 60 HYPE

22、RLINK l _Toc278970668 2.19.6、刪刪除表 PAGEREF _Toc278970668 h 60 HYPERLINK l _Toc278970669 2.20、索引引 PAGEREF _Toc278970669 h 61 HYPERLINK l _Toc278970670 2.20.1、建建立索引 PAGEREF _Toc278970670 h 61 HYPERLINK l _Toc278970671 2.21、視圖圖 PAGEREF _Toc278970671 h 61 HYPERLINK l _Toc278970672 2.21.1、刪刪除視圖 PAGEREF _T

23、oc278970672 h 62 HYPERLINK l _Toc278970673 2.22、序列列(Sequuence) PAGEREF _Toc278970673 h 63 HYPERLINK l _Toc278970674 2.22.1、創(chuàng)建序序列 PAGEREF _Toc278970674 h 63 HYPERLINK l _Toc278970675 2.22.2、使使用序列 PAGEREF _Toc278970675 h 63 HYPERLINK l _Toc278970676 2.22.3、刪刪除序列 PAGEREF _Toc278970676 h 63 HYPERLINK l

24、_Toc278970677 2.23、存儲(chǔ)儲(chǔ)過程、觸發(fā)發(fā)器和游標(biāo) PAGEREF _Toc278970677 h 63 HYPERLINK l _Toc278970678 2.23.1、存存儲(chǔ)過程 PAGEREF _Toc278970678 h 63 HYPERLINK l _Toc278970679 2.23.2、觸觸發(fā)器 PAGEREF _Toc278970679 h 64 HYPERLINK l _Toc278970680 2.24、游標(biāo)標(biāo) PAGEREF _Toc278970680 h 65 HYPERLINK l _Toc278970681 2.5、常用的的DBA命令 PAGEREF

25、 _Toc278970681 h 66 HYPERLINK l _Toc278970682 2.5.1、查查看用戶擁有有的數(shù)據(jù)庫(kù)對(duì)對(duì)象 PAGEREF _Toc278970682 h 66 HYPERLINK l _Toc278970683 2.5.2、查查看約束信息息 PAGEREF _Toc278970683 h 66 HYPERLINK l _Toc278970684 2.5.3、查查看用戶擁有有的表 PAGEREF _Toc278970684 h 66 HYPERLINK l _Toc278970685 2.5.4、查查看用戶擁有有的視圖 PAGEREF _Toc278970685 h

26、 66 HYPERLINK l _Toc278970686 2.5.5、查查看用戶擁有有的觸發(fā)器 PAGEREF _Toc278970686 h 66 HYPERLINK l _Toc278970687 2.5.6、查查看用戶擁有有的序列 PAGEREF _Toc278970687 h 66 HYPERLINK l _Toc278970688 2.5.7、查查看用戶擁有有的存儲(chǔ)過程程 PAGEREF _Toc278970688 h 66 HYPERLINK l _Toc278970689 2.5.8、查查看用戶擁有有的索引 PAGEREF _Toc278970689 h 66 HYPERLIN

27、K l _Toc278970690 2.5.9、顯顯示當(dāng)前用戶戶 PAGEREF _Toc278970690 h 67 HYPERLINK l _Toc278970691 2.5.10、切切換用戶 PAGEREF _Toc278970691 h 67 HYPERLINK l _Toc278970692 2.5.11、將將用戶賦予某某種角色登錄錄 PAGEREF _Toc278970692 h 67 HYPERLINK l _Toc27889706993 2.5.112、查看所所有的用戶 PAGEREF _Toc278970693 h 67 HYPERLINK l _Toc278970694 2

28、.5.13、查查看用戶擁有有的權(quán)限 PAGEREF _Toc278970694 h 67 HYPERLINK l _Toc278970695 2.5.14、給給用戶加鎖 PAGEREF _Toc278970695 h 67 HYPERLINK l _Toc278970696 2.5.15、給給用戶解鎖 PAGEREF _Toc278970696 h 67 HYPERLINK l _Toc278970697 2.5.16、修修改用戶密碼碼 PAGEREF _Toc278970697 h 68 HYPERLINK l _Toc278970698 2.5.17、新新建用戶 PAGEREF _Toc2

29、78970698 h 68 HYPERLINK l _Toc278970699 2.5.18、刪刪除用戶及相相關(guān)對(duì)象 PAGEREF _Toc278970699 h 68 HYPERLINK l _Toc278970700 2.5.19、給給用戶授權(quán)(多多個(gè)采用逗號(hào)號(hào)間隔) PAGEREF _Toc278970700 h 68 HYPERLINK l _Toc278970701 2.5.20、分分配表空間uusres給給用戶 PAGEREF _Toc278970701 h 68 HYPERLINK l _Toc278970702 2.5.21、授授權(quán)表空間給給用戶 PAGEREF _Toc27

30、8970702 h 68 HYPERLINK l _Toc278970703 2.5.21、一一個(gè)完整的過過程,創(chuàng)建用戶、創(chuàng)創(chuàng)建表空間、授授權(quán)、建表 PAGEREF _Toc278970703 h 69 HYPERLINK l _Toc278970704 2.25.222、導(dǎo)入和導(dǎo)導(dǎo)出命令immp、exp PAGEREF _Toc278970704 h 69 HYPERLINK l _Toc2789707705 2.26、數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)的的三范式 PAGEREF _Toc278970705 h 69 HYPERLINK l _Toc278970706 2.26.1、第第一范式 PAGEREF _

31、Toc278970706 h 69 HYPERLINK l _Toc278970707 2.26.2、第第二范式 PAGEREF _Toc278970707 h 701、綱要SQL概述Oracle簡(jiǎn)簡(jiǎn)介SQL pluus概述演示數(shù)據(jù)表結(jié)構(gòu)構(gòu)簡(jiǎn)單查詢SQL pluus常用命令令 條件查詢排序數(shù)據(jù)數(shù)據(jù)處理函數(shù)聚合函數(shù)分組查詢連接查詢子查詢union和mminusrownum的的使用添加,修改和刪刪除事務(wù)概述表索引視圖序列存儲(chǔ)過程、觸發(fā)發(fā)器和游標(biāo)數(shù)據(jù)庫(kù)設(shè)計(jì)三范范式Oracle體體系結(jié)構(gòu)、概概念及常用DDBA操作2、內(nèi)容2.1、SQLL概述SQL,一般發(fā)發(fā)音為seqquel,SSQL的全稱稱Struc

32、cturedd Querry Lannguagee),SQLL用來和數(shù)據(jù)據(jù)庫(kù)打交道,完完成和數(shù)據(jù)庫(kù)庫(kù)的通信,SSQL是一套套標(biāo)準(zhǔn)。2.2、什么是是數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù),通常是是一個(gè)或一組組文件,保存存了一些符合合特定規(guī)格的的數(shù)據(jù)數(shù)據(jù)庫(kù)軟件稱為為數(shù)據(jù)庫(kù)管理理系統(tǒng)(DBBMS),全全稱為DattaBasee Manaaged SSystemm,如:Orracle、SSQL Seerver、MMySql、SSybasee、infoormix、DDB2、innterbaase、PoostgreeSql 2.3、表表是一種結(jié)構(gòu)化化的文件,可可以用來存儲(chǔ)儲(chǔ)特定類型的的數(shù)據(jù),如:學(xué)生信息,課課程信息,都都可以放到表

33、表中。另外表表都有特定的的名稱,而且且不能重復(fù)。表表中具有幾個(gè)個(gè)概念:列、行行、主鍵。 學(xué)生信息表學(xué)號(hào)(主鍵)姓名性別年齡00001張三男2000002李四女20列,通常也叫列,通常也叫字段,表是由列構(gòu)成的,列是具有類型的行,也叫記錄,表中的數(shù)據(jù)是按行(記錄)存儲(chǔ)的,表里可以有0條或多條記錄主鍵,主鍵是由列構(gòu)成的,表中的每一行通常都有一個(gè)標(biāo)識(shí),主鍵可以由一個(gè)字段或多個(gè)字段構(gòu)成,一個(gè)字段構(gòu)成的主鍵稱為單一主鍵,多個(gè)字段構(gòu)成的主鍵稱為復(fù)合主鍵,主鍵通常是不能修改的2.4、SQLL的分類數(shù)據(jù)查詢語(yǔ)言(DDQL),只只有一個(gè)seelect數(shù)據(jù)操縱語(yǔ)言(DDML),主主要包括:iinsertt/upda

34、ate/deelete數(shù)據(jù)定義語(yǔ)言(DDDL),主主要包括:ccreatee/dropp/alteer事務(wù)控制語(yǔ)言,主主要包括:ccommitt/rolllback數(shù)據(jù)控制語(yǔ)言,主主要包括授權(quán)權(quán)等等2.5、演示數(shù)數(shù)據(jù)的結(jié)構(gòu)2.5.1、怎怎么樣可以取取得演示數(shù)據(jù)據(jù)表select * froom tabb;或select tablee_namee fromm userr_tablles;2.5.2、如如何查看表結(jié)結(jié)構(gòu)desc deept;表結(jié)構(gòu)是由字段段構(gòu)成的,字字段是有類型型的2.5.3、表表結(jié)構(gòu)描述表名稱:deppt描述:部門信息息表英文字段名稱中文描述類型DEPTNO部門編號(hào)NUMBER(2

35、)DNAME部門名稱VARCHARR2(14)LOC位置VARCHARR2(13)表名稱:empp描述:?jiǎn)T工信息息表英文字段名稱中文描述類型EMPNO員工編號(hào)NUMBER(4)ENAME員工姓名VARCHARR2(10)JOB工作崗位VARCHARR2(9)MGR上級(jí)經(jīng)理NUMBER(4)HIREDATTE入職日期DATESAL薪水NUMBER(7,2)COMM津貼NUMBER(7,2)DEPTNO部門編號(hào)NUMBER(2)注:DEPTNNO字段是外外鍵,DEPPTNO的值值來源于deept表的主主鍵,起到了了約束的作用用表名稱:sallgradee描述:薪水登記記信息表英文字段名稱中文描述類

36、型GRADE等級(jí)NUMBERLOSAL最低薪水NUMBERHISAL最高薪水NUMBER2.6、簡(jiǎn)單查查詢2.6.1、查查詢一個(gè)字段段查詢員工姓名select enamee fromm emp;Select語(yǔ)語(yǔ)句后面跟的的是字段名稱稱,seleect是關(guān)鍵鍵字,sellect和字字段名稱之間間采用空格隔隔開,froom表示將要要查詢的表,它它和字段之間間采用空格隔隔開2.6.2、查查詢多個(gè)字段查詢員工的編號(hào)號(hào)和姓名select empnoo, enaame frrom emmp;查詢多個(gè)字段,sselectt中的字段采采用逗號(hào)間隔隔即可,最后一一個(gè)字段,也也就是在frrom前面的的字段不能使使

37、用逗號(hào)了。2.6.3、查查詢?nèi)孔侄慰梢詫⑺械淖肿侄畏诺絪eelect語(yǔ)語(yǔ)句的后面,這種方案不方便,但是比較清楚,我們可以采用如下便捷的方式查詢?nèi)孔侄蝧elect * froom empp;采用selecct * ffrom eemp,雖然然簡(jiǎn)單,但是是*號(hào)不是很很明確,建議查詢?nèi)坎孔侄螌⑾嚓P(guān)關(guān)字段寫到sselectt語(yǔ)句的后面面2.6.4、計(jì)計(jì)算員工的年年薪列出員工的編號(hào)號(hào),姓名和年年薪select empnoo, enaame, ssal*122 fromm emp;在selectt語(yǔ)句中可以以使用運(yùn)算符符,以上存在在一些問題,年年薪的字段名名稱不太明確確2.6.5、將將查詢出來的的

38、字段顯示為為中文select empnoo as 員員工編號(hào), enamee as 員員工姓名, sal*112 as 年薪 frrom emmp;可以采用as關(guān)關(guān)鍵字重命名名表字段,其其實(shí)as也可可以省略,如如:select empnoo 員工編號(hào)號(hào), enaame 員工工姓名, ssal*122 年薪 ffrom eemp;2.7、SQLL Pluss常用命令2.7.1、sset liinesizze 2000set linnesizee 可以設(shè)置置一行的字符符數(shù),默認(rèn)為為80個(gè)字符符以上set llinesiize 3000,表示一一行為3000個(gè)字符2.7.2、ll(Listt) 可以

39、顯示緩存區(qū)區(qū)中的最后執(zhí)執(zhí)行的內(nèi)容2.7.3、rrun / r 以上三個(gè)命令功功能是一致的的,重新運(yùn)行行緩存區(qū)中的的語(yǔ)句2.7.4、ssave save可以將將最后一次在在緩存區(qū)中執(zhí)執(zhí)行的語(yǔ)句保保存到文件2.7.5、gget get可以將文文件中的sqql語(yǔ)句放到到緩存區(qū)中,采采用/或r或或run,可可以執(zhí)行2.7.6、eed(ediit) ed可以采用記記事本來編輯輯緩存區(qū)中的的內(nèi)容2.7.7、如如何直接執(zhí)行行sql腳本本 c:empp.sql;2.8、條件查查詢條件查詢需要用用到wherre語(yǔ)句,wwhere必必須放到frrom語(yǔ)句表表的后面支持如下運(yùn)算符符運(yùn)算法說明=等于或!=不等于小于大

40、于=大于等于betweenn and .兩個(gè)值之間is nulll為nullIn包含,相當(dāng)于多多個(gè)orNotnot可以取非非,主要用在在is 或iin中Likelike稱為模模糊查詢,支支持%或下劃劃線匹配%匹配任意個(gè)字字符下劃線,一個(gè)下下劃線只匹配配一個(gè)字符2.8.1、等等號(hào)操作符查詢薪水為50000的員工工select empnoo, enaame, ssal frrom emmp wheere saal=50000;查詢job為MMANAGEER的員工select empnoo, enaame frrom emmp wheere joob=mannager;以上查詢出現(xiàn)錯(cuò)錯(cuò)誤,因?yàn)閖jo

41、b為字符符串,所以出出現(xiàn)了以上錯(cuò)錯(cuò)誤select empnoo, enaame frrom emmp wheere joob=maanagerr;仍然出現(xiàn)錯(cuò)誤,在在sql中字字符串必須采采用單引號(hào),不不能使用雙引引號(hào)select empnoo, enaame frrom emmp wheere joob=maanagerr;以上查詢正確,但但沒有找到符符合條件的數(shù)數(shù)據(jù),因?yàn)閟sql中的值值是區(qū)分大小小寫的,但關(guān)關(guān)鍵字不區(qū)分分大小寫,如如以下寫法等等同以上寫法法:SELECT empnoo, enaame FRROM emmp wheere joob=maanagerr;select empno

42、o, enaame frrom emmp wheere joob=MAANAGERR;以上輸出正確,一一定注意大小小寫問題及字字符串必須采采用單引號(hào)問問題2.8.2、操作符查詢薪水不等于于5000的的員工select empnoo, enaame, ssal frrom emmp wheere saal 5000;一下寫法等同于于以上寫法,建建議使用第一一種寫法select empnoo, enaame, ssal frrom emmp wheere saal != 5000;數(shù)值也可以采用用單引號(hào)引起起來,如一下下語(yǔ)句是正確確的:select empnoo, enaame, ssal frr

43、om emmp wheere saal 50000;查詢工作崗位不不等于MANNAGER的的員工select empnoo, enaame frrom emmp wheere joob MANAAGER;2.8.3、bbetweeen and 操作符查詢薪水為16600到30000的員工工(第一種方方式,采用=和= 1600 and ssal 25000;2.8.6、ooror,只要滿足足條件即可,相當(dāng)于包含含查詢出job為為managger或者job為為salessman的員員工select * froom empp wherre jobb=MANNAGER or jjob=SSALESMM

44、AN;2.8.7、表表達(dá)式的優(yōu)先先級(jí)查詢薪水大于11800,并并且部門代碼碼為20或330的員工(錯(cuò)誤的的寫法)select * froom empp wherre sall 18800 annd depptno = 20 oor depptno = 30;以上輸出不是預(yù)預(yù)期結(jié)果,薪薪水小于18800的數(shù)據(jù)據(jù)也被查詢上上來了,原因因是表達(dá)式的的優(yōu)先級(jí)導(dǎo)致致的,首先過濾saal 11800 aand deeptno = 20,然然后再將deeptno = 30員員工合并過來來,所以是不不對(duì)的查詢薪水大于11800,并并且部門代碼碼為20或330的(正確確的寫法)select * froom em

45、pp wherre sall 18800 annd (deeptno = 20 or deeptno = 30);關(guān)于運(yùn)算符的問問題:不用記記,沒有把握握盡量采用括括號(hào)2.8.8、iinin表示包含的的意思,完全全可以采用oor來表示,采采用in會(huì)更更簡(jiǎn)潔一些查詢出job為為managger或者jjob為saalesmaan的員工查詢出薪水包含含1600和和薪水包含33000的員工select * froom empp wherre sall in(11600, 3000);2.8.9、nnot查詢出薪水不包包含16000和薪水不包含30000的員工(第第一種寫法)select * froom

46、 empp wherre sall 11600 aand saal 3000;查詢出薪水不包包含16000和薪水不包包含30000的員工(第第二種寫法select * froom empp wherre nott (sall = 16600 orr sal = 30000);查詢出薪水不包包含16000和薪水不包包含30000的員工(第第三種寫法)select * froom empp wherre sall not in (11600, 3000);查詢出津貼不為為null的的所有員工select * froom empp wherre commm is not null;2.8.10、ll

47、ikeLike可以實(shí)實(shí)現(xiàn)模糊查詢?cè)?,likee支持%和下下劃線匹配查詢姓名以M開開頭所有的員員工select * froom empp wherre enaame liike MM%;查詢姓名以N結(jié)結(jié)尾的所有的的員工select * froom empp wherre enaame liike %N;查詢姓名中包含含O的所有的的員工select * froom empp wherre enaame liike %O%;查詢姓名中第二二個(gè)字符為AA的所有員工工select * froom empp wherre enaame liike _A%;Like中%和和下劃線的差差別?%匹配任意字字符出

48、現(xiàn)的次次數(shù) 下劃線線只匹配一個(gè)個(gè)字符 Likee 中的表達(dá)達(dá)式必須放到到單引號(hào)中,以以下寫法是錯(cuò)錯(cuò)誤的:select * froom empp wherre enaame liike _AA%2.9、排序數(shù)數(shù)據(jù)2.9.1、單單一字段排序序排序采用ordder byy子句,orrder bby后面跟上上排序字段,排排序字段可以以放多個(gè),多多個(gè)采用逗號(hào)號(hào)間隔,orrder bby默認(rèn)采用用升序,如果果存在wheere子句那那么ordeer by必必須放到whhere語(yǔ)句句的后面按照薪水由小到到大排序(系統(tǒng)默認(rèn)由小小到大)select * froom empp ordeer by sal;取得job

49、為MMANAGEER的員工,按按照薪水由小小到大排序(系統(tǒng)默認(rèn)由由小到大)select * froom empp wherre jobb=MANNAGER ordeer by sal;如果包含wheere語(yǔ)句oorder by必須放放到wherre后面,如如果沒有whhere語(yǔ)句句orderr by放到到表的后面以下寫法是錯(cuò)誤誤的:select * froom empp ordeer by sal wwhere job=MANAGGER;按照多個(gè)字段排排序,如:首首先按照joob排序,在在按照sall排序2.9.2、手手動(dòng)指定排序序順序手動(dòng)指定按照薪薪水由小到大大排序select * froo

50、m empp ordeer by sal aasc;手動(dòng)指定按照薪薪水由大到小小排序select * froom empp ordeer by sal ddesc;2.9.3、多多個(gè)字段排序序按照job和薪薪水倒序select * froom empp ordeer by job ddesc, sal ddesc;如果采用多個(gè)字字段排序,如如果根據(jù)第一一個(gè)字段排序序重復(fù)了,會(huì)會(huì)根據(jù)第二個(gè)個(gè)字段排序2.9.3、使使用字段的位位置來排序按照薪水升序select * froom empp ordeer by 6;不建議使用此種種方式,采用用數(shù)字含義不不明確,程序序不健壯2.10、數(shù)據(jù)據(jù)處理函數(shù)Low

51、er轉(zhuǎn)換小寫upper轉(zhuǎn)換大寫substr取子串length取長(zhǎng)度trim去空格to_datee將字符串轉(zhuǎn)換成成日期to_charr將日期或數(shù)字轉(zhuǎn)轉(zhuǎn)換成字符串串to_numbber將字符串轉(zhuǎn)換成成數(shù)字nvl可以將nulll轉(zhuǎn)換成一個(gè)個(gè)具體值case 分支語(yǔ)句decode同caseround四舍五入2.10.1、llower查詢員工,將員員工姓名全部部轉(zhuǎn)換成小寫寫select lowerr(enamme) frrom emmp;2.10.2、uupper查詢job為mmanageer的員工select * froom empp wherre jobb=uppeer(maanagerr);2.10

52、.3、ssubstrr查詢姓名以M開開頭所有的員員工select * froom empp wherre subbstr(eename, 1, 11)=uppper(mm);2.10.4、llengthh取得員工姓名長(zhǎng)長(zhǎng)度為5的select lengtth(enaame), enamee fromm emp wheree lenggth(enname)=5;2.10.5、ttrimtrim會(huì)去首首尾空格,不會(huì)去去除中間的空空格取得工作崗位為為managger的所有有員工select * froom empp wherre jobb=trimm(uppeer(maanagerr );2.10.6

53、、tto_datte查詢1981-02-200入職的員工工(第一種方方法,與數(shù)據(jù)據(jù)庫(kù)的格式匹匹配上)select * froom empp wherre HIRREDATEE=20-2月 -881;查詢1981-02-200入職的員工工(第二種方方法,將字符符串轉(zhuǎn)換成ddate類型型)select * froom empp wherre hirredatee=to_ddate(1981-02-200, YYYYY-MMM-DD);等同select * froom empp wherre hirredatee=to_ddate(1981-02-200 00:000:00, YYYYY-MMM-D

54、D );默認(rèn)為0時(shí)0分分0秒to_datee可以將字符符串轉(zhuǎn)換成日日期,具體格格式to_ddate(字字符串,匹配配格式)日期格式的說明明控制符(不區(qū)分分大小寫)說明YYYY表示年MM表示月DD表示日HH12,HHH24表示12小時(shí)制制,表示244小時(shí)制MI表示分SS表示秒2.10.7、tto_chaar查詢1981-02-200以后入職的的員工,將入入職日期格式式化成yyyyy-mm-dd hhh:mm:sssselect empnoo, enaame, tto_chaar(hirredatee, yyyyy-mmm-dd hhh24:mmi:ss) as hireddate ffrom e

55、emp;查詢員工薪水加加入千分位select empnoo, enaame, tto_chaar(sall, $9999,9999) ffrom eemp;查詢員工薪水加加入千分位和和保留兩位小小數(shù)select empnoo, enaame, tto_chaar(sall, $9999,9999.99) froom empp;將數(shù)字轉(zhuǎn)換成字字符串,格式式控制符說明9表示一位數(shù)字0位數(shù)不夠可以補(bǔ)補(bǔ)零$美元符L本地貨幣符號(hào).顯示小數(shù),顯示千分位2.10.8、tto_nummber將字符串轉(zhuǎn)換成成數(shù)值select * froom empp wherre sallto_nnumberr(1,5500,

56、 999,999);2.10.9、nnvl取得員工的全部部薪水,薪水水+津貼select empnoo, enaame, ssal, ccomm, sal+ccomm ffrom eemp;以上結(jié)果不正確確,主要原因因是津貼(ccomm)字字段為nulll,所以無無法計(jì)算,所所以正確的做做法是將津貼貼先轉(zhuǎn)換成00,再計(jì)算??煽梢允褂肙rracle提提供的nvll,該函數(shù)的的語(yǔ)法格式為為:nvl(表達(dá)式1,表表達(dá)式2),表表達(dá)式1:指指的是字段名名稱;表達(dá)式式2:指的是是將該字段的的null轉(zhuǎn)轉(zhuǎn)換成的值采用nvl函數(shù)數(shù),取得員工工的全部薪水水,薪水+津津貼select empnoo, enaam

57、e, ssal, ccomm, sal+nnvl(coomm, 00) froom empp;以上結(jié)果是正確確的,在做表表設(shè)計(jì)的時(shí)候候,關(guān)于數(shù)值值字段最好不不允許為nuull,可以以設(shè)置缺省值值2.10.100、casee whenn thenn end如果job為MMANAGEERG薪水上上漲10%,如果jobb為SALEESMAN工工資上漲500%select empnoo, enaame, jjob, ssal, ccase jjob whhen MMANAGEER thhen saal*1.11 whenn SALLESMANN theen sall*1.5 end aas newws

58、al ffrom eemp;2.10.111、decoode同case when then end如果job為MMANAGEERG薪水上上漲10%,如果jobb為SALEESMAN工工資上漲500%select empnoo, enaame, jjob, ssal, ddecodee(job, MANNAGER, sall*1.1, SALLESMANN, saal*1.55) as newsaal froom empp;2.10.122、rounnd四舍五入select roundd(23455343.11234, 2) frrom duual;Dual是orracle提提供的,主要要為了方

59、便使使用,因?yàn)閟selectt的時(shí)候需要要用fromm2.11、聚合合函數(shù)count取得記錄數(shù)sum求和Avg取平均Max取最大的數(shù)min取最小的數(shù)2.11.1、ccount取得所有的員工工數(shù)select countt(*) ffrom eemp;Count(*)表示取得得所有記錄,忽忽略nulll,為nulll值也會(huì)取取得取得津貼不為nnull員工工數(shù)select countt(commm) froom empp;采用countt(字段名稱稱),不會(huì)取取得為nulll的記錄取得工作崗位的的個(gè)數(shù)select countt(disttinct(job) fromm emp;Distincct可以

60、去除除重復(fù)的記錄錄2.11.2、ssumSum可以取得得某一個(gè)列的的和,如果是是null會(huì)會(huì)略取得薪水的合計(jì)計(jì)select sum(ssal) ffrom eemp;取得津貼的合計(jì)計(jì)select sum(ccomm) from emp;如果是nulll會(huì)略取得薪水的合計(jì)計(jì)(sal+comm)select sum(ssal+coomm) ffrom eemp;從以上結(jié)果來看看,不正確,原原因在于coomm字段有有null值值,所以無法法計(jì)算,suum會(huì)忽略掉掉,正確的做做法是將coomm字段轉(zhuǎn)轉(zhuǎn)換成0select sum(ssal+nvvl(commm, 0) froom empp;2.11.3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論