數(shù)據(jù)庫培訓(xùn)課件_第1頁
數(shù)據(jù)庫培訓(xùn)課件_第2頁
數(shù)據(jù)庫培訓(xùn)課件_第3頁
數(shù)據(jù)庫培訓(xùn)課件_第4頁
數(shù)據(jù)庫培訓(xùn)課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫數(shù)據(jù)庫第2頁1、安裝2、基本概念數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)模型數(shù)據(jù)模型的三要素關(guān)系模型3、事務(wù)數(shù)據(jù)庫一.?dāng)?shù)據(jù)庫基本知識第2頁1、安裝數(shù)據(jù)庫一.?dāng)?shù)據(jù)庫基本知識數(shù)據(jù)庫數(shù)據(jù)定義語言(DDLDataDefinitionLanguage)

例如:CREATE、DROP、ALTER等語句。數(shù)據(jù)操作語言(DMLDataManipulationLanguage)

例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。數(shù)據(jù)查詢語言(DQLDataQueryLanguage)

例如:SELECT語句。數(shù)據(jù)控制語言(DCLDataControlLanguage)

例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。第3頁二.SQL數(shù)據(jù)庫數(shù)據(jù)定義語言(DDLDataDefiniti數(shù)據(jù)庫數(shù)據(jù)庫安裝文檔SqlPlus(客戶端),命令行直接輸入:sqlplus,然后按提示輸入用戶名,密碼。從開始程序運行:sqlplus,是圖形版的sqlplus.http://localhost:5560/isqlplusPlSqlDeveloper用法(重點),數(shù)據(jù)庫導(dǎo)入導(dǎo)出,pdmalteruserscottaccountunlock;解鎖scott密碼為tiger第4頁安裝數(shù)據(jù)庫數(shù)據(jù)庫安裝文檔第4頁安裝第5頁數(shù)據(jù)庫基本知識——基本概念

描述事物的符號,數(shù)字、文字、圖表、圖像、聲音等都是數(shù)據(jù)。數(shù)據(jù)的形式本身并不能完全表達其內(nèi)容,需要經(jīng)過語義解釋,數(shù)據(jù)與其語義是不可分的數(shù)據(jù)(Data)數(shù)據(jù)庫(DB即Database)數(shù)據(jù)庫是長期存儲在計算機內(nèi)有結(jié)構(gòu)的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享、具有最小冗余度和較高的數(shù)據(jù)獨立性第5頁數(shù)據(jù)庫基本知識——基本概念描述事物的符號第6頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)庫管理系統(tǒng)(DBMS)

DatabaseManagementSystem,是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)使用戶能方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫系統(tǒng)(DBS)

DatabaseSystem,狹義地講是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶構(gòu)成,廣義地講是由計算機、硬件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及在它支持下建立起來的數(shù)據(jù)庫應(yīng)用程序、用戶和維護人員組成的一個整體第6頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)庫管理系統(tǒng)(DBMS)第7頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型數(shù)據(jù)(Data)是描述事物的符號記錄。模型(Model)是現(xiàn)實世界的抽象。數(shù)據(jù)模型(DataModel)也是一種模型,它是現(xiàn)實世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型通常都由數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作和完整性三個要素組成。數(shù)據(jù)庫模型的三要素1.數(shù)據(jù)結(jié)構(gòu)2.數(shù)據(jù)操作3.完整性約束

第7頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型數(shù)據(jù)(Data)是描第8頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型的三要素數(shù)據(jù)結(jié)構(gòu):用于描述系統(tǒng)的靜態(tài)特性,研究與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,例如關(guān)系模型中的域、屬性、關(guān)系等。數(shù)據(jù)操作:數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。數(shù)據(jù)的約束條件:數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。第8頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型的三要素數(shù)據(jù)結(jié)構(gòu):第9頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型按不同的應(yīng)用層次分類:概念數(shù)據(jù)模型LodicalDataModel

數(shù)據(jù)模型,是面向數(shù)據(jù)庫用戶的現(xiàn)實世界的模型。E—R模型邏輯數(shù)據(jù)模型

數(shù)據(jù)模型,用戶從數(shù)據(jù)庫中所看到的模型。是具體的DBMS所支持的數(shù)據(jù)模型。

層次數(shù)據(jù)模型(HierarchicalDataModel樹形圖)網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)

關(guān)系模型物理數(shù)據(jù)模型PhysicalDataModel

物理模型,是面向計算機的物理表示的模型,描述了數(shù)據(jù)在存儲介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。第9頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型按不同的應(yīng)用層次分類第10頁數(shù)據(jù)庫基本知識——基本概念層次模型網(wǎng)狀模型關(guān)系模型層次模型網(wǎng)狀模型關(guān)系模型特點它的特點是將數(shù)據(jù)組織成一對多關(guān)系的結(jié)構(gòu)用連接指令或指針來確定數(shù)據(jù)間的顯式連接關(guān)系,是具有多對多類型的數(shù)據(jù)組織方式為非結(jié)構(gòu)化的結(jié)構(gòu),用單一的二維表的結(jié)構(gòu)表示實體及實體之間的聯(lián)系。優(yōu)點存取方便且速度快結(jié)構(gòu)清晰,容易理解數(shù)據(jù)修改和數(shù)據(jù)庫擴展容易實現(xiàn)檢索關(guān)鍵屬性十分方便能明確而方便地表示數(shù)據(jù)間的復(fù)雜關(guān)系數(shù)據(jù)冗余小結(jié)構(gòu)特別靈活,滿足所有布爾邏輯運算和數(shù)學(xué)運算規(guī)則形成的查詢要求能搜索、組合和比較不同類型的數(shù)據(jù)增加和刪除數(shù)據(jù)非常方便缺點結(jié)構(gòu)呆板,缺乏靈活性同一屬性數(shù)據(jù)要存儲多次,數(shù)據(jù)冗余大(如公共邊)不適合于拓撲空間數(shù)據(jù)的組織網(wǎng)狀結(jié)構(gòu)的復(fù)雜,增加了用戶查詢和定位的困難。需要存儲數(shù)據(jù)間聯(lián)系的指針,使得數(shù)據(jù)量增大數(shù)據(jù)的修改不方便(指針必須修改)數(shù)據(jù)庫大時,查找滿足特定關(guān)系的數(shù)據(jù)費時對空間關(guān)系無法滿足第10頁數(shù)據(jù)庫基本知識——基本概念層次模型網(wǎng)狀模型關(guān)系模型層第11頁數(shù)據(jù)庫基本知識——基本概念關(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):一個關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。表中的一行即為一個元組;表中的一列即為一個屬性。操縱及完整性約束:關(guān)系數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合。關(guān)系模型把存取路徑向用戶隱蔽起來,用戶只要指出“干什么”,不必詳細說明“怎么干”,從而大大地提高了數(shù)據(jù)的獨立性。關(guān)系數(shù)據(jù)庫標(biāo)準操作語言是SQL語言。存儲結(jié)構(gòu):關(guān)系數(shù)據(jù)模型中,實體及實體間的聯(lián)系都用表來表示。在數(shù)據(jù)庫的物理組織中,表以文件形式存儲,每一個表通常對應(yīng)一種文件結(jié)構(gòu)。第11頁數(shù)據(jù)庫基本知識——基本概念關(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):一第12頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)(Transaction)概念

是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit);

在關(guān)系數(shù)據(jù)庫中,一個事物可以是一條SQL語句,一組SQL語句或者整個程序;

分類

隱式事務(wù):又稱自動提交事務(wù);如果運行一條INSERT語句,SQLServer將把它包裝到事務(wù)中,如果此INSERT語句失敗,SQLServer將回滾或取消這個事務(wù).每條SQL語句均被視為一個自身的事務(wù).

顯式事務(wù):在顯示事務(wù)中事務(wù)的開始與結(jié)束語句必須成對出現(xiàn),否則會出現(xiàn)錯誤。是一種由你自己指定的事務(wù).這種事務(wù)允許你自己決定哪批工作必須成功完成,否則所有部分都不完成.為了給自己的事務(wù)定界,可以使用關(guān)鍵字BEGINTRANSACTION和ROLLBACKTRANSACTION或COMMITTRANSACTION.引入原因

當(dāng)我們對表中數(shù)據(jù)進行修改時,當(dāng)需要同時完成對多個表的數(shù)據(jù)修改時,即,一個表成功,另外表也成功,一個不成功,均不成功,則需要引入事務(wù)的概念,主要是解決數(shù)據(jù)的一致性。兩種事務(wù)處理

Commit(提交) Rollback(回滾)第12頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)(Transaction)第13頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)的四個屬性(ACID)原子性(atomicity)

一個事務(wù)是一個不可分割的工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。一致性(consistency)

事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。一致性與原子性是密切相關(guān)的。隔離性(isolation)

一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。持久性(durability)

持續(xù)性也稱永久性(permanence),指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其有任何影響。第13頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)的四個屬性(ACID)原子第14頁第14頁數(shù)據(jù)庫基本知識——SQLSQLStructuredQueryLanguageSql

結(jié)構(gòu)化查詢語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。同時也是數(shù)據(jù)庫腳本文件的擴展名。SQL語言包含4個部分:數(shù)據(jù)定義語言(DDL),提供定義關(guān)系模式、刪除關(guān)系以及修改關(guān)系模式的命令。

例如:CREATE、DROP、ALTER等語句。數(shù)據(jù)操作語言(DML),包括基于關(guān)系代數(shù)和元祖關(guān)系演算的查詢語言,還包括在數(shù)據(jù)庫中插入、刪除、修改元祖的命令。

例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。數(shù)據(jù)查詢語言(DQL),

例如:SELECT語句。數(shù)據(jù)控制語言(DCL),用于控制對數(shù)據(jù)庫對象操作的權(quán)限,它使用GRANT和REVOKE語句對用戶或用戶組授予或回收數(shù)據(jù)庫對象的權(quán)限。

例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。第14頁第14頁數(shù)據(jù)庫基本知識——SQLSQLStruct第15頁DDL——基本概念DDL(數(shù)據(jù)定義語言)DataDefinitionLanguage用于定義SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作表名:1-30個字符類型:varchar2、number、date、blob修改一個表的缺省值時只能影響后插入到表中的數(shù)據(jù),不影響原有的數(shù)據(jù)大表刪除一個字段時需要較長的時間,可以先給unused后再進行刪除比如:altertable表名setunusedcolumn字段--將字段設(shè)為不可用

Altertable表名dropunusedcolumns--刪除不可用字段truncatetable表名–刪除表所有記錄回收表空間注釋: Commentontable表名is‘’第15頁DDL——基本概念DDL(數(shù)據(jù)定義語言)DataD第16頁DDL——創(chuàng)建表--Createtable

create

tableAA14

(

AAB001VARCHAR2(14)not

null,

AAB321VARCHAR2(6),

AAA035NUMBER(5,4),

AAE041VARCHAR2(6)not

null,

AAE042VARCHAR2(6),

AAE011VARCHAR2(20),

AAE036DATE

)

tablespaceUSERS

pctfree10

initrans1

maxtrans255

storage

(

initial64K

minextents1

maxextents

unlimited

);

第16頁DDL——創(chuàng)建表--Createtable

cr第17頁DDL——添加注釋--AddcommentstothetablecommentontableAA14is'工傷保險單位浮動費率表';--AddcommentstothecolumnscommentoncolumnAA14.AAB001is'單位編號';commentoncolumnAA14.AAB321is'行業(yè)風(fēng)險類型';commentoncolumnAA14.AAA035is'浮動費率';commentoncolumnAA14.AAE041is'開始年月';commentoncolumnAA14.AAE042is'終止年月';commentoncolumnAA14.AAE011is'經(jīng)辦人';commentoncolumnAA14.AAE036is'經(jīng)辦日期';第17頁DDL——添加注釋--Addcommentst第18頁DDL——主鍵--Create/RecreateprimarykeyconstraintsaltertableAA14addconstraintPK_AA14primarykey(AAB001,AAE041)usingindextablespaceUSERSpctfree10initrans2maxtrans255storage(initial64Kminextents1maxextentsunlimited);第18頁DDL——主鍵--Create/Recreate第19頁DDL——外鍵--Create/RecreateforeignkeyconstraintsaltertableAA14addconstraintFK_AA14_AA141foreignkey(AAB001)referencesAA141(AAB001);第19頁DDL——外鍵--Create/Recreate第20頁DDL——唯一約束--Create/RecreateuniquekeyconstraintsaltertableSEC_USERaddconstraintUQ_SEC_USER_USERNAME_unique(USERNAME_)usingindextablespaceUSERSpctfree10initrans2maxtrans255storage(initial64Kminextents1maxextentsunlimited);第20頁DDL——唯一約束--Create/Recreat第21頁DDL——索引通過對表的某一個或某一些字段添加索引能加快對數(shù)據(jù)庫的查詢速度。創(chuàng)建索引的優(yōu)點通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因可以加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義在使用分組和排序子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能創(chuàng)建索引的缺點創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大當(dāng)對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)的維護,這樣就降低了數(shù)據(jù)的維護速度。

第21頁DDL——索引通過對表的某一個或某一些字段添加索引能第22頁DDL——索引索引是建立在數(shù)據(jù)庫表中的某些列上的適合創(chuàng)建索引的列在經(jīng)常需要搜索的列上,可以加快搜索的速度在作為主鍵的列上,強制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu)在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度在經(jīng)常需要根據(jù)范圍進行搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的在經(jīng)常需要排序的列上創(chuàng)建索引,因為索引已經(jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時間在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。不適合創(chuàng)建立索引的列對于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引對于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引對于那些定義為text,image和bit數(shù)據(jù)類型的列不應(yīng)該增加索引當(dāng)修改性能遠遠大于檢索性能時,不應(yīng)該創(chuàng)建索引

第22頁DDL——索引索引是建立在數(shù)據(jù)庫表中的某些列上的第23頁DDL——索引創(chuàng)建索引的語法創(chuàng)建索引的標(biāo)準語法: CREATEINDEX索引名ON表名(列名) TABLESPACE表空間名;創(chuàng)建唯一索引: CREATEuniqueINDEX索引名ON表名(列名) TABLESPACE表空間名;創(chuàng)建組合索引: CREATEINDEX索引名ON表名(列名1,列名2) TABLESPACE表空間名;

第23頁DDL——索引創(chuàng)建索引的語法第24頁DML——基本概念DML(數(shù)據(jù)操作語言)概念

DataManipulationLanguage,使用戶能夠操作已有數(shù)據(jù)庫中數(shù)據(jù)的計算機語言。分類 INSERT語句 UPDATE語句 DELETE語句第24頁DML——基本概念DML(數(shù)據(jù)操作語言)概念第25頁DML——INSERT語句INSERT語句

可以向數(shù)據(jù)庫表中插入記錄INSERT完整語法INSERT[INTO]{TABLE_NAME|VIEW_NAME}[(COLUMN_LIST)]{VALUES(VALUES_LIST)|SELECT_STATEMENT}一次一行出現(xiàn)空值的情況: 不明確寫出列名,則默認插入空值,除非有默認值 明確寫出列名,values(NULL)給定空值第25頁DML——INSERT語句INSERT語句INSER第26頁DML——UPDATE語句UPDATE語句

更新數(shù)據(jù)庫中的數(shù)據(jù)UPDATE完整語法UPDATE{TABLE_NAME|VIEW_NAME}SET[{TABLE_NAME|VIEW_NAME}]{COLUMN_LIST|VARIABLE_LIST}=expression[WHERE…]第26頁DML——UPDATE語句UPDATE語句UPDAT第27頁DML——DELETE語句DELETE語句

刪除數(shù)據(jù)庫中的記錄DELETE完整語法DELETE[FROM]TABLE_NAMEWHERESEARCH_CONDITIONS當(dāng)刪除主表記錄時,如果子表有對應(yīng)的記錄,可能會報錯第27頁DML——DELETE語句DELETE語句DELET第28頁第28頁DQL——基本概念DQL(數(shù)據(jù)查詢語言)概念

DataQueryLanguage,使用戶能夠查詢已有數(shù)據(jù)庫中數(shù)據(jù)的計算機語言。分類 SELECT語句select*fromdual;

第28頁第28頁DQL——基本概念DQL(數(shù)據(jù)查詢語言)概念第29頁DML——SELECT語句SELECT語句SQL語言中的查詢語句,是SQL語言最主要、最核心的語句SELECT完整語法SELECT[ALL|DISTINCT]{*|table.*|[table.]field1[AS

alias1][,[table.]field2[AS

alias2][,…]]}FROM

tableexpression[,…][WHERE…]

[GROUP

BY…]

[HAVING…]

[ORDER

BY…]第29頁DML——SELECT語句SELECT語句SELEC第30頁DML——SELECT語句1.語句中的關(guān)鍵字、字段、表名不區(qū)分大小寫2.取出的字段可以用+-*/進行運算Select1*2fromdual;3.可以用distinct過濾重復(fù)記錄Selectdistinctdmmcfromgg_dmnr;4.語句后用分號作結(jié)束符5.可以跨行寫,但是關(guān)鍵字不能跨行6.null和0及空格的區(qū)別 null:沒有存儲任何內(nèi)容,有null參與的運算,其結(jié)果仍為null 0及空格:分配存儲空間7.查詢空值時用isnull非空isnotnull;8.rownum,rowid9.%第30頁DML——SELECT語句1.語句中的關(guān)鍵字、字段、第31頁DML——SELECT語句nvl,decodeselectnvl(gsjc,'aa'),gsjcfromjc_gysxx;selectsybz,decode(sybz,-1,'新注冊',1,'待審批',2,'正式用戶','已凍結(jié)')smfromjc_gysxx第31頁DML——SELECT語句nvl,decode第32頁DML——SELECT語句to_date,to_char,substr

--字符串轉(zhuǎn)換成dateselectto_date('20141018101111','yyyy-MM-ddHH24:mi:ss')fromdual;selectto_char(sysdate,'YYYYMMDDHH24MISS')fromdualselectsubstr(‘a(chǎn)bcde’,2,3)fromdual;從第二字符截,一共截三個字符.第32頁DML——SELECT語句to_date,to_第33頁DML——SELECT語句max,min,avg,count,sum函數(shù)

selectmax(sxh)fromgg_dmnrwherefid='0048';

selectcount(*)fromgg_dmnrwherefid='0048';selectcount(dmmc)fromgg_dmnr;count某個字段,如果這個字段不為空就算一個.selectcount(distinctdmmc)fromgg_dmnr;selectsum(scjg)fromfa_business_orderdetailt;selectround(avg(scjg),2)fromfa_business_orderdetailt;第33頁DML——SELECT語句max,min,avg,第34頁DML——SELECT語句Groupby語句需求:現(xiàn)在想求,求每個機構(gòu)類型平均注冊獎金.selectavg(zczj)fromjc_gysxxgroupbyjglx;selectavg(zczj),jglxfromjc_gysxxgroupbyjglx

求注冊獎金最高的公司.selectgsmc,max(zczj)fromjc_gysxx;出錯,因為max只有一個值,但等于max值的人可能好幾個,不能匹配.

應(yīng)如下求:selectgsmcfromjc_gysxxwherezczj=(selectmax(zczj)fromjc_gysxx;Groupby語句應(yīng)注意,

出現(xiàn)在select中的字段,如果沒出現(xiàn)在組函數(shù)中,必須出現(xiàn)在Groupby語句中.第34頁DML——SELECT語句Groupby語句第35頁DML——表連接表連接

通過表連接運算符可以實現(xiàn)多表查詢。表連接是關(guān)系數(shù)據(jù)庫模型的主要特點,也是它區(qū)別于其它類型數(shù)據(jù)庫管理系統(tǒng)的一個標(biāo)志關(guān)聯(lián)多表提取數(shù)據(jù)分為:內(nèi)連接(相等及不等連接)、外連接(顯示不滿足條件的記錄),交叉連接如果不加where條件,將出現(xiàn)T1(allrow)×T2(allrow),笛卡爾乘積,一般情況下是沒有實際意義當(dāng)n個表連接時,需要n-1個連接條件第35頁DML——表連接表連接關(guān)聯(lián)多表提取數(shù)據(jù)第36頁DML——表連接內(nèi)連接(相等)語法:

selecttable1.column,table2.columnfromtable1,table2wheretable1.column1=table2.column2and…例如:selectgys.*,lxr.*fromjc_gysxxgys,jc_gyslxrlxrwheregys.id=lxr.gysbh;第36頁DML——表連接內(nèi)連接(相等)語法:第37頁DML——表連接內(nèi)連接(非等)非等條件:>=><=<between第37頁DML——表連接內(nèi)連接(非等)非等條件:>=><第38頁DML——表連接外連接(使用+)(+)只能放置在=號一邊,緊跟在沒有匹配列的列名后顯示(+)對端表的全部信息(左連接(等號的右邊)、右連接(等號的左邊))deletejc_gyslxrwheregysbh=(selectidfromjc_gysxxwheregsmc='深圳市網(wǎng)安計算機安全檢測技術(shù)有限公司‘;selectgys.gsmc,lxr.mcfromjc_gysxxgys,jc_gyslxrlxrwheregys.id=lxr.gysbh(+)orderbymcdesc;第38頁DML——表連接外連接(使用+)(+)只能放置在=號第39頁DML——表連接自連接SELECT*FROMrouteR1,routeR2

WHERER1.num=R2.numANDR1.company=R2.companyselectd1.*fromgg_dmnrd1,gg_dmnrd2whered1.fid=d2.idandd2.dmmc=‘河南‘--d1相當(dāng)于子表

第39頁DML——表連接自連接SELECT*FROMr第40頁DML——子查詢子查詢一個查詢依賴于另一個查詢的結(jié)果,分為單行子查詢和多行子查詢select*fromjc_gyslxrwheregysbh=(selectidfromjc_gysxxwheregsmc='神州數(shù)碼(中國)有限公司')第40頁DML——子查詢子查詢一個查詢依賴于另一個查詢的結(jié)果第41頁DML——子查詢in、notin、exists、notexists第41頁DML——子查詢in、notin、existOracle導(dǎo)入導(dǎo)出

expuser/pwd@sidfilc=c:\xx.dmpowner=userimp

user/pwd@sidfile=c:\xx.dmpignore=y;第42頁Oracle導(dǎo)入導(dǎo)出

expuser/pwd@sidf第43頁沒有了第43頁沒有了數(shù)據(jù)庫數(shù)據(jù)庫第45頁1、安裝2、基本概念數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)模型數(shù)據(jù)模型的三要素關(guān)系模型3、事務(wù)數(shù)據(jù)庫一.?dāng)?shù)據(jù)庫基本知識第2頁1、安裝數(shù)據(jù)庫一.?dāng)?shù)據(jù)庫基本知識數(shù)據(jù)庫數(shù)據(jù)定義語言(DDLDataDefinitionLanguage)

例如:CREATE、DROP、ALTER等語句。數(shù)據(jù)操作語言(DMLDataManipulationLanguage)

例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。數(shù)據(jù)查詢語言(DQLDataQueryLanguage)

例如:SELECT語句。數(shù)據(jù)控制語言(DCLDataControlLanguage)

例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。第46頁二.SQL數(shù)據(jù)庫數(shù)據(jù)定義語言(DDLDataDefiniti數(shù)據(jù)庫數(shù)據(jù)庫安裝文檔SqlPlus(客戶端),命令行直接輸入:sqlplus,然后按提示輸入用戶名,密碼。從開始程序運行:sqlplus,是圖形版的sqlplus.http://localhost:5560/isqlplusPlSqlDeveloper用法(重點),數(shù)據(jù)庫導(dǎo)入導(dǎo)出,pdmalteruserscottaccountunlock;解鎖scott密碼為tiger第47頁安裝數(shù)據(jù)庫數(shù)據(jù)庫安裝文檔第4頁安裝第48頁數(shù)據(jù)庫基本知識——基本概念

描述事物的符號,數(shù)字、文字、圖表、圖像、聲音等都是數(shù)據(jù)。數(shù)據(jù)的形式本身并不能完全表達其內(nèi)容,需要經(jīng)過語義解釋,數(shù)據(jù)與其語義是不可分的數(shù)據(jù)(Data)數(shù)據(jù)庫(DB即Database)數(shù)據(jù)庫是長期存儲在計算機內(nèi)有結(jié)構(gòu)的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享、具有最小冗余度和較高的數(shù)據(jù)獨立性第5頁數(shù)據(jù)庫基本知識——基本概念描述事物的符號第49頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)庫管理系統(tǒng)(DBMS)

DatabaseManagementSystem,是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)使用戶能方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫系統(tǒng)(DBS)

DatabaseSystem,狹義地講是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶構(gòu)成,廣義地講是由計算機、硬件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及在它支持下建立起來的數(shù)據(jù)庫應(yīng)用程序、用戶和維護人員組成的一個整體第6頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)庫管理系統(tǒng)(DBMS)第50頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型數(shù)據(jù)(Data)是描述事物的符號記錄。模型(Model)是現(xiàn)實世界的抽象。數(shù)據(jù)模型(DataModel)也是一種模型,它是現(xiàn)實世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型通常都由數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作和完整性三個要素組成。數(shù)據(jù)庫模型的三要素1.數(shù)據(jù)結(jié)構(gòu)2.數(shù)據(jù)操作3.完整性約束

第7頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型數(shù)據(jù)(Data)是描第51頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型的三要素數(shù)據(jù)結(jié)構(gòu):用于描述系統(tǒng)的靜態(tài)特性,研究與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,例如關(guān)系模型中的域、屬性、關(guān)系等。數(shù)據(jù)操作:數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。數(shù)據(jù)的約束條件:數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。第8頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型的三要素數(shù)據(jù)結(jié)構(gòu):第52頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型按不同的應(yīng)用層次分類:概念數(shù)據(jù)模型LodicalDataModel

數(shù)據(jù)模型,是面向數(shù)據(jù)庫用戶的現(xiàn)實世界的模型。E—R模型邏輯數(shù)據(jù)模型

數(shù)據(jù)模型,用戶從數(shù)據(jù)庫中所看到的模型。是具體的DBMS所支持的數(shù)據(jù)模型。

層次數(shù)據(jù)模型(HierarchicalDataModel樹形圖)網(wǎng)狀數(shù)據(jù)模型(NetworkDataModel)

關(guān)系模型物理數(shù)據(jù)模型PhysicalDataModel

物理模型,是面向計算機的物理表示的模型,描述了數(shù)據(jù)在存儲介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。第9頁數(shù)據(jù)庫基本知識——基本概念數(shù)據(jù)模型按不同的應(yīng)用層次分類第53頁數(shù)據(jù)庫基本知識——基本概念層次模型網(wǎng)狀模型關(guān)系模型層次模型網(wǎng)狀模型關(guān)系模型特點它的特點是將數(shù)據(jù)組織成一對多關(guān)系的結(jié)構(gòu)用連接指令或指針來確定數(shù)據(jù)間的顯式連接關(guān)系,是具有多對多類型的數(shù)據(jù)組織方式為非結(jié)構(gòu)化的結(jié)構(gòu),用單一的二維表的結(jié)構(gòu)表示實體及實體之間的聯(lián)系。優(yōu)點存取方便且速度快結(jié)構(gòu)清晰,容易理解數(shù)據(jù)修改和數(shù)據(jù)庫擴展容易實現(xiàn)檢索關(guān)鍵屬性十分方便能明確而方便地表示數(shù)據(jù)間的復(fù)雜關(guān)系數(shù)據(jù)冗余小結(jié)構(gòu)特別靈活,滿足所有布爾邏輯運算和數(shù)學(xué)運算規(guī)則形成的查詢要求能搜索、組合和比較不同類型的數(shù)據(jù)增加和刪除數(shù)據(jù)非常方便缺點結(jié)構(gòu)呆板,缺乏靈活性同一屬性數(shù)據(jù)要存儲多次,數(shù)據(jù)冗余大(如公共邊)不適合于拓撲空間數(shù)據(jù)的組織網(wǎng)狀結(jié)構(gòu)的復(fù)雜,增加了用戶查詢和定位的困難。需要存儲數(shù)據(jù)間聯(lián)系的指針,使得數(shù)據(jù)量增大數(shù)據(jù)的修改不方便(指針必須修改)數(shù)據(jù)庫大時,查找滿足特定關(guān)系的數(shù)據(jù)費時對空間關(guān)系無法滿足第10頁數(shù)據(jù)庫基本知識——基本概念層次模型網(wǎng)狀模型關(guān)系模型層第54頁數(shù)據(jù)庫基本知識——基本概念關(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):一個關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。表中的一行即為一個元組;表中的一列即為一個屬性。操縱及完整性約束:關(guān)系數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合。關(guān)系模型把存取路徑向用戶隱蔽起來,用戶只要指出“干什么”,不必詳細說明“怎么干”,從而大大地提高了數(shù)據(jù)的獨立性。關(guān)系數(shù)據(jù)庫標(biāo)準操作語言是SQL語言。存儲結(jié)構(gòu):關(guān)系數(shù)據(jù)模型中,實體及實體間的聯(lián)系都用表來表示。在數(shù)據(jù)庫的物理組織中,表以文件形式存儲,每一個表通常對應(yīng)一種文件結(jié)構(gòu)。第11頁數(shù)據(jù)庫基本知識——基本概念關(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu):一第55頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)(Transaction)概念

是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit);

在關(guān)系數(shù)據(jù)庫中,一個事物可以是一條SQL語句,一組SQL語句或者整個程序;

分類

隱式事務(wù):又稱自動提交事務(wù);如果運行一條INSERT語句,SQLServer將把它包裝到事務(wù)中,如果此INSERT語句失敗,SQLServer將回滾或取消這個事務(wù).每條SQL語句均被視為一個自身的事務(wù).

顯式事務(wù):在顯示事務(wù)中事務(wù)的開始與結(jié)束語句必須成對出現(xiàn),否則會出現(xiàn)錯誤。是一種由你自己指定的事務(wù).這種事務(wù)允許你自己決定哪批工作必須成功完成,否則所有部分都不完成.為了給自己的事務(wù)定界,可以使用關(guān)鍵字BEGINTRANSACTION和ROLLBACKTRANSACTION或COMMITTRANSACTION.引入原因

當(dāng)我們對表中數(shù)據(jù)進行修改時,當(dāng)需要同時完成對多個表的數(shù)據(jù)修改時,即,一個表成功,另外表也成功,一個不成功,均不成功,則需要引入事務(wù)的概念,主要是解決數(shù)據(jù)的一致性。兩種事務(wù)處理

Commit(提交) Rollback(回滾)第12頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)(Transaction)第56頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)的四個屬性(ACID)原子性(atomicity)

一個事務(wù)是一個不可分割的工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。一致性(consistency)

事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。一致性與原子性是密切相關(guān)的。隔離性(isolation)

一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。持久性(durability)

持續(xù)性也稱永久性(permanence),指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其有任何影響。第13頁數(shù)據(jù)庫基本知識——事務(wù)事務(wù)的四個屬性(ACID)原子第57頁第57頁數(shù)據(jù)庫基本知識——SQLSQLStructuredQueryLanguageSql

結(jié)構(gòu)化查詢語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。同時也是數(shù)據(jù)庫腳本文件的擴展名。SQL語言包含4個部分:數(shù)據(jù)定義語言(DDL),提供定義關(guān)系模式、刪除關(guān)系以及修改關(guān)系模式的命令。

例如:CREATE、DROP、ALTER等語句。數(shù)據(jù)操作語言(DML),包括基于關(guān)系代數(shù)和元祖關(guān)系演算的查詢語言,還包括在數(shù)據(jù)庫中插入、刪除、修改元祖的命令。

例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。數(shù)據(jù)查詢語言(DQL),

例如:SELECT語句。數(shù)據(jù)控制語言(DCL),用于控制對數(shù)據(jù)庫對象操作的權(quán)限,它使用GRANT和REVOKE語句對用戶或用戶組授予或回收數(shù)據(jù)庫對象的權(quán)限。

例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。第14頁第14頁數(shù)據(jù)庫基本知識——SQLSQLStruct第58頁DDL——基本概念DDL(數(shù)據(jù)定義語言)DataDefinitionLanguage用于定義SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作表名:1-30個字符類型:varchar2、number、date、blob修改一個表的缺省值時只能影響后插入到表中的數(shù)據(jù),不影響原有的數(shù)據(jù)大表刪除一個字段時需要較長的時間,可以先給unused后再進行刪除比如:altertable表名setunusedcolumn字段--將字段設(shè)為不可用

Altertable表名dropunusedcolumns--刪除不可用字段truncatetable表名–刪除表所有記錄回收表空間注釋: Commentontable表名is‘’第15頁DDL——基本概念DDL(數(shù)據(jù)定義語言)DataD第59頁DDL——創(chuàng)建表--Createtable

create

tableAA14

(

AAB001VARCHAR2(14)not

null,

AAB321VARCHAR2(6),

AAA035NUMBER(5,4),

AAE041VARCHAR2(6)not

null,

AAE042VARCHAR2(6),

AAE011VARCHAR2(20),

AAE036DATE

)

tablespaceUSERS

pctfree10

initrans1

maxtrans255

storage

(

initial64K

minextents1

maxextents

unlimited

);

第16頁DDL——創(chuàng)建表--Createtable

cr第60頁DDL——添加注釋--AddcommentstothetablecommentontableAA14is'工傷保險單位浮動費率表';--AddcommentstothecolumnscommentoncolumnAA14.AAB001is'單位編號';commentoncolumnAA14.AAB321is'行業(yè)風(fēng)險類型';commentoncolumnAA14.AAA035is'浮動費率';commentoncolumnAA14.AAE041is'開始年月';commentoncolumnAA14.AAE042is'終止年月';commentoncolumnAA14.AAE011is'經(jīng)辦人';commentoncolumnAA14.AAE036is'經(jīng)辦日期';第17頁DDL——添加注釋--Addcommentst第61頁DDL——主鍵--Create/RecreateprimarykeyconstraintsaltertableAA14addconstraintPK_AA14primarykey(AAB001,AAE041)usingindextablespaceUSERSpctfree10initrans2maxtrans255storage(initial64Kminextents1maxextentsunlimited);第18頁DDL——主鍵--Create/Recreate第62頁DDL——外鍵--Create/RecreateforeignkeyconstraintsaltertableAA14addconstraintFK_AA14_AA141foreignkey(AAB001)referencesAA141(AAB001);第19頁DDL——外鍵--Create/Recreate第63頁DDL——唯一約束--Create/RecreateuniquekeyconstraintsaltertableSEC_USERaddconstraintUQ_SEC_USER_USERNAME_unique(USERNAME_)usingindextablespaceUSERSpctfree10initrans2maxtrans255storage(initial64Kminextents1maxextentsunlimited);第20頁DDL——唯一約束--Create/Recreat第64頁DDL——索引通過對表的某一個或某一些字段添加索引能加快對數(shù)據(jù)庫的查詢速度。創(chuàng)建索引的優(yōu)點通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因可以加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義在使用分組和排序子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能創(chuàng)建索引的缺點創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大當(dāng)對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)的維護,這樣就降低了數(shù)據(jù)的維護速度。

第21頁DDL——索引通過對表的某一個或某一些字段添加索引能第65頁DDL——索引索引是建立在數(shù)據(jù)庫表中的某些列上的適合創(chuàng)建索引的列在經(jīng)常需要搜索的列上,可以加快搜索的速度在作為主鍵的列上,強制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu)在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度在經(jīng)常需要根據(jù)范圍進行搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的在經(jīng)常需要排序的列上創(chuàng)建索引,因為索引已經(jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時間在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。不適合創(chuàng)建立索引的列對于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引對于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引對于那些定義為text,image和bit數(shù)據(jù)類型的列不應(yīng)該增加索引當(dāng)修改性能遠遠大于檢索性能時,不應(yīng)該創(chuàng)建索引

第22頁DDL——索引索引是建立在數(shù)據(jù)庫表中的某些列上的第66頁DDL——索引創(chuàng)建索引的語法創(chuàng)建索引的標(biāo)準語法: CREATEINDEX索引名ON表名(列名) TABLESPACE表空間名;創(chuàng)建唯一索引: CREATEuniqueINDEX索引名ON表名(列名) TABLESPACE表空間名;創(chuàng)建組合索引: CREATEINDEX索引名ON表名(列名1,列名2) TABLESPACE表空間名;

第23頁DDL——索引創(chuàng)建索引的語法第67頁DML——基本概念DML(數(shù)據(jù)操作語言)概念

DataManipulationLanguage,使用戶能夠操作已有數(shù)據(jù)庫中數(shù)據(jù)的計算機語言。分類 INSERT語句 UPDATE語句 DELETE語句第24頁DML——基本概念DML(數(shù)據(jù)操作語言)概念第68頁DML——INSERT語句INSERT語句

可以向數(shù)據(jù)庫表中插入記錄INSERT完整語法INSERT[INTO]{TABLE_NAME|VIEW_NAME}[(COLUMN_LIST)]{VALUES(VALUES_LIST)|SELECT_STATEMENT}一次一行出現(xiàn)空值的情況: 不明確寫出列名,則默認插入空值,除非有默認值 明確寫出列名,values(NULL)給定空值第25頁DML——INSERT語句INSERT語句INSER第69頁DML——UPDATE語句UPDATE語句

更新數(shù)據(jù)庫中的數(shù)據(jù)UPDATE完整語法UPDATE{TABLE_NAME|VIEW_NAME}SET[{TABLE_NAME|VIEW_NAME}]{COLUMN_LIST|VARIABLE_LIST}=expression[WHERE…]第26頁DML——UPDATE語句UPDATE語句UPDAT第70頁DML——DELETE語句DELETE語句

刪除數(shù)據(jù)庫中的記錄DELETE完整語法DELETE[FROM]TABLE_NAMEWHERESEARCH_CONDITIONS當(dāng)刪除主表記錄時,如果子表有對應(yīng)的記錄,可能會報錯第27頁DML——DELETE語句DELETE語句DELET第71頁第71頁DQL——基本概念DQL(數(shù)據(jù)查詢語言)概念

DataQueryLanguage,使用戶能夠查詢已有數(shù)據(jù)庫中數(shù)據(jù)的計算機語言。分類 SELECT語句select*fromdual;

第28頁第28頁DQL——基本概念DQL(數(shù)據(jù)查詢語言)概念第72頁DML——SELECT語句SELECT語句SQL語言中的查詢語句,是SQL語言最主要、最核心的語句SELECT完整語法SELECT[ALL|DISTINCT]{*|table.*|[table.]field1[AS

alias1][,[table.]field2[AS

alias2][,…]]}FROM

tableexpression[,…][WHERE…]

[GROUP

BY…]

[HAVING…]

[ORDER

BY…]第29頁DML——SELECT語句SELECT語句SELEC第73頁DML——SELECT語句1.語句中的關(guān)鍵字、字段、表名不區(qū)分大小寫2.取出的字段可以用+-*/進行運算Select1*2fromdual;3.可以用distinct過濾重復(fù)記錄Selectdistinctdmmcfromgg_dmnr;4.語句后用分號作結(jié)束符5.可以跨行寫,但是關(guān)鍵字不能跨行6.null和0及空格的區(qū)別 null:沒有存儲任何內(nèi)容,有null參與的運算,其結(jié)果仍為null 0及空格:分配存儲空間7.查詢空值時用isnull非空isnotnull;8.rownum,rowid9.%第30頁DML——SELECT語句1.語句中的關(guān)鍵字、字段、第74頁DML——SELECT語句nvl,decodeselectnvl(gsjc,'aa'),gsjcfromjc_gysxx;selectsybz,decode(sybz,-1,'新注冊',1,'待審批',2,'正式用戶','已凍結(jié)')smfromjc_gysxx第31頁DML——SELECT語句nvl,decode第75頁DML——SELECT語句to_date,to_char,substr

--字符串轉(zhuǎn)換成dateselectto_date('20141018101111','yyyy-MM-ddHH24:mi:ss')fromdual;selectto_char(sysdate,'YYYYMMDDHH24MISS')fromdualselectsubstr(‘a(chǎn)bcde’,2,3)fromdual;從第二字符截,一共截三個字符.第32頁DML——SELECT語句to_date,to_第76頁DML——SELECT語句max,min,avg,count,sum函數(shù)

溫馨提示

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

評論

0/150

提交評論