久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié)

時(shí)間:2019-05-12 05:09:32下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié)》。

第一篇:數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié)

數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

XX班 姓名 學(xué)號(hào)

摘要:在當(dāng)今信息化的社會(huì)里,數(shù)據(jù)庫(kù)可以說(shuō)已經(jīng)融入到我們生活的方方面面中,如交通運(yùn)輸、銀行金融、工商企業(yè)等等。只要有大量的數(shù)據(jù)要管理或者需要有大量數(shù)據(jù)支持的工作,都要使用到數(shù)據(jù)庫(kù),它為我們的生活帶來(lái)了便捷。關(guān)鍵詞:數(shù)據(jù)庫(kù),功能、SQL Server的特點(diǎn)

在學(xué)習(xí)《數(shù)據(jù)庫(kù)原理及應(yīng)用》這門課之前,就和課本上提到的一個(gè)觀點(diǎn)一樣,認(rèn)為它只是存放數(shù)據(jù)的倉(cāng)庫(kù)而已,但是現(xiàn)在我深深體會(huì)到這個(gè)觀點(diǎn)是多么的片面。數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi),有組織、可共享的大量的數(shù)據(jù)集合,前者只能表達(dá)它的一方面而已。

數(shù)據(jù)庫(kù)技術(shù)發(fā)展到今天已經(jīng)是一門非常成熟的技術(shù),它的技術(shù)水平、應(yīng)用水平多比初始時(shí)都有了很大的改變,但是它的最基本的特征卻沒(méi)有變,概括起來(lái)有以下幾個(gè)方面:

第一點(diǎn):數(shù)據(jù)庫(kù)是相互關(guān)聯(lián)的的數(shù)據(jù)集合;即在數(shù)據(jù)庫(kù)中不僅要能夠表示數(shù)據(jù)本身,還要能夠表示數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系。

第二點(diǎn):數(shù)據(jù)庫(kù)用綜合的方法組織數(shù)據(jù),保證盡可能高的訪問(wèn)效率;即根據(jù)不同的需要按不同的方法組織數(shù)據(jù),例如順序組織方法、索引組織方法、倒排數(shù)據(jù)組織方法等。

第三點(diǎn):數(shù)據(jù)庫(kù)具有較小的數(shù)據(jù)冗余,可供多個(gè)用戶共享;即通過(guò)共享共用的數(shù)據(jù),降低數(shù)據(jù)的冗余度,這也能保證數(shù)據(jù)的一致性。

第四點(diǎn):數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性;即令數(shù)據(jù)的組織和存儲(chǔ)方法與應(yīng)用程序互不依賴,降低應(yīng)用程序的開(kāi)發(fā)代價(jià)和維護(hù)代價(jià)。

第五點(diǎn):數(shù)據(jù)庫(kù)能夠保證數(shù)據(jù)的安全、可靠;即擁有(1)、安全控制機(jī)制,這可以有效地防止數(shù)據(jù)庫(kù)中數(shù)據(jù)被非法使用或非法修改;(2)、完整的備份和恢復(fù)機(jī)制,這能保證當(dāng)數(shù)據(jù)遭到破壞時(shí)(軟件或硬件故障引起的),能立刻將數(shù)據(jù)完全恢復(fù),從而保證系統(tǒng)能持續(xù)、可靠地運(yùn)行。

第六點(diǎn):數(shù)據(jù)庫(kù)允許并發(fā)地使用,能有效、及時(shí)地處理數(shù)據(jù),并能保證數(shù)據(jù)的一致性和完整性;即當(dāng)多個(gè)用戶同時(shí)使用相同的數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)能夠協(xié)調(diào)一致,保證不發(fā)生沖突和矛盾。那么對(duì)于上面數(shù)據(jù)庫(kù)的各種功能和特性是如何實(shí)現(xiàn)的呢?當(dāng)然它不是數(shù)據(jù)庫(kù)中的數(shù)據(jù)固有的,是靠管理或支持?jǐn)?shù)據(jù)庫(kù)的系統(tǒng)軟件——數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System)提供的。下面我將結(jié)合我所學(xué)習(xí)的內(nèi)容,談?wù)勱P(guān)于數(shù)據(jù)庫(kù)管理系統(tǒng)——Mircrosoft SQL Server。

Mircrosoft SQL Server是一個(gè)高性能的、多用戶的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它專為客戶/服務(wù)器計(jì)算環(huán)境設(shè)計(jì),它提供的內(nèi)置數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具和開(kāi)放式的系統(tǒng)體系結(jié)構(gòu)為基于事物的企業(yè)級(jí)信息管理方案提供了一個(gè)卓越的平臺(tái)。

首先作為一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),Mircrosoft SQL Server應(yīng)該具備如下功能:

1、數(shù)據(jù)庫(kù)定義功能:可以定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),可以定義數(shù)據(jù)庫(kù)中數(shù)據(jù)之間的聯(lián)系,可以定義數(shù)據(jù)的完整性約束條件和保證完整性的觸發(fā)機(jī)制等;

2、數(shù)據(jù)庫(kù)操作功能:可以完成對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作,可以裝入、刪除、修改數(shù)據(jù),可以重新組織數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),可以完成數(shù)據(jù)庫(kù)的備份和恢復(fù)等操作;

3、數(shù)據(jù)庫(kù)的查詢功能:可以以各種方式提供靈活的查詢功能,使用戶可以方便地使用數(shù)據(jù)庫(kù)中的數(shù)據(jù);

4、數(shù)據(jù)庫(kù)的控制功能:可以完成對(duì)數(shù)據(jù)庫(kù)的安全性控制、完整性控制、多用戶環(huán)境下的并發(fā)控制等各方面的控制;

5、數(shù)據(jù)庫(kù)的通信功能:在分布式數(shù)據(jù)庫(kù)或是提供網(wǎng)絡(luò)操作功能的數(shù)據(jù)庫(kù)中還必須提供數(shù)據(jù)庫(kù)的通信功能。

其次是Mircrosoft SQL Server中系統(tǒng)數(shù)據(jù)庫(kù)的作用,每個(gè)SQL Server實(shí)例包括四個(gè)系統(tǒng)數(shù)據(jù)庫(kù)(master、model、tempdb和msdb)以及一個(gè)或多個(gè)用戶數(shù)據(jù)庫(kù)。下面是關(guān)于四個(gè)系統(tǒng)數(shù)據(jù)庫(kù)的介紹:

1、master數(shù)據(jù)庫(kù):用于存儲(chǔ)SQL Server系統(tǒng)的所有系統(tǒng)級(jí)信息,包括所有的其它數(shù)據(jù)庫(kù)的信息、所有數(shù)據(jù)庫(kù)注冊(cè)用戶的信息以及系統(tǒng)配置設(shè)置等。

2、tempdb數(shù)據(jù)庫(kù):用以保存所有的臨時(shí)表和臨時(shí)存儲(chǔ)過(guò)程,還可以滿足任何其它的臨時(shí)存儲(chǔ)要求,例如存儲(chǔ)SQL Server生成的工作表。

3、model數(shù)據(jù)庫(kù):它是一個(gè)模板,當(dāng)使用CREATE DATABASE命令建立新的數(shù)據(jù)庫(kù)時(shí),新的數(shù)據(jù)庫(kù)的一部分總是通過(guò)復(fù)制model數(shù)據(jù)庫(kù)中的內(nèi)容創(chuàng)建,剩余部分由空頁(yè)填充。

4、msdb數(shù)據(jù)庫(kù):用于SQL Server代理程序調(diào)度報(bào)警和作業(yè)等系統(tǒng)操作。同時(shí)在安裝SQL Server時(shí),還建立了一個(gè)pubs數(shù)據(jù)庫(kù),這是一個(gè)用戶數(shù)據(jù)庫(kù),是一個(gè)可以用于練習(xí)的示例數(shù)據(jù)庫(kù)。在建立數(shù)據(jù)庫(kù)時(shí),每個(gè)數(shù)據(jù)庫(kù)至少有兩個(gè)文件:一個(gè)主文件(存儲(chǔ)數(shù)據(jù)庫(kù)的啟動(dòng)信息、用戶數(shù)據(jù)和系統(tǒng)表,以.mdf為擴(kuò)展名)和一個(gè)事物日志文件(用來(lái)保存恢復(fù)數(shù)據(jù)庫(kù)的日志信息,以.ldf為擴(kuò)展名)。

接下來(lái)是SQL Server的數(shù)據(jù)庫(kù)結(jié)構(gòu):

在SQL Server數(shù)據(jù)庫(kù)中,數(shù)據(jù)被組織為用戶可以看得見(jiàn)的邏輯組件,主要包括基本表、視圖、存儲(chǔ)過(guò)程、觸發(fā)器和用戶等。SQL Server在發(fā)出CREATE DATABASE命令建立數(shù)據(jù)庫(kù)時(shí),會(huì)同時(shí)發(fā)出建立操作系統(tǒng)文件、申請(qǐng)物理存儲(chǔ)空間的請(qǐng)求;當(dāng)CREATE DATABASE命令成功執(zhí)行后,在物理上和邏輯上都建立了一個(gè)新的數(shù)據(jù)庫(kù)。這就可以在數(shù)據(jù)庫(kù)庫(kù)中建立各種用戶所需的邏輯組件,如基本表、視圖等。

然后是Mircrosoft SQL Server管理中的幾個(gè)特點(diǎn):

1、數(shù)據(jù)庫(kù)鏡像:通過(guò)數(shù)據(jù)庫(kù)鏡像,將自動(dòng)失效轉(zhuǎn)移建立到一個(gè)待用服務(wù)器上增強(qiáng)SQL服務(wù)器系統(tǒng)的可用性。

2、在線檢索操作:即在指數(shù)數(shù)據(jù)定義語(yǔ)句(DDL)執(zhí)行期間,允許對(duì)基地表格或集簇索引數(shù)據(jù)和任何相關(guān)的檢索,進(jìn)行同步修改。例如,當(dāng)一個(gè)集簇索引正在重建時(shí),可以對(duì)基低數(shù)據(jù)繼續(xù)進(jìn)行更新、查詢。

3、快速回復(fù):新的、速度更快的恢復(fù)選項(xiàng)可以改進(jìn)SQL服務(wù)器數(shù)據(jù)庫(kù)的可用性,管理人員將能夠在事物日志向前滾動(dòng)之后,重新連接到正在恢復(fù)的數(shù)據(jù)庫(kù)。

4、快照隔離:通過(guò)快照隔離,使用者能夠使用與傳統(tǒng)一致的視野觀看數(shù)據(jù)庫(kù),存取最后執(zhí)行的一行數(shù)據(jù),這也為服務(wù)器提供了更大的可升級(jí)性。

5、專門的管理員連接:即即使在一個(gè)服務(wù)器被鎖住,或者因?yàn)槠渌虿荒苁褂脮r(shí),管理員可以通過(guò)這個(gè)連接,接通這個(gè)正在運(yùn)行的服務(wù)器。這一功能能讓管理員,通過(guò)操作診斷或Transact-SQL指令,找到并解決發(fā)現(xiàn)的問(wèn)題。最后是關(guān)于學(xué)習(xí)過(guò)程中的體會(huì),數(shù)據(jù)庫(kù)能給我們生活帶來(lái)便捷,但它的學(xué)習(xí)肯定不會(huì)那么一帆風(fēng)順,總會(huì)遇到問(wèn)題。我想解決問(wèn)題最好的方法是理解它,從多方面理解、掌握它。

首先是對(duì)概念的理解,例如關(guān)于游標(biāo)的使用,最基本的操作語(yǔ)句如定義游標(biāo):DECLARE CURSOR、打開(kāi)游標(biāo):OPEN、從游標(biāo)中讀記錄:FETCH、關(guān)閉游標(biāo):CLOSE、釋放游標(biāo):DEALLOCATE、執(zhí)行:EXEC等,如果都不明白這些語(yǔ)句含義,如何掌握它?其次是對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,數(shù)據(jù)庫(kù)就象房子,也有地基、承重墻(框架)、門、窗、內(nèi)部家俱飾品等,對(duì)應(yīng)到數(shù)據(jù)庫(kù)里,一樣可以找到相應(yīng)的東東。地基就象數(shù)據(jù)庫(kù)的系統(tǒng)表,不論以后要蓋多少房子,多高多大的房子,都要在地基上開(kāi)始;框架(承重墻)可以是每張表,也可以是每張表中的字段,是不可逾越而又相互交叉的;門窗就是數(shù)據(jù)庫(kù)中的通道,就是索引、訪問(wèn)權(quán)限、視圖等;內(nèi)飾、家具就是最終的用戶數(shù)據(jù),是放在數(shù)據(jù)庫(kù)這所房子里的東西。然后是在思維上的理解,東西方的思維方式上存在差異,比如在多表查詢、數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化時(shí)需要多考慮這種理解和實(shí)施層面的“差異性”。

第二篇:數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)(模版)

電子商務(wù)數(shù)據(jù)庫(kù)技術(shù)----SQL Server 篇

學(xué)習(xí)總結(jié)

------60951P南信院這學(xué)期我們學(xué)習(xí)了數(shù)據(jù)庫(kù)的SQL Server 篇,具體內(nèi)容提綱如下:

1、數(shù)據(jù)庫(kù)系統(tǒng)的基本概念

2、SQL語(yǔ)言

一、數(shù)據(jù)庫(kù)的基本概念

1、數(shù)據(jù)庫(kù)

1)數(shù)據(jù)庫(kù)是統(tǒng)一管理并長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)優(yōu)結(jié)構(gòu)的大量共享的數(shù)據(jù)集合。

2)現(xiàn)在所有的數(shù)據(jù)庫(kù)都是關(guān)系型數(shù)據(jù)庫(kù)(二維表)

3)數(shù)據(jù)獨(dú)立性:物理獨(dú)立、邏輯獨(dú)立

4)實(shí)現(xiàn)數(shù)據(jù)獨(dú)立性:三級(jí)模式、二級(jí)映射

三級(jí)模式:外外模式、概念模式、內(nèi)模式

二級(jí)映射:外模式/概念模式

概念模式/內(nèi)模式

5)邏輯結(jié)構(gòu):表結(jié)構(gòu)(外模式)

Eg:S(sno,sname)

物理結(jié)構(gòu):數(shù)據(jù)庫(kù)存取的方式位置(內(nèi)模式)

Eg:P(sno char(8)

Snamechar(10))

邏輯結(jié)構(gòu)比物理結(jié)構(gòu)少了數(shù)據(jù)類型

2、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)功能:

1)數(shù)據(jù)定義

2)數(shù)據(jù)操縱

3)安全與備份

3、六個(gè)約束

主鍵約束、非空約束、檢查約束、默認(rèn)約束、外鍵約束、唯

一性約束

4、任何一張表必須有且只有一個(gè)主鍵(PK),一個(gè)主鍵可以有多個(gè)

字段組成5、關(guān)系性質(zhì)

1)每個(gè)字段的每個(gè)值都是單值

2)每個(gè)字段里的值都具有相同的數(shù)據(jù)類型

3)行順序無(wú)關(guān)緊要

4)列順序無(wú)關(guān)緊要

5)行不能重復(fù)

6)列不能重復(fù)

二維表必須滿足以上關(guān)系性質(zhì)才是關(guān)系

關(guān)系:二維表結(jié)構(gòu)

6、數(shù)據(jù)完整性

1)實(shí)體完整性

2)參照完整性

3)用戶自定義完整性

二、SQL語(yǔ)言

1、SQL功能:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制

2、單表查詢

固定格式:Select...from…where3、Select子句

*表示一個(gè)表中的所有字段

Eg:查詢計(jì)算機(jī)系所有學(xué)生的姓名、學(xué)號(hào)、性別、年齡、專業(yè)Select * from students where sdept=”computer”

4、Where子句

1)多條件(And,Or連接)

2)Between...and...3)In(等于期中的某一個(gè))

Like模糊查詢(條件不完整)

Eg:查詢姓王的學(xué)生的學(xué)號(hào)、姓名、專業(yè)

Select sno,sname,sdept from students where sname

like ‘王%’

5、統(tǒng)計(jì)函數(shù)

Count(*)個(gè)數(shù)包含null

Count(列名)個(gè)數(shù)去掉null

Sum(列名)和

Avg(列名)平均值

Max(列名)最大值

Min(列名)最小值

6、分組Group by

1)包含Group by子句的查詢語(yǔ)句中Select子句指定的列名,要么是統(tǒng)計(jì)函數(shù),要么是包含在Group by子句中的列名。

2)分組條件

Having 必須和Group by一起使用,不可單獨(dú)。

7、排序Order by

ASC(升序)(默認(rèn))

DESC(降序)

8、多表查詢

1)內(nèi)連接(兩張表或以上連接)

2)外連接(兩張表連接)

Eg:查詢所有學(xué)生的選課情況,結(jié)果包括學(xué)號(hào)、課程、姓名 內(nèi)連接:Select students.sno, cno , sname from students ,enrollment where students.sno*=enrollment.sno

外連接:Select students.sno, cno , sname from students

left join enrollment on student.sno=enrollment.sno9、嵌套查詢

Eg:查詢與Sue選修同樣課程學(xué)生的學(xué)號(hào)、課程號(hào)、姓名Select students.sno,cno,sname from students,

第三篇:Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

1.set linesize xx;設(shè)置行間距,常用數(shù)值有100,200,300

2.set pagesize xx;設(shè)置每頁(yè)顯示行數(shù)

3.ed x;表示新建一個(gè)x.sql文件,通過(guò)文件編輯SQL語(yǔ)句,然后用@x命令可以調(diào)用剛才的命令

4.CONN username/password;命令可以建立用戶的連接,需要注意的是sys用戶是超級(jí)管理員,連接是時(shí)需要在末尾加上AS SYSDBA 以系統(tǒng)管理員的身份進(jìn)行連接

5.如果表是歸某個(gè)用戶特有的,在查詢的時(shí)候需要加上用戶名 即以 用戶名.表名 的格式查詢

6.SHOW USER;命令可以顯示當(dāng)前連接的用戶名

7.SELECT * FROM tab;可以顯示當(dāng)前用戶下的所有數(shù)據(jù)表

8.“ / ”表示重復(fù)執(zhí)行上一次的SQL命令操作

9.SELECT xx別名,xx 別名 FROM xx;搜索指定列名,并指定別名,方便顯示

10.關(guān)鍵字DISTINCT 可以消除重復(fù)值 如 SELECT DISTINCT xx FROM xx;

11.Oracle中提供的字符串連接操作,使用“||”表示,相當(dāng)于Java的“+”普通字符用“ ' ” 括起來(lái)

如: SELECT'員工姓名是'||ename||'員工卡號(hào)是'||empnoFROM emp;

12.查詢語(yǔ)句 BETWEEN xx AND xx 是包括邊界的13.查詢?nèi)掌诘臅r(shí)候要加上''把日期引起來(lái)

例如:SELECT * FROM emp WHERE hiredate BETWEEN '1-1月-81' AND '08-9月-81';

14.模糊查詢中“%”可以匹配任意長(zhǎng)度的內(nèi)容,“_”可以匹配一個(gè)長(zhǎng)度的內(nèi)容,如果沒(méi)輸入模糊查詢關(guān)鍵字,那么默認(rèn)查詢?nèi)繑?shù)據(jù),like關(guān)鍵字可以用在任何地方,可以匹配數(shù)字、字符、日期等。

15.SQL中不等于可以用“<>”或者“!=”表示

16.ORDER BY語(yǔ)句中 ASC表示升序,DESC表示降序,在沒(méi)指定的時(shí)候默認(rèn)按照升序排序

17.Oracle中的單行函數(shù)有如下,默認(rèn)的所有的函數(shù)都要到表中執(zhí)行,加上關(guān)鍵字DUAL只會(huì)產(chǎn)生一個(gè)臨時(shí)表

UPPER('xxx')將小寫(xiě)轉(zhuǎn)換為大寫(xiě)

LOWER('xxx')將大寫(xiě)轉(zhuǎn)換為小寫(xiě)

INITCAP('xxx')將首字母大寫(xiě)

CONCAT('','')字符串連接

SUBSTR('xxx',x,x)字符串截取,從0或1開(kāi)始截取效果是一樣的,因?yàn)镺racle比較智能,要是輸入的參數(shù)為負(fù)數(shù),則表示倒著截取

LENGTH('xxx')字符串長(zhǎng)度

REPLACE('xxx','x','x')字符串替換

ROUND(xxx,xx)四舍五入 xxx需要四舍五入的數(shù)值,xx保留的小數(shù)位,可以加負(fù)數(shù) TRUNC(xxx)截?cái)嗖僮?,默認(rèn)小數(shù)點(diǎn)后的全部截?cái)?,也可以指定小?shù)點(diǎn)保留位數(shù)如TRUNC(789.536,2)得到的結(jié)果是789.53,也可以加負(fù)數(shù)如TRUNC(789.536,-2)結(jié)果是700

18.SELECT sysdate FROM DUAL;可以求出當(dāng)前的日期

19.Oracle 中提供了以下日期函數(shù)支持:

MONTHS_BETWEEN()求出給定日期范圍的月數(shù)

ADD_MONTHS(xxx,xxx)在指定日期加上指定的月數(shù)

NEXT_DATE(xxx,'')求出下一個(gè)給定日期數(shù)

TO_CHAR()可以將年、月、日進(jìn)行分割

例如

TO_CHAR(hirdate,'yyyy')year,TO_CHAR(hirdate,'mm')months,TO_CHAR(hirdate,'dd')day 還可以對(duì)時(shí)間進(jìn)行格式化輸出 如TO_CHAR(hirdate,'yyyy-mm-dd')

TO_CHAR(hirdate,'fmyyyy-mm-dd')可以去掉前導(dǎo)0

TO_CHAR()還可以對(duì)數(shù)字進(jìn)行格式化 如

SELECT ename,TO_CHAR(SAL,'99,999')FROM emp;

注意:一定要用9來(lái)表示

$表示美元符號(hào),L表示Local的縮寫(xiě),以本地語(yǔ)言進(jìn)行金額顯示

TO_NUMBER()將字符串變?yōu)閿?shù)字

TO_DATE()將字符串變?yōu)镈ate類型 例如 SELECT TO_DATE('2009-12-8','yyyy-mm-dd')FROM dual;

TO_NVL()可以將NULL的內(nèi)容變?yōu)橹付ǖ膬?nèi)容

DECODE()相當(dāng)于Java的if else else語(yǔ)句

例如SELECT DECODE(1,1,'內(nèi)容是1',2,'內(nèi)容是2',3,'內(nèi)容是3')FROM dual;將輸入 內(nèi)容是1

20.左右連接

SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHERE

e.deptno(+)=d.deptno;此例中是右連接,以deptno表為準(zhǔn)。

21.SQL1999語(yǔ)法

CROSS JOIN 交叉連接 會(huì)產(chǎn)生笛卡爾積

NATURAL JOIN 自然連接 自動(dòng)進(jìn)行關(guān)聯(lián)字段匹配 可以消除笛卡爾積

USING 子句:直接關(guān)聯(lián)操作列 如 SELECT * FROM emp e JOIN dept USING(deptno)WHERE deptno=30;

ON 子句 用戶自己編寫(xiě)連接條件

LETF JOIN/RIGHT JOIN 左右連接

SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e right OUTER JOIN dept d ON(e.deptno=d.deptno);

22.分組查詢GROUP BY 放在where之后

常見(jiàn)的組函數(shù)有

COUNT();

MAX();

MIN();

AVG();

SUM();

用法如下:SELECT deptno,count(empno)FROM emp GROUP BY deptno;

語(yǔ)法:SELECT deptno,empno,count(empno)FROM emp GROUP BY deptno;是錯(cuò)誤的,原因是使用分組函數(shù)的時(shí)候,不能出現(xiàn)分組函數(shù)和分組條件以外的字段。

語(yǔ)法:SELECT deptno,count(empno)FROM emp;是錯(cuò)誤的,原因是不使用分組的時(shí)候,則只能單獨(dú)使用分組函數(shù)

分組函數(shù)只能在分組中使用,不允許子啊where語(yǔ)句中個(gè)使用,要使用個(gè)分組條件可以加上HAVING

例如:SELECT deptno,avg(sal)FROM emp GROUP BY deptno having avg(sal)>2000;注意:分組函數(shù)可以嵌套使用,但是在組函數(shù)嵌套使用的時(shí)候不能再出現(xiàn)分組條件的查詢語(yǔ)句

如下語(yǔ)法是錯(cuò)誤的:SELECT deptno,max(avg(sal))FROM emp GROUP BY deptno;不能出現(xiàn)deptno

如下語(yǔ)法是正確的:SELECT max(avg(sal))FROM emp GROUP BY deptno;

23.子查詢中

>ANY 比里面的最小值大

=ANY 與IN用法相同

>ALL 比里面的最大值大

24.表復(fù)制

CREATE TABLE myemp AS SELECT * FROM emp;既復(fù)制表結(jié)構(gòu),又復(fù)制表內(nèi)容

CREATE TABLE myemp AS SELECT * FROM emp where 1=2;后面的條件不可能成立,只復(fù)制表結(jié)構(gòu)

25.Oracle 中常用的數(shù)據(jù)類型

VARCHAR、VARCHAR2 代表一個(gè)字符串,有長(zhǎng)度限制,為255

NUMBER 分為兩種

1)NUMBER(n)代表一個(gè)整數(shù),數(shù)字的長(zhǎng)度是n,可以使用INT

2)NUMBER(m,n)代表一個(gè)小數(shù),小數(shù)長(zhǎng)度為n,整數(shù)長(zhǎng)度為m-n,可以使用FLOAT

DATE 代表日期的類型,日期要按照標(biāo)準(zhǔn)的日期格式進(jìn)行存放

CLOB 大對(duì)象,表示大文本數(shù)據(jù),一般可以存放4G的文本

BLOB 大對(duì)象,表示二進(jìn)制數(shù)據(jù)最大可以存放4G,例如存放歌曲、電影、圖片

26.表的創(chuàng)建

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200),birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男');

27.插入數(shù)據(jù)

INSERT INTO person(pid,name,birthdate,age)VALUES('222','里斯

',TO_DATE('1989-02-09','yyyy-mm-dd'),45);

28.更改表中數(shù)據(jù)

增加表結(jié)構(gòu):ALTER TABLE person ADD(address VARCHAR2(50)DEFAULT '暫無(wú)地址');

修改已存在的列:ALTER TABLE person MODIFY(name VARCHAR2(40)DEFAULT '無(wú)名氏');

29.表的重命名(只能在Oracle中使用)

RENAME XXX TO XXX;

30.約束(主要分為5類)

1)主鍵約束 主鍵表示是一個(gè)唯一的標(biāo)識(shí)。本身不能為空

2)唯一約束 在一個(gè)表中只允許建立一個(gè)主鍵約束,而其他列如果不希望重復(fù)值的話,則可以使用唯一約束

3)檢查約束 檢出一個(gè)列的內(nèi)容是否合法

4)非空約束

5)外鍵約束 在兩張表中進(jìn)行約束的操作 刪除時(shí)應(yīng)該先刪除子表,再刪除父表 創(chuàng)建主鍵:

語(yǔ)法1

CREATE TABLE person(pid VARCHAR2(18)PRIMARY KEY,name VARCHAR2(200),birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男');

語(yǔ)法2:

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200),birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男',CONSTRAINT p_id PRIMARY KEY(pid));

創(chuàng)建非空約束

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男');

創(chuàng)建唯一約束

語(yǔ)法一

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)UNIQUE NOT NULL,birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男');

語(yǔ)法二

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4),sex VARCHAR2(2)DEFAULT '男',CONSTRAINT p_name UNIQUE(name),);

創(chuàng)建檢查約束

語(yǔ)法一

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4)NOT NULL CHECK(age BETWEEN 0 AND 150),sex VARCHAR2(2)DEFAULT '男' CHECK(sex IN('男','女','中')),);

語(yǔ)法二

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4)NOT NULL ,sex VARCHAR2(2)DEFAULT '男' ,CONSTRAINT p_age CHECK(age BETWEEN 0 AND 150),CONSTRAINT p_sex CHECK(sex IN('男','女','中')));

創(chuàng)建外鍵約束

--person表

CREATE TABLE person(pid VARCHAR2(18)PRIMARY KEY,name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4)NOT NULL ,sex VARCHAR2(2)DEFAULT '男');

--book表

CREATE TABLE book(bid NUMBER PRIMARY KEY,bname VARCHAR2(30),bprice NUMBER(5,2),pid VARCHAR2(18),CONSTRAINT b_pid_fk FOREIGN KEY(pid)REFERENCES person(pid));

對(duì)于刪除,應(yīng)該先刪除book表再刪除person表

也可以使用級(jí)聯(lián)刪除,強(qiáng)制刪除某張表

DROP TABLE person CASCADE CONSTRAINT;

設(shè)置外鍵約束級(jí)聯(lián)刪除

--person表

CREATE TABLE person(pid VARCHAR2(18)PRIMARY KEY,name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4)NOT NULL ,sex VARCHAR2(2)DEFAULT '男');

--book表

CREATE TABLE book(bid NUMBER PRIMARY KEY,bname VARCHAR2(30),bprice NUMBER(5,2),pid VARCHAR2(18),CONSTRAINT b_pid_fk FOREIGN KEY(pid)REFERENCES person(pid)ON DELETE CASCADE);

31.修改約束

如果一張表已經(jīng)建立完成之后,則可以為其添加約束

ALTER TABLE 表名稱 ADD CONSTRAINT 約束名稱 約束類型(約束字段);

關(guān)于約束名稱的命名最好要統(tǒng)一:

PRIMARY KEY :主鍵字段_PK

UNIQUE:字段_UK

CHECK:字段_CK

FOREIGH KEY:父字段_子字段_FK

例如:

DROP TABLE person;

CREATE TABLE person(pid VARCHAR2(18),name VARCHAR2(200)NOT NULL,birthdate DATE,age NUMBER(4)NOT NULL ,sex VARCHAR2(2)DEFAULT '男');

ALTER TABLE person ADD CONSTRAINT pid_PK PRIMARY KEY(pid);

ALTER TABLE person ADD CONSTRAINT name_UK UNIQUE(name);

ALTER TABLE person ADD CONSTRAINT age_CK CHECK(age BETWEEN 1 AND 150);CREATE TABLE book(bid NUMBER ,bname VARCHAR2(30),bprice NUMBER(5,2),pid VARCHAR2(18));

ALTER TABLE book ADD CONSTRAINT book_PK PRIMARY KEY(bid);

ALTER TABLE book ADD CONSTRAINT pid_FK FOREIGN KEY(pid)REFERENCES person(pid);刪除約束

ALTER TABLE person DROP CONSTRAINT name_UK;

ALTER TABLE person DROP CONSTRAINT age_CK;

第四篇:ORACLE數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)-Marlon

目錄一、二、三、四、五、六、七、八、ORACLE_簡(jiǎn)介.............................................................................................................................................................1 ORACLE_簡(jiǎn)單查詢.....................................................................................................................................................3 ORACLE標(biāo)量函數(shù)和算數(shù)運(yùn)算..................................................................................................................................5 ORACLE_多表查詢.....................................................................................................................................................9 ORACLE_列函數(shù)和分組...........................................................................................................................................10 ORACLE_子查詢.......................................................................................................................................................12 ORACLE_表的更新操作...........................................................................................................................................13 ORACLE_表與視圖的管理.......................................................................................................................................15

一、ORACLE_簡(jiǎn)介

? Oralce數(shù)據(jù)庫(kù)發(fā)展 Oracle 8

Oracle 8i:i表示internet,標(biāo)識(shí)著Oracle公司正式進(jìn)軍互聯(lián)網(wǎng)。Oracle9i Oracle10g:g表示grid,即網(wǎng)絡(luò)技術(shù)。Oracle11g

? Oracle體系結(jié)構(gòu)一 物理結(jié)構(gòu): 文件系統(tǒng) 控制文件 數(shù)據(jù)文件 日志文件

參數(shù)文件(不是數(shù)據(jù)庫(kù)的組成成分)

? Oracel體系結(jié)構(gòu)三 邏輯結(jié)構(gòu): block 快 extent 盤(pán)區(qū) segment 段

tablespace 表空間 datafile 數(shù)據(jù)文件 ? SQL * Plus下的常用命令

? 連接到SQL*PLUS sqlplus user/password[as sysdaba|sysoper] sqlplus/nolog

? 啟動(dòng)數(shù)據(jù)庫(kù)

startup mount 啟動(dòng)實(shí)例,打開(kāi)控制文件,但不打開(kāi)數(shù)據(jù)文件 startup nomount 只啟動(dòng)實(shí)例

? 關(guān)閉數(shù)據(jù)庫(kù)

shutdown immediate

? 迫使每個(gè)用戶執(zhí)行為當(dāng)前的SQL語(yǔ)句,立即斷開(kāi)連接 shutdown transactional

? 迫使用戶執(zhí)行完當(dāng)前事務(wù)時(shí),斷開(kāi)連接 shutdown abort 強(qiáng)制關(guān)閉數(shù)據(jù)庫(kù)

? 常用SQL命令

show user:查看當(dāng)前連接的用戶

connect scott/tiger: 采用scott的用戶名/tiger的密碼連接數(shù)據(jù)庫(kù) desc table_name:查看tableName表結(jié)構(gòu) quit|exit:退出

disconnect:斷開(kāi)連接

clear screen:清屏,相當(dāng)于Windows下的cls命令 select * from tab:列出當(dāng)前用戶下的所有表 @pata 執(zhí)行pata制定的腳本文件

? Oracle常用基本數(shù)據(jù)類型 varchar2/varchar:變成字符串 char:定長(zhǎng)字符串 Integer:整型

number(m,n):數(shù)字型 smallint:短整型 float:浮點(diǎn)數(shù)

decimal:十進(jìn)制數(shù)字(小數(shù))date:日期型

二、ORACLE_簡(jiǎn)單查詢

? SQL結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)

? SQL分類

1.數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL):create、alter、drop。

create table 表名;alter table add 新列名 數(shù)據(jù)類型;drop table 表名;2.數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language,DML):insert、update、delete、select。Insert into 表名(字段1,字段2…)values(值1,值2…);update student set sage=22 where sno='200215';(將學(xué)生200215的年齡改為22歲)select distinct job from emp;去除重復(fù)行

3.數(shù)據(jù)控制語(yǔ)言(Data Control Language,DCL):commit work、rollback work。? 查詢雇員的所有信息 select * from emp; *表示所有列

? 查詢語(yǔ)句的格式

select *|列名 from 表名

? 查詢雇員的編號(hào),姓名,工資

select * from empno,ename,sal from emp;

? 查詢所有職位 select job from emp;select distinct job from emp;distinct: 有區(qū)別的(去除重復(fù)行)

? 查詢工資大于1500的雇員信息,列出編號(hào),用戶名,工資 select empno,ename,sal from emp where sal>1500;

? 帶有where條件查詢語(yǔ)句的基本格式 select *|列名 from 表名 where 條件;

? 比較運(yùn)算符 大于:> 小于:< 等于:= 大于等于:>= 小于等于:<= 不等于:!=或者<>

? 限定查詢 is null 和 is not null 的使用 ? 查詢每月可以得到獎(jiǎng)金的雇員

select empno,ename,comm from emp where comm is not null;

select empno,ename,comm from emp where comm is not null and comm>0;? 查詢誰(shuí)沒(méi)有獎(jiǎng)金

select empno,ename from emp where comm is null;

? 限定查詢 and 的使用

? 查詢工資大于1500,并且可以領(lǐng)取獎(jiǎng)金的雇員

SQL> select empno,ename,sal,comm from emp where comm is not null and sal>1500;

? 限定查詢 or 的使用

? 查詢工資大于1500和可以領(lǐng)取獎(jiǎng)金的雇員

select empno,ename,sal,comm from emp where sal>1500 or comm is not null;? 查詢沒(méi)有獎(jiǎng)金的雇員

select empno,ename,comm from emp where comm=0 or comm is null;

? 限定查詢 使用not對(duì)條件整體取反

? 查詢工資不大于1500并且不能領(lǐng)取獎(jiǎng)金的雇員

select empno,ename,sal,comm from emp where sal<=1500 and(comm is null or comm=0);select empno,ename,sal,comm from emp where not(sal>1500 or comm is not null);

? 限定查詢 between...and...的使用

? 查詢基本工資大于等于1500并且小于等于3000的雇員

select empno,ename,sal from emp where sal>=1500 and sal<=3000;select empno,ename,sal from emp where sal between 1500 and 3000;? 查詢1981年雇傭的所有員工

select empno,ename,hiredate from emp where hiredate between'1-1月 1981' and '31-12月 1981';注:日期格式 日-月 年,要匹配上

? 限定查詢 字符串的比較

? 查詢姓名是'SMITH'員工的所有信息 select * from emp where ename='SMITH';select * from emp where ename='smith';注:列值區(qū)分大小寫(xiě)

? 限定查詢 in的使用

? 查詢出編號(hào)7369,7499,7521的雇員的具體信息

select * from emp where empno=7369 or empno=7499 or empno=7521;select * from emp where empno in(7369,7499,7521);

? 限定查詢 not in的使用

? 查詢出雇員編號(hào)不是369,7499,7521的雇員的具體信息 select * from emp where empno not in(7369,7499,7521);

? 限定查詢 like的使用

? 查詢雇員的名字第二個(gè)字符是M的雇員信息 select * from emp where ename like'_M%';注:_匹配一個(gè)字符,%匹配0個(gè)多個(gè)字母(前綴或后綴的代表)? 查詢1982年入職的所有雇員的信息

select * from emp where hiredate like'%82';? 查詢工資中包含5的雇員信息

select * from emp sal where like'%5%';

? 對(duì)結(jié)果排序-Oracle By ? 查詢員工工資大于1500員工的信息,按工資排序 select * from emp where sal>1500 order by sal;? 查詢工資大于1500員工的信息,按工資降序,按雇傭日期升序排序 select * from emp where sal>1500 order by sal desc,hiredate asc;注:ASC升序,DESC降序,默認(rèn)ASC。

ascending [?'sendi?]上升的,降序排列(descend [di'send] 的縮寫(xiě));

三、ORACLE標(biāo)量函數(shù)和算數(shù)運(yùn)算

字符函數(shù)的使用

? 轉(zhuǎn)換為大寫(xiě)字母

select upper('smith')from dual;注:dual是公共表。upper ['?p?] 上面的,上部的

? 轉(zhuǎn)換為小寫(xiě)字母

select lower('SMITH')from dual;注:lower 放下

? 每個(gè)單詞的字母變成大寫(xiě),其余字母小寫(xiě) select initcap('hello world')from dual

? 串連接(concat):可以使用“||”進(jìn)行串連接 select concat('HELLO','WORLD')from dual;select 'HELLO'||'WORLD' from dual;

? 求子串(SUBSTR)select substr(ename,1,3)from emp;注:含義為截取ename字段從第一個(gè)字符開(kāi)始,總共三個(gè)字符

? 求長(zhǎng)度(LENGTH)select length(ename)from emp;

? 串替換(REPLACE)select replace('HELLO WORLD','WOR','WEL')from dual;結(jié)果:

REPLACE('HE-----------HELLO WELLD 注:第一個(gè)逗號(hào)是原字符,第二個(gè)逗號(hào)是原字符的一部分,第三部分是替換原字符那個(gè)部分。

? 要求顯示所有雇員的姓名和姓名的后三個(gè)字符

select ename,substr(ename,length(ename)-2)from emp;select ename,substr(ename,-3)from emp;

? 四舍五入(Round)select round(789.536)from dual;ROUND(789.536)--------------

790

? 四舍五入(Round):指定保留小數(shù)位數(shù) select round(789.536,2)from dual;----------------

789.54

? 四舍五入(Round):對(duì)整數(shù)四舍五入 select round(789.536,-2)from dual;ROUND(789.536,-2)-----------------

800

? 截?cái)嘈?shù)位(TRUNC)select trunc(789.536)from dual;TRUNC(789.536)--------------

789

? 截?cái)嘈?shù)位(TRUNC):指定保留小數(shù)位 select trunc(789.536,2)from dual;TRUNC(789.536,2)----------------

789.53

? 截?cái)嘈?shù)位(TRUNC):對(duì)整數(shù)截?cái)?select trunc(789.536,-2)from dual;TRUNC(789.536,-2)-----------------

700 ? 除空格(TRIM)

SQL> SELECT TRIM(55)FROM DUAL;TRIM(55)--------55 ? 取余數(shù)(MOD)select mod(10,3)from dual;

? 日期函數(shù) 運(yùn)算規(guī)律:

日期+數(shù)字=日期 日期-數(shù)字=日期

日期-日期=數(shù)字(天數(shù))

? 查詢當(dāng)前日期

select sysdate from dual;SYSDATE-------------10-3月-12

? 顯示10部門員工進(jìn)入公司的星期數(shù)

select empno,ename,round((sysdate-hiredate)/7)from emp where deptno=10;

? 在指定日期上加入指定的月數(shù)之后的日期(ADD_MONTHS)select add_months(sysdate,4)from dual;ADD_MONTHS(SYS--------------10-7月-12

? 求出給定日期范圍的月數(shù)(months_between)select empno,ename,months_between(sysdate,hiredate)from emp;

? 下一個(gè)給定的星期是那個(gè)日期(next_day)select next_day(sysdate,'星期一')from dual;注:表示在當(dāng)前時(shí)間的前提下,下個(gè)禮拜一的具體日期

? 求出給定日期所在月份的最后一天日期(last_day)select last_day(sysdate)from dual;

? 轉(zhuǎn)換成字符串(to_char)查詢雇員號(hào),姓名,以及入職的年份

select empno,ename,to_char(hiredate,'yyyy')from emp;注:yyyy匹配年份,mm匹配月份,dd匹配日

? 使用to_char設(shè)置日期的顯示格式

select empno,ename,to_char(hiredate,'yyyy-mm-dd')from emp;

? 使用fm去掉前導(dǎo)0 select empno,ename,to_char(hiredate,'fmyyyy-mm-dd')from emp;EMPNO ENAME

TO_CHAR(HI--------------------------

7369 SMITH

1980-12-17

7499 ALLEN

1981-2-20 注:正常的值是1981-02-20,02前面的0去掉,變成了1981-2-20.? 通過(guò)to_char設(shè)置數(shù)值的格式

select empno,ename,to_char(sal,'99,999')from emp;說(shuō)明:9代表1位數(shù)字

EMPNO ENAME

TO_CHAR---------------------------

7369 SMITH

800

7499 ALLEN

1,600

7521 WARD

1,250 注:把sal的值分成兩個(gè)部分,后三位為一個(gè)部分,前兩位為一個(gè)部分,用逗號(hào)隔開(kāi)。

? 顯示余額

select empno,ename,to_char(sal,'$99,999')from emp;說(shuō)明:$代表美元

? 轉(zhuǎn)換成數(shù)字(to_number)select to_number('123')+to_number('123')from dual;TO_NUMBER('123')+TO_NUMBER('123')--

246

? 轉(zhuǎn)換成日期(to_date)select to_date('2009-07-31','yyyy-mm-dd')from dual;TO_DATE('2009---------------31-7月-09

? 算數(shù)運(yùn)算

? 查詢每個(gè)員工的年收入

select empno,ename,(sal+comm)*12 from emp;年收入=工資+獎(jiǎng)金

? 查詢每個(gè)員工的年收入

select empno,ename,(sal+comm)*12 income from emp;

? 查詢每個(gè)員工的年收入

select empno,ename,(sal+NVL(comm,0))*12 income from emp;注:NVL(comm,0),當(dāng)comm的值為null時(shí),用0替換

ORACLE_多表查詢

? 格式:

select 列名1 別名1,......from 表名1,表名2,......where 條件 order by 列名

? 查詢員工的編號(hào),姓名,部門編號(hào),部門名稱

select empno,ename,emp.deptno,dname from emp,dept where emp.deptno=dept.deptno;

關(guān)聯(lián)查詢-為表命別名

? 查詢員工的編號(hào),姓名,部門編號(hào),部門名稱

select empno,ename,e.deptno,dname from emp e,dept d where d.deptno=e.deptno;注:這里的e是emp的別名,d是dept的別名

關(guān)聯(lián)查詢-自連接

? 查詢出每個(gè)雇員的姓名、工作、雇員的直接上級(jí)領(lǐng)導(dǎo)的姓名

select e.empno,e.ename,e.job,m.ename mname from emp e,emp m where e.mgr=m.empno;注:mname是m.ename的別名

關(guān)聯(lián)查詢-多表關(guān)聯(lián)

四、? 查詢出每個(gè)雇員的姓名,工作,雇員的直接上級(jí)領(lǐng)導(dǎo),以及部門名稱 select e.ename,e.job,m.ename,d.dname from emp e,dept d,emp m where e.mgr=m.empno and e.deptno=d.deptno;注:當(dāng)查詢的字段間的關(guān)系涉及到n個(gè)表時(shí),則n個(gè)表之間關(guān)聯(lián)。

左、右外連接

? 查詢員工編號(hào),姓名,所在部門號(hào),部門名稱,將沒(méi)有員工的部門也顯示出來(lái) select e.ename,d.deptno,d.dname from emp e,dept d where e.deptno(+)=d.deptno;注:(+)在左邊,表示右連接,會(huì)列出所有右表中出現(xiàn)但是沒(méi)有在左表中出現(xiàn)的行。

? 查詢雇員的編號(hào),姓名及其領(lǐng)導(dǎo)的編號(hào),將沒(méi)有領(lǐng)導(dǎo)的員工也列出來(lái) select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno(+);注:(+)在右邊表示左連接,會(huì)列出左表中出現(xiàn)但沒(méi)有在右表中出現(xiàn)的行。

? 交叉連接(cross join):用來(lái)長(zhǎng)生笛卡爾積 select * from emp cross join dept;

? 自然連接(nutural join):自動(dòng)進(jìn)行關(guān)聯(lián)字段的匹配 select * from emp natural join dept;

? using子句:直接指定操作關(guān)聯(lián)列

select * from emp join dept using(deptno)

? on子句:用戶自己編寫(xiě)連接條件

select * from emp join dept on emp.deptno=dept.deptno;

? left join:左外連接

? right join:右外連接

五、ORACLE_列函數(shù)和分組

? 常用的列函數(shù)

sum(expression)求和 max(expression)求最大值 min(expression)求最小值 avg(expression)求平均數(shù) count(expression)統(tǒng)計(jì)記錄數(shù)

count(distinct colname)統(tǒng)計(jì)去除重復(fù)行記錄數(shù) nvl(comm,0)當(dāng)comm為null時(shí),用0替換

列函數(shù)的使用

? 查詢員工的記錄數(shù),員工工資的總和,平均工資,最高工資,最低工資

select count(*)count_emp,sum(sal)sum_sal, max(sal)max_sal,min(sal)min_sal, avg(sal)avg_sal from emp;

列函數(shù)的使用-對(duì)null的處理

? 查詢所有員工的年收入

select sum(sal+comm)from emp;SUM(SAL+COMM)-------------

7800 注:當(dāng)comm為null時(shí),sal+comm是沒(méi)有結(jié)果值的

select sum(sal)+sum(comm)from emp;SUM(SAL)+SUM(COMM)------------------

31225

select sum(sal+nvl(comm,0))from emp;SUM(SAL+NVL(COMM,0))--------------------

31225

? 分組查詢

語(yǔ)法格式

select 列名...,列函數(shù) from 表名...where 條件...group by 列名...order by 列名...? 查詢每個(gè)部門的人數(shù)

select deptno,count(*)from emp group by deptno;規(guī)則:如果在select字句中,有不在列函數(shù)中的列,則該列一定要出現(xiàn)在group by之后。

分組查詢having字句的使用

? 顯示出平均工資大于2000的部門編號(hào)和平均工資 select deptno,avg(sal)from emp group by deptno having avg(sal)>2000;

SQL語(yǔ)句的書(shū)寫(xiě)順序

select 列名,列函數(shù) from 表名 where 條件 group by列名 having 條件 order by 列名

SQL語(yǔ)句的執(zhí)行順序

from where group by having select order by

? 查詢20,30部門的平均工資,并將平均工資大于2000的輸出,輸出結(jié)果按平均工資排序 select deptno,avg(sal)from emp where deptno in(20,30)group by deptno having avg(sal)>2000 order by avg(sal);

六、ORACLE_子查詢

在where子句中使用子查詢

? 查詢工資比7654雇員工資高的全部雇員信息

select * from emp where sal>(select sal from emp where empno=7654);子查詢-in的使用

? 查詢和smith或jones在同一部門,同一職位工作的員工

select ename from emp where(deptno,job)in(select deptno,job from emp where ename in('SMITH','JONES'));

子查詢-any的使用

? =any:與in操作符的效果一致

查詢和smith或jones在同一部門,同一職位工作的員工

select ename from emp where(deptno,job)=any(select deptno,job from emp where ename in('SMITH','JONES'));

? >any:只要大于子查詢中的任何一個(gè)值即可 select * from emp where sal>any(select min(sal)from emp group by deptno);

?

select empno from emp where sal

子查詢all的使用

? >all:比最大的值大

select * from emp where sal>all

(select min(sal)from emp group by deptno);注:select min(sal)from emp group by deptno結(jié)果為

MIN(SAL)----------

950

800

1300 是每個(gè)部門當(dāng)中的最少工資。

?

七、ORACLE_表的更新操作

? 創(chuàng)建表副本

create table myemp as select * from emp;

? 插入 ? 到表中 insert的語(yǔ)法

insert into 表名(字段名1,字段名2,......)values(值1,值2......)

? 為myemp中增加一條記錄 insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno)values(7899,'張三','清潔工','7369','14-2月-2005',9000,300,40);注:給定的值要和指定的字段數(shù)一致。

1.如果全部字段都插入值的話,那字段名可以省略。即:

insert into 表名 values(值1,值2,.......);2.如果只是部分字段插入值的話,字段名又想省略的話,那么,其余沒(méi)有數(shù)據(jù)插入的字段用null填補(bǔ)。

? to_date:字符型轉(zhuǎn)換成日期型

? 批量插入記錄 格式:

insert into 表名

select 字段列表 from 表名 where 條件

注:insert表和select表列數(shù)等都一致 例如:

create table test as select * from emp;insert into test select * from emp;

? 修改記錄

update表名set要修改的字段=新值,要修改的字段=新值,...where條件

? 將雇員號(hào)為7896的雇員的獎(jiǎng)金修改為100 update myemp set comm=100 where empno=7896;注:執(zhí)行修改操作時(shí),一定要使用where來(lái)指定修改的條件,否則會(huì)改變表中的所有記錄。

? 刪除記錄

delete from 表名 where 條件

? 刪除雇員編號(hào)為7896的雇員信息 delete from myemp where empno=7896;注:執(zhí)行delete操作時(shí),一定要使用where來(lái)指定修改的條件,否則會(huì)刪除表中所有的記錄。

? Oralce的事務(wù)處理

commit:提交事務(wù) rollback:回滾操作

注:操作一旦執(zhí)行了commit操作,就再也不能回滾操作了。

八、ORACLE_表與視圖的管理

? oracle中的常見(jiàn)數(shù)據(jù)類型

varchar、varchar2:表示一個(gè)字符串,有長(zhǎng)度限制,為255 number:

number(n):表示一個(gè)整數(shù),數(shù)字的長(zhǎng)度是n,可以使用int number(n,m):表示一個(gè)小數(shù),數(shù)字的長(zhǎng)度為n,整數(shù)長(zhǎng)度m-n,可以使用float date:表示日期類型,日期要按照標(biāo)準(zhǔn)格式日期存放。clob:大對(duì)象,表示大文本數(shù)據(jù)類型,可存放4G。

blob:大對(duì)象,表示二進(jìn)制數(shù)據(jù),最大可以存放4G,如電影,圖片、歌曲

? 創(chuàng)建表 語(yǔ)法:

create table 表名(字段名稱1 字段類型[default 默認(rèn)值], 字段名稱1 字段類型[default 默認(rèn)值],............字段名稱1 字段類型[default 默認(rèn)值],);

? 復(fù)制表

create table 表名 as(子查詢);注:當(dāng)子查詢不成立時(shí),如果1=2,則只復(fù)制表的結(jié)果,不復(fù)制表的數(shù)據(jù)。

? 刪除表 語(yǔ)法:

drop table 表名;

? 修改表結(jié)構(gòu)

? 增加一列

alter table 表名 add(列名稱 列數(shù)據(jù)類型 default 默認(rèn)值)

? 刪除列 alter table 表名 drop column 列名稱;

? 修改列的數(shù)據(jù)類型

alter table 表名稱 modify(列的名稱 列的類型 default 默認(rèn)值);注:1.如果是更改數(shù)據(jù)的長(zhǎng)度,則要求更改時(shí),長(zhǎng)度不能小于當(dāng)前表中數(shù)據(jù)所具有的最大長(zhǎng)度。

2.如果是更改數(shù)據(jù)類型,則要求更改時(shí),該列的所有記錄值都為空。

? 修改表結(jié)構(gòu)

? 為表重命名

rename 舊表名 to 新表名;注:這是oracle特有的操作

? 將myemp表改名為iemp SQL> rename myemp to iemp;表已重命名。? 截?cái)啾?/p>

truncate table 表名;意義:清空表中的所有數(shù)據(jù),并且立即釋放資源,該操作是不可回滾。

? 約束-約束的分類

主鍵約束:表示一個(gè)唯一的標(biāo)識(shí),本身不能為空 唯一約束:列值不允許重復(fù)

檢查約束:檢查一個(gè)列的內(nèi)容是否合法

非空約束:不能為空值,如用戶不能為空(no null)外鍵約束:在兩張表中進(jìn)行約束的操作

? 主鍵約束(primary key)主鍵約束一般在id上使用,而且本身已經(jīng)默認(rèn)了不能為空,主鍵約束可以在建表的時(shí)候指定 create table person(pid varchar2(18)primary key, name varchar(30), age number(3), sex varchar2(2)default'男');

使用constraint指定

constraint [k?n'streint] 約束;強(qiáng)制 create table person(pid varchar2(18), name varchar(30), age number(3), sex varchar2(2)default'男'

constraint person_pid_pk primary key(pid););? 非空約束(not null)create table person(pid varchar2(18)primary key, name varchar(30)not null, age number(3), sex varchar2(2)default'男');

? 唯一約束(unique)create table person(pid varchar2(18)primary key, name varchar(30)unique not null, age number(3), sex varchar2(2)default'男');

? 視圖

概念:一個(gè)視圖實(shí)質(zhì)是封裝了一條復(fù)雜的SQL語(yǔ)句

? 創(chuàng)建視圖 語(yǔ)法:

create view 視圖名稱 as 子查詢

? 創(chuàng)建部門20員工的雇員信息

create view empv20 as select * from emp where deptno=20;注:當(dāng)創(chuàng)建視圖以后,可以像操作表一樣操作視圖。注:視圖的操作會(huì)影響到表的操作。

with check option 不能更新創(chuàng)建視圖的條件 with read only 創(chuàng)建只讀視圖

? 刪除視圖 語(yǔ)法:

drop view 視圖名稱

注:當(dāng)刪除視圖所在的表時(shí),則視圖也不能被使用

? 序列

創(chuàng)建序列語(yǔ)法:sequence ['si:kw?ns] create sequence 序列名稱;create sequence myseq;序列的操作:

nextval:取得序列的下一個(gè)內(nèi)容 currval:取得當(dāng)前序列的內(nèi)容

? 創(chuàng)建表驗(yàn)證序列的操作

create table testseq(next number,curr number);insert into testseq values(myseq.currval,myseq.nextval);

? 創(chuàng)建序列指定每次增長(zhǎng)的增量

create sequence myseq increment by 2;注:每次增長(zhǎng)2

? 創(chuàng)建序列指定開(kāi)始的序列,默認(rèn)的序列從1開(kāi)始。create sequence myseq increment by 2 start with 10;注:序列從10開(kāi)始,每次增長(zhǎng)2

? 創(chuàng)建一個(gè)序列1,3,5,7,9.create sequence myseq maxvalue 9 increment by 2 start with 1 cache 2 cycle;注:序列從1開(kāi)始,每次增長(zhǎng)2,最大值為9,循環(huán)兩次。

第五篇:數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

這學(xué)期我們學(xué)習(xí)了數(shù)據(jù)庫(kù)應(yīng)用教程這門課,以前并不知道這門課是干什么的,也不懂得什么是數(shù)據(jù)庫(kù),通過(guò)這一學(xué)期的學(xué)習(xí),雖然了解的不是非常多,但也有了初步的一點(diǎn)認(rèn)識(shí)。

我大概的明白數(shù)據(jù)庫(kù)技術(shù)是處理信息,管理數(shù)據(jù)最有效的一種方法。它具有完善的數(shù)據(jù)管理功能,還具有操作方便,簡(jiǎn)單實(shí)用等特點(diǎn)。因?yàn)槲沂欠怯?jì)算機(jī)專業(yè)的學(xué)生,所以我學(xué)起來(lái)就感覺(jué)很難,在上第一堂課的時(shí)候,因?yàn)椴涣私猓谑切睦锍錆M了對(duì)這門課的神秘感,在第一堂課上我聽(tīng)得很認(rèn)真,我感覺(jué)它與其他的課程沒(méi)有什么聯(lián)系,不需要其它太多的知識(shí),我想它可能是一門從頭開(kāi)始學(xué)的課,就沒(méi)有太多的擔(dān)憂,然而事實(shí)并不是我想的這樣,隨著時(shí)間的延長(zhǎng),我發(fā)現(xiàn)每一堂課都比前一堂課難,逐漸的我聽(tīng)得就越來(lái)越吃力,還好書(shū)上除了理論知識(shí)外還有很多例題和圖片,這對(duì)我對(duì)知識(shí)的理解有很大的幫助。

同時(shí)老師每堂課都用詳細(xì)的和書(shū)上相似的PPT,并且老師講的非常細(xì)致,書(shū)上的每一個(gè)知識(shí)他都會(huì)仔細(xì)的給我們講解,有時(shí)遇到比較難的問(wèn)題他還會(huì)很耐心的講解好幾遍直到我們都明白了為止,有時(shí)候我們好多人都沒(méi)有聽(tīng),但只要有人聽(tīng),他就會(huì)很認(rèn)真的講。本書(shū)的第一章主要介紹數(shù)據(jù)庫(kù)系統(tǒng)的基本概念,VFP的開(kāi)發(fā)環(huán)境,項(xiàng)目管理器等知識(shí),還記得上第一章時(shí)老師就告訴我們這一門課程對(duì)我們來(lái)說(shuō)比較難學(xué),也鼓勵(lì)我們不要放棄,要慢慢的理解,老師總是態(tài)度很和藹的與我們說(shuō)話,更減少了我們對(duì)這一門課的恐懼感。

為了讓我們更好的理解所學(xué)的知識(shí),老師還為我們準(zhǔn)備了與教學(xué)知識(shí)相關(guān)的實(shí)驗(yàn)內(nèi)容,一般在每堂理論課后都會(huì)有實(shí)驗(yàn)課,所做的實(shí)驗(yàn)都是我們剛學(xué)的那些基本的,重點(diǎn)的知識(shí)。這種理論與實(shí)驗(yàn)相結(jié)合的方式加深了我們對(duì)教材的理解。剛開(kāi)始做實(shí)驗(yàn)時(shí),因?yàn)槭浅鯇W(xué),所以老師會(huì)把所有的步驟都寫(xiě)上,讓我們照著做,先熟悉它的基本操作,再慢慢的理解,時(shí)間久了,老師就會(huì)省去一些簡(jiǎn)單的步驟,讓我們自己練習(xí)。并且每次實(shí)驗(yàn)之間都有一定的聯(lián)系,比如下一次實(shí)驗(yàn)時(shí)當(dāng)中有的東西就要用到上一次或前幾次的實(shí)驗(yàn)內(nèi)容。如果第一次沒(méi)有做或者沒(méi)有做完,就會(huì)影響到下一次的實(shí)驗(yàn),剛開(kāi)始我因?yàn)椴皇炀妥霾煌?,也不知道與以后的實(shí)驗(yàn)是有聯(lián)系的,偶爾做完了也不知道保存,直到做到下一次實(shí)驗(yàn)不會(huì)做去問(wèn)老師時(shí),才知道那是上節(jié)課的內(nèi)容,于是我又從第一次重新開(kāi)始做起。這樣不僅浪費(fèi)時(shí)間,而且趕不上老師的進(jìn)度,每一節(jié)我就會(huì)忙于做以前的任務(wù),而不能及時(shí)做當(dāng)天的,從而總覺(jué)得自己很忙,但又不知忙了些什么,更不能及時(shí)掌握當(dāng)天所學(xué)的知識(shí)。使不懂的知識(shí)越來(lái)越多,自然也就覺(jué)得學(xué)起來(lái)很吃力。

書(shū)中第二章給我們介紹了VFP的基礎(chǔ)知識(shí)及數(shù)據(jù)運(yùn)算,這一章內(nèi)容讓我對(duì)數(shù)據(jù)庫(kù)有了進(jìn)一步的理解,這也為我以后學(xué)習(xí)數(shù)據(jù)庫(kù)打下了基礎(chǔ),因?yàn)榛A(chǔ)的東西才是一切學(xué)習(xí)的前提,沒(méi)有這些知識(shí)又怎能繼續(xù)學(xué)習(xí)后面的知識(shí)。第三章講了表的基本操作,如對(duì)表結(jié)構(gòu)的認(rèn)識(shí),如何創(chuàng)建表和修改表操作,排序與索引,數(shù)據(jù)表的統(tǒng)計(jì),工作區(qū)與多表操作,表文件等。這一章內(nèi)容是數(shù)據(jù)處理與操作的前提基礎(chǔ)。每一章的內(nèi)容由淺入深,層層相扣,關(guān)系密切。這對(duì)我們學(xué)好這門課有很大幫助。

通過(guò)這一學(xué)期的學(xué)習(xí)我了解到數(shù)據(jù)庫(kù)有很多優(yōu)點(diǎn),對(duì)我們的學(xué)習(xí)和生活非常有用,第一,它可以實(shí)現(xiàn)數(shù)據(jù)共享,所有用戶可同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),也可以用各種方式通過(guò)接口使用數(shù)據(jù)庫(kù),這樣大大方便了我們每一個(gè)人的學(xué)習(xí)與生活。第二,它可以減少數(shù)據(jù)的冗余度,與其他的一些文件系統(tǒng)相比,因?yàn)閿?shù)據(jù)庫(kù)實(shí)現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件,減少了大量重復(fù)數(shù)據(jù),減少了數(shù)據(jù)冗余,這一特點(diǎn)使我們的操作更方便更快捷。減少了時(shí)間的浪費(fèi),提高了工作的效率。第三,數(shù)據(jù)庫(kù)可以確保數(shù)據(jù)的安全性和可靠性,可以防止數(shù)據(jù)丟失,保證數(shù)據(jù)的正確性和有效性,同時(shí)數(shù)據(jù)庫(kù)可以及時(shí)發(fā)現(xiàn)故障并修復(fù)故障,從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫(kù)的這一系列特點(diǎn)都決定了它有很強(qiáng)大的功能,可以為我們提供很多方便,提高了我們的學(xué)習(xí)生活效率和質(zhì)量,是一門很值得我們?nèi)W(xué)習(xí)的一門課程。我們應(yīng)該重視它,使其更好地幫助我們?,F(xiàn)在想起來(lái)還有一點(diǎn)點(diǎn)后悔,當(dāng)時(shí)沒(méi)有好好聽(tīng)。

在這一學(xué)期有限的幾次實(shí)驗(yàn)課后,我雖然沒(méi)有學(xué)會(huì)很多,但也學(xué)會(huì)了一些簡(jiǎn)單的操作,我學(xué)會(huì)了一些簡(jiǎn)單的數(shù)據(jù)運(yùn)算;會(huì)建立一些簡(jiǎn)單的表,修改表的結(jié)構(gòu)和在表中輸入簡(jiǎn)單的記錄以及對(duì)表記錄的定位和修改;創(chuàng)建與編輯數(shù)據(jù)庫(kù)等比較容易簡(jiǎn)單的操作。有時(shí)候在做實(shí)驗(yàn)時(shí),對(duì)于實(shí)驗(yàn)中的一些東西我不怎么了解,但我還會(huì)去做,因?yàn)槲蚁胫挥卸嗑毩?xí)才能熟練,也才能理解掌握知識(shí)。我不知道這一門課對(duì)其他同學(xué)來(lái)說(shuō)怎么樣,但對(duì)我來(lái)說(shuō)卻有些難,但我會(huì)努力。因?yàn)槲艺J(rèn)為它對(duì)我以后考計(jì)算機(jī)二級(jí)有很大的幫助。

很快這一學(xué)期馬上就要結(jié)束了,數(shù)據(jù)庫(kù)這一門課也很快就要結(jié)束了,但這一學(xué)期的學(xué)習(xí)讓我知道了很多,尤其是老師的耐心,老師的敬業(yè)精神感動(dòng)了我,每一次還在午休時(shí)就有不想去上課的沖動(dòng),但我都克服了,因?yàn)槲蚁氲嚼蠋煆哪敲催h(yuǎn)來(lái)給我們上課,他能來(lái),為什么我不能,所以每次我都會(huì)說(shuō)服自己要好好上課。這不僅僅對(duì)我的學(xué)習(xí)有很大的啟示,更重要的是,他也告訴了我在以后的人生中如何去做事,如何去做人。再做任何事時(shí)都應(yīng)該認(rèn)真負(fù)責(zé),任何一個(gè)人都應(yīng)該被尊重。因?yàn)橛腥诉€是想聽(tīng),所以每次有人說(shuō)話時(shí),老師就會(huì)說(shuō)你可以不聽(tīng),可以睡覺(jué),但不能影響其他人聽(tīng)課。上次清明放假時(shí),好多人想回家,所以大部分人都沒(méi)有來(lái),老師并沒(méi)有生氣,而是很理解我們,有時(shí)候當(dāng)別人理解我們時(shí),我們應(yīng)該思考自己有沒(méi)有去理解過(guò)他人,這是相互的,就像老師理解我們一樣,我們也應(yīng)該按時(shí)上課,尊重老師,理解老師。經(jīng)過(guò)一個(gè)學(xué)期的數(shù)據(jù)庫(kù)課程的學(xué)習(xí),我們掌握了創(chuàng)建數(shù)據(jù)庫(kù)以及對(duì)數(shù)據(jù)庫(kù)的操作的基礎(chǔ)知識(shí)。數(shù)據(jù)庫(kù)這門課涉及到以前的知識(shí)不多,是一門從頭學(xué)起的課程,即使基礎(chǔ)不是很好,只要認(rèn)真聽(tīng)講、復(fù)習(xí)功課,還是一門比較容易掌握的課。課堂上講的知識(shí)比較理論化,如果不動(dòng)手就無(wú)法將知識(shí)轉(zhuǎn)化為技能,而動(dòng)手去做能夠讓我們將學(xué)過(guò)的知識(shí)在實(shí)踐中運(yùn)用,找到知識(shí)漏洞,并且能學(xué)到更多關(guān)于實(shí)際操作的知識(shí)和技巧。并且培養(yǎng)了我們的自學(xué)能力。

第一次接觸sql語(yǔ)言,雖然陌生,但是可以讓我從頭開(kāi)始學(xué),就算沒(méi)有基礎(chǔ)的人也可以學(xué)得很好。剛開(kāi)始練習(xí)sql語(yǔ)言的時(shí)候,并不是很難,基本上都是按照老師的步驟來(lái)做,還很有成就感。我們通過(guò)老師的一些ppt,我們可以鞏固課內(nèi)的知識(shí),還可以學(xué)習(xí)內(nèi)容相關(guān)的知識(shí),更好地完成老師布置的作業(yè)。access--中小型數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),內(nèi)嵌vba編程語(yǔ)言,面向?qū)ο缶幊?,excel--數(shù)據(jù)表格處理系統(tǒng),編程能力有限.access是數(shù)據(jù)庫(kù)管理軟件,內(nèi)含的是數(shù)據(jù)庫(kù)(基本對(duì)象),一個(gè)數(shù)據(jù)庫(kù)包含多張表 主要用于開(kāi)發(fā)系統(tǒng),日常辦公用起來(lái)不方便,他主要是做軟件的后臺(tái)的。而excel只是一般的表格處理軟件,主要于一些日常的辦公而已 兩都所用到的地方不一樣.access是一個(gè)數(shù)據(jù)庫(kù)軟件,一個(gè)access文件由存儲(chǔ)特定結(jié)構(gòu)化數(shù)據(jù)集的表集合組成。表中包含行(有時(shí)稱作記錄或元組)和列(有時(shí)稱作特性)的集合。表中的每一列都設(shè)計(jì)為存儲(chǔ)某種類型的信息(例如,日期、名稱、美元金額或數(shù)字)。表上有幾種控制(約束、規(guī)則、觸發(fā)器、默認(rèn)值和自定義用戶數(shù)據(jù)類型)用于確保數(shù)據(jù)的有效性。表上可以有索引(與書(shū)中的索引非常相似),利用索引可以快速地找到行。可將聲明引用完整性(dri)約束添加到表上,以確保不同表中相互關(guān)聯(lián)的數(shù)據(jù)保持一致。

學(xué)習(xí)數(shù)據(jù)庫(kù)對(duì)我來(lái)說(shuō)是一直都計(jì)劃學(xué)的,沒(méi)接觸的時(shí)候總是覺(jué)得它比較深?yuàn)W或是不可接近的電腦知識(shí),盡管自己對(duì)電腦非常感興趣,其實(shí)還是有些心理上的陌生感。學(xué)習(xí)電腦就和我們平時(shí)的其它科目學(xué)習(xí)一樣感覺(jué)它有永無(wú)止境的知識(shí),在這從初接觸電腦時(shí)連個(gè)電腦的鍵盤(pán)都不敢動(dòng)到現(xiàn)在連硬盤(pán)都也修理,其中的過(guò)程是多么長(zhǎng)啊,數(shù)據(jù)庫(kù)是我在高中時(shí)候聽(tīng)過(guò),到了大學(xué)漸漸了解了些,但就其原理性的內(nèi)容還不知道,也就是根本就不清楚什么是數(shù)據(jù)庫(kù),只是知道一個(gè)所謂的中國(guó)字典里的名詞。我認(rèn)識(shí)它是從我接觸網(wǎng)頁(yè)制作開(kāi)始的,初用FrontPage做網(wǎng)頁(yè)也就是弄幾個(gè)框圖,沒(méi)什么東西但還覺(jué)得不錯(cuò),后來(lái)聽(tīng)朋友說(shuō)這是最簡(jiǎn)單最普通的東東。朋友告訴我真真的網(wǎng)頁(yè)起碼也用到數(shù)據(jù)庫(kù)這些東西了,有什么前臺(tái)的后臺(tái)的。聽(tīng)我的都暈頭轉(zhuǎn)向了,感覺(jué)自己是一個(gè)長(zhǎng)不大的菜鳥(niǎo)了,之后我就去查找相關(guān)資料發(fā)現(xiàn)在數(shù)據(jù)庫(kù)有很多種,這才對(duì)它有所了解。

一、大二的時(shí)候想學(xué)可不知道怎么學(xué),從什么地方學(xué)起。當(dāng)時(shí)也沒(méi)注意選課本上有這類的課程,到了大三正式的課程也輕松些了,仔細(xì)觀摩了選修課發(fā)現(xiàn)有數(shù)據(jù)庫(kù),有數(shù)據(jù)庫(kù)原理和Oracle數(shù)據(jù)庫(kù)。當(dāng)時(shí)感覺(jué)Oracle數(shù)據(jù)庫(kù)既然是單獨(dú)一門課程一定會(huì)講的比較細(xì),也能學(xué)到真正實(shí)用的內(nèi)容。選上了這門課以后發(fā)現(xiàn)和我想的基本是一樣的,老師對(duì)學(xué)生也比較和藹可親,對(duì)我們要求也不是很緊。讓每個(gè)人都覺(jué)得輕輕松松就能把這門課程學(xué)完,沒(méi)有多么緊張的作業(yè),也沒(méi)有太苛刻的要求。

當(dāng)老師在最后說(shuō)這個(gè)課程結(jié)束了,回顧一下以前老師給我們講過(guò)的東西,真的有很多是我們應(yīng)該去注意的。學(xué)習(xí)完Oracle數(shù)據(jù)庫(kù)后感覺(jué)Oracle可分兩大塊,一塊是開(kāi)發(fā),一塊是管理。開(kāi)發(fā)主要是寫(xiě)寫(xiě)存儲(chǔ)過(guò)程、觸發(fā)器什么的,還有就是用Oracle的Develop工具做form。有點(diǎn)類似于程序員,當(dāng)然我可不是什么程序員,有幾個(gè)程序員朋友他們是我的偶像。開(kāi)發(fā)還需要有較強(qiáng)的邏輯思維和創(chuàng)造能力,自己沒(méi)有真正做過(guò),但感覺(jué)應(yīng)該會(huì)比較辛苦,是青春飯;管理則需要對(duì)Oracle數(shù)據(jù)庫(kù)的原理有深刻的認(rèn)識(shí),有全局操縱的能力和緊密的思維,責(zé)任較大,因?yàn)橐粋€(gè)小的失誤就會(huì)down掉整個(gè)數(shù)據(jù)庫(kù),相對(duì)前者來(lái)說(shuō),后者更看重經(jīng)驗(yàn)。這些東西都是從老師哪里和朋友的討論中得到的心得,也希望其他朋友能多多向老師和朋友請(qǐng)教,如果是個(gè)人單獨(dú)靠自己來(lái)完成一個(gè)完美的數(shù)據(jù)庫(kù)我覺(jué)得比較困難,現(xiàn)在基本上都是團(tuán)隊(duì)類型的,而且他們的效率高開(kāi)發(fā)的周期也快。在煙臺(tái)的.NET俱樂(lè)部認(rèn)識(shí)幾個(gè)比較歷害的人,他們的團(tuán)隊(duì)精神我比較佩服,像我這樣一個(gè)大學(xué)生和他們說(shuō)起來(lái)太菜了。由于數(shù)據(jù)庫(kù)管理的責(zé)任重大,很少公司愿意請(qǐng)一個(gè)剛剛接觸Oracle的人去管理數(shù)據(jù)庫(kù)。對(duì)于我們這些初出茅廬的新手來(lái)說(shuō),個(gè)人認(rèn)為可以先選擇做開(kāi)發(fā),有一定經(jīng)驗(yàn)后轉(zhuǎn)型,去做數(shù)據(jù)庫(kù)的管理。當(dāng)然,這個(gè)還是要看人個(gè)的實(shí)際情況來(lái)定。其實(shí)在煙臺(tái)大學(xué)里學(xué)生中有做的好的也是有,只不過(guò)通常象這些兄弟們我覺(jué)得很少能發(fā)現(xiàn)在,因?yàn)槲抑恢酪粋€(gè)。在煙雨樓臺(tái)的BBS版塊里有個(gè)程序版塊,這位版主以前就是學(xué)校網(wǎng)絡(luò)中心的牛人。他曾告訴我學(xué)習(xí)的方法就是:看書(shū)、思考、寫(xiě)筆記、做實(shí)驗(yàn)、再思考、再寫(xiě)筆記。我覺(jué)得說(shuō)的很對(duì),對(duì)于新手來(lái)說(shuō)就要這樣,不斷的去努力奮斗,最后一定能得到自己想要的成果。

對(duì)于學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)從網(wǎng)絡(luò)上找資料我認(rèn)為是比較好的,現(xiàn)在的網(wǎng)絡(luò)又這么的發(fā)達(dá)應(yīng)該去充分利用。我知道Oracle的官方網(wǎng)站:這里有Oracle的各種版本的數(shù)據(jù)庫(kù)、應(yīng)用工具和權(quán)威的官方文檔。雖然我是個(gè)新手,但是常到哪些相關(guān)的數(shù)據(jù)庫(kù)論壇或是網(wǎng)站覺(jué)得每次的收獲都不小,網(wǎng)絡(luò)對(duì)我來(lái)說(shuō)可是個(gè)重要的東西,除了Oracle數(shù)據(jù)庫(kù)對(duì)于其它的一些電腦知識(shí)都從網(wǎng)絡(luò)里學(xué)習(xí)了不少,我常用的一個(gè)搜索網(wǎng)站就是大家都熟悉的百度了

以前沒(méi)接觸過(guò)它,現(xiàn)在認(rèn)識(shí)了它才知道Oracle的體系很龐大,要學(xué)習(xí)它,首先要了解Oracle的框架。它有物理結(jié)構(gòu)(由控制文件、數(shù)據(jù)文件、重做日志文件、參數(shù)文件、歸檔文件、密碼文件組成),邏輯結(jié)構(gòu)(表空間、段、區(qū)、塊),內(nèi)存分配(SGA和PGA)算機(jī)的實(shí)際內(nèi)存中得以分配,如果實(shí)際內(nèi)存不夠再往虛擬內(nèi)存中寫(xiě),后臺(tái)進(jìn)程(數(shù)據(jù)寫(xiě)進(jìn)程、日志寫(xiě)進(jìn)程、系統(tǒng)監(jiān)控、進(jìn)程監(jiān)控、檢查點(diǎn)進(jìn)程、歸檔進(jìn)程、服務(wù)進(jìn)程、用戶進(jìn)程),SCN(System Change Number)。這些東西感覺(jué)都比較專業(yè),我對(duì)它們也就是個(gè)知道,想要真真去認(rèn)識(shí)我還得努力去做。雖然懂得還不是很多,起碼會(huì)了基本的軟件操作,老師說(shuō)我們用的都是客戶端,服務(wù)端看不到,也不知道服務(wù)端是什么樣的,只知道客戶端就挺多東西的,沒(méi)有真正的去學(xué)習(xí)利用是很難掌握的。

Oracle數(shù)據(jù)庫(kù)的學(xué)習(xí)使我對(duì)數(shù)據(jù)庫(kù)的有了新的進(jìn)步,以后再看到也就不至于什么也不懂,其實(shí)那么多數(shù)據(jù)庫(kù)我覺(jué)得學(xué)好一門就行,只是他們的語(yǔ)言可能不大一樣,學(xué)好一門后就可去認(rèn)識(shí)其它的,這樣應(yīng)該有事半功倍的效果。就像我學(xué)習(xí)C語(yǔ)言,當(dāng)時(shí)不能說(shuō)是學(xué)習(xí)的棒,但不算差。所以我對(duì)以后的語(yǔ)言感覺(jué)都不是很困難,了解了VB、C++還有網(wǎng)頁(yè)中用的Html語(yǔ)言、asp語(yǔ)言都能看懂,起碼可以對(duì)別人的東西進(jìn)行了一下修改。因此,我感謝Oracle數(shù)據(jù)庫(kù)老師給了我有用的知識(shí),以便我在以后學(xué)習(xí)或認(rèn)識(shí)更多的內(nèi)容能有新的方法和思維,也能更加有效和快速的去消化吸收新的東西。希望在今后中,Oracle能給我更多幫助,讓我在我熟悉的VB中運(yùn)用上去,我以前的一個(gè)目標(biāo)是要為學(xué)校的選課做一個(gè)選課助手來(lái)幫助大學(xué),就用我的VB。不過(guò)因?yàn)榉N種原因一直沒(méi)有完成,也包括我對(duì)數(shù)據(jù)庫(kù)的不了解,因?yàn)閷W(xué)了Oracle以后知道第一項(xiàng)內(nèi)容是通過(guò)SQL查詢后得到的,如果去把它們聯(lián)系起來(lái)還不是真正明白,不過(guò)我相信我的目標(biāo)能在學(xué)習(xí)Oracle后得到進(jìn)展。在這一年中我主要學(xué)習(xí)的數(shù)據(jù)庫(kù)是sql serverXX,在學(xué)習(xí)的時(shí)候過(guò)程中,我們首先是從基礎(chǔ)開(kāi)始,比如數(shù)據(jù)類型、運(yùn)算符號(hào)、關(guān)鍵字等等,然后上升到一些增刪改查,還有觸發(fā)、存儲(chǔ)過(guò)程等的使用等等。

經(jīng)過(guò)了一學(xué)期的學(xué)習(xí),我從起初對(duì)數(shù)據(jù)庫(kù)的認(rèn)識(shí)模糊到后來(lái)清晰,深入,我認(rèn)為我學(xué)到了許許多多的東西。當(dāng)然,在學(xué)習(xí)中,薛立柱會(huì)給我們?cè)诰W(wǎng)上下很多的學(xué)習(xí)資料,同時(shí)他也會(huì)建議我們多讀讀網(wǎng)上的學(xué)習(xí)資料。除了這個(gè)以外,我在學(xué)習(xí)數(shù)據(jù)庫(kù)課程過(guò)程中,接觸到的軟件工程思想,網(wǎng)上學(xué)習(xí)經(jīng)驗(yàn),以及利用網(wǎng)絡(luò)的學(xué)習(xí)資源都很好的改善了我的學(xué)習(xí)。后來(lái),在學(xué)習(xí)的深入中,雖然學(xué)習(xí)有時(shí)是十分叫人感到枯燥乏味的,但我慶幸的是我堅(jiān)持了下來(lái),在最后的考試復(fù)習(xí)中,薛立柱老師雖然勸誡我學(xué)習(xí)不要因?yàn)榭荚嚩V?。是?。∫雽W(xué)好一門功課我們需要的是持之以恒的精神。

數(shù)據(jù)庫(kù)編程,這個(gè)是作為一個(gè)程序員的基本功,絕大多數(shù)軟件開(kāi)發(fā)公司數(shù)據(jù)庫(kù)編程都是由程序員自己完成的,因?yàn)樗墓ぷ髁坎皇呛艽?,也不是很?fù)雜。所以作為一個(gè)綜合的程序員,學(xué)習(xí)數(shù)據(jù)庫(kù)編程,像數(shù)據(jù)庫(kù)四大操作,增刪改查,還有觸發(fā)、存儲(chǔ)過(guò)程等的使用,這些都是基礎(chǔ)的基矗很多時(shí)候我們會(huì)認(rèn)為數(shù)據(jù)庫(kù)沒(méi)什么作用,學(xué)習(xí)的時(shí)候吊兒郎當(dāng),到今年做項(xiàng)目時(shí),還不會(huì)連接查詢,要想避免這種情況發(fā)生就必須打好基礎(chǔ),扎實(shí)的掌握每個(gè)知識(shí)點(diǎn)。

只要你從事計(jì)算機(jī)行業(yè),就需要學(xué)習(xí)好數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),不論以后選擇哪個(gè)方向,數(shù)據(jù)庫(kù)的學(xué)習(xí)都不能放松。古人云:書(shū)到用時(shí)方恨少,知識(shí)學(xué)多了不會(huì)成為累贅,慢慢的積累,總有用到的時(shí)候。給自己明確一個(gè)目標(biāo),剩下的就是向著這個(gè)目標(biāo)努力,無(wú)論遇到什么困難,克服它就向成功邁進(jìn)了一步。

下載數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié)word格式文檔
下載數(shù)據(jù)庫(kù) 學(xué)習(xí)總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    數(shù)據(jù)庫(kù)培訓(xùn)學(xué)習(xí)總結(jié)

    數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié) 趙縣職業(yè)中專學(xué)校:劉偉娟 轉(zhuǎn)眼間對(duì)于數(shù)據(jù)庫(kù)的學(xué)習(xí)結(jié)束了。劉老師殷殷的教誨讓我感觸很深。對(duì)于我來(lái)說(shuō)數(shù)據(jù)庫(kù)是一個(gè)新的概念,因此一開(kāi)始對(duì)這門課程的第一印象就......

    數(shù)據(jù)庫(kù)總結(jié)

    數(shù)據(jù)庫(kù)老師畫(huà)的重點(diǎn) 數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織、可共享的大數(shù)據(jù)集合。 數(shù)據(jù)庫(kù)操縱功能:查詢select、插入insert、刪除delete、修改update 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):1......

    數(shù)據(jù)庫(kù)總結(jié)

    數(shù)據(jù)庫(kù)總結(jié):共三天的課程 數(shù)據(jù)庫(kù)的概念:數(shù)據(jù)庫(kù)是一組有序的數(shù)據(jù)的集合; 數(shù)據(jù)庫(kù)的作用:為了有效的管理數(shù)據(jù); 數(shù)據(jù)類型: 一 字符串相關(guān)的類型:一般用于人名、大于2147483647(10位數(shù))的......

    數(shù)據(jù)庫(kù)學(xué)習(xí)心得體會(huì)大全

    數(shù)據(jù)庫(kù)學(xué)習(xí)心得體會(huì)這學(xué)期我們學(xué)習(xí)了數(shù)據(jù)庫(kù)應(yīng)用教程這門課,以前并不知道這門課是干什么的,也不懂得什么是數(shù)據(jù)庫(kù),通過(guò)這一學(xué)期的學(xué)習(xí),雖然了解的不是非常多,但也有了初步的一點(diǎn)認(rèn)......

    數(shù)據(jù)庫(kù)學(xué)習(xí)經(jīng)驗(yàn)

    1很佩服你的眼光,作為一個(gè)女孩子,你選擇數(shù)據(jù)庫(kù)這個(gè)方向是正確的,社會(huì)信息化的步伐不斷向前邁進(jìn),而信息化中最重要的東西就是信息,絕大部分的信息又都是存儲(chǔ)在數(shù)據(jù)庫(kù)中,選好了方向......

    學(xué)習(xí)oracle數(shù)據(jù)庫(kù)的總結(jié)(圖文整理)(定稿)

    1、在開(kāi)發(fā)環(huán)境中連接到數(shù)據(jù)庫(kù),進(jìn)行基本的select查詢操作; 2、熟悉plsql的使用; 3、熟悉sqlplus相關(guān)命令(登錄、查詢、導(dǎo)入導(dǎo)出等) 登錄sqlplus: 第一:使用dos窗口登錄sqlplus Sqlp......

    數(shù)據(jù)庫(kù)課程設(shè)計(jì)總結(jié)

    課 程 設(shè) 計(jì) 報(bào) 告課程名稱數(shù)據(jù)庫(kù)課程設(shè)計(jì)—總結(jié)題目個(gè)人CD盤(pán)管理系統(tǒng)_________________________________ 指導(dǎo)教師設(shè)計(jì)起止日期學(xué)院計(jì)算機(jī)學(xué)院 系別專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)......

    數(shù)據(jù)庫(kù)課程總結(jié)范文大全

    數(shù)據(jù)庫(kù)課程總結(jié) 軟件0701 07301024 楊彥妍 在學(xué)習(xí)數(shù)據(jù)庫(kù)之前一直覺(jué)得數(shù)據(jù)庫(kù)沒(méi)有什么深入研究的價(jià)值,覺(jué)得無(wú)非是將數(shù)據(jù)存起來(lái)進(jìn)行增刪改查的操作就是了。直到真正接觸到了數(shù)......

主站蜘蛛池模板: 日韩精品无码一本二本三本色| 免费高清欧美一区二区三区| 国产精品久久久久9999高清| 免费无码av片在线观看网址| 99热在线观看| 欧美日韩亚洲中文字幕一区二区三区| av中文字幕潮喷人妻系列| 无码国内精品久久人妻| 熟女少妇内射日韩亚洲| 人妻熟妇乱又伦精品无码专区| 少妇真人直播免费视频| 337p日本大胆欧洲亚洲色噜噜| 无码人妻aⅴ一区二区三区69岛| 久久精品人人槡人妻人| 久久久精品国产sm最大网站| 欧美成人猛片aaaaaaa| 亚洲gv白嫩小受在线观看| 99re6这里有精品热视频| 免费网站观看www在线观看| 国产精品无码久久四虎| 秋霞在线视频| 野花社区在线www日本| 久久亚洲粉嫩高潮的18p| 韩国国内大量揄拍精品视频| 久久久久成人网站| 亚洲无线码一区二区三区| 国产超碰人人做人人爱ⅴa| 国产欧美国产精品第一区| 国产欲女高潮正在播放| 激情综合五月| a级无遮挡超级高清-在线观看| 久久伊人少妇熟女大香线蕉| 久久久亚洲色| 性色做爰片在线观看ww| 亚洲最大av一区二区三区| 成熟老妇女视频| 国产美女裸体无遮挡免费视频高潮| 国产精品国产免费无码专区不卡| 在线日韩av永久免费观看| 日日碰狠狠躁久久躁蜜桃| gv天堂gv无码男同在线观看|