版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第11章
數(shù)據(jù)庫目錄2第一節(jié)文件和數(shù)據(jù)庫概念第二節(jié)數(shù)據(jù)管理工具第三節(jié)數(shù)據(jù)庫設計第四節(jié)SQL第五節(jié)云數(shù)據(jù)庫第六節(jié)大數(shù)據(jù)第一節(jié)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫概念數(shù)據(jù)庫層次數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫的分類數(shù)據(jù)庫模型數(shù)據(jù)庫概念數(shù)據(jù)庫(Database)是數(shù)據(jù)的集合,數(shù)據(jù)庫中的數(shù)據(jù)能夠按照特定的數(shù)據(jù)結(jié)構存儲,能對多個用戶共享,具有盡可能小的冗余度,且與應用程序彼此獨立。4第一節(jié)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫概念數(shù)據(jù)庫層次數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫的分類數(shù)據(jù)庫模型數(shù)據(jù)庫層次數(shù)據(jù)庫可以分為三個層次,不同類型的用戶接觸的層次不盡相同:6物理層物理層是數(shù)據(jù)庫最底層的抽象,它描述了數(shù)據(jù)是怎樣在物理介質(zhì)上存儲的。通常只有數(shù)據(jù)庫的研究人員才會接觸數(shù)據(jù)庫的物理層邏輯層邏輯層是比物理層的層次稍高的抽象。它描述了數(shù)據(jù)條目存儲的內(nèi)容及數(shù)據(jù)之間的關系。數(shù)據(jù)庫的管理者使用邏輯層進行管理。視圖層視圖層是最高層次的抽象,只關注于數(shù)據(jù)庫的某一部分。絕大部分數(shù)據(jù)庫用戶接觸到的是視圖層。第一節(jié)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫概念數(shù)據(jù)庫層次數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫的分類數(shù)據(jù)庫模型數(shù)據(jù)庫常用詞匯8字段記錄關系基數(shù)實體數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫常用詞匯:字段字段是數(shù)據(jù)庫的基本組成元素,存放著屬于同一類的信息。例如在iTunes播放列表中,名稱字段存儲的是歌曲的名稱,時間字段存儲的是歌曲的時長等。字段又分變長字段和定長字段。其中變長字段的長度可以根據(jù)輸入數(shù)據(jù)的長度動態(tài)分配,只要不超過預設的最大值。定長字段則會分配固定大小的空間,即使數(shù)據(jù)很小,也會占用掉整個空間。9數(shù)據(jù)庫常用詞匯:字段10iTunes播放列表中的字段數(shù)據(jù)庫常用詞匯:記錄與實體11記錄。記錄是一組字段的集合,代表著一條信息。例如在iTunes播放列表中,每一首歌曲對應著一條記錄,每條記錄都包含該歌曲的名稱、時間、播放次數(shù)等信息。記錄類型。記錄類型是記錄模板即字段名的集合,記錄類型不包含具體的數(shù)據(jù)。實體。實體是所有同類物品或生物的集合。每一個實體都對應著一個記錄類型,例如,歌曲這個實體對應著名稱、時間、播放次數(shù)的記錄類型。數(shù)據(jù)庫常用詞匯:關系與基數(shù)12關系。關系是指不同記錄類型之間的聯(lián)系。例如,零售商出售的商品ID必須在該商品生產(chǎn)者記錄的商品ID列表里,否則該商品就有可能是偽造產(chǎn)品,這便是一種關系?;鶖?shù)?;鶖?shù)是指兩個記錄類型間可能存在的聯(lián)系的個數(shù)。例如:對特定種類產(chǎn)品只能由一個廠商生產(chǎn),而一個廠商卻可以生產(chǎn)多種產(chǎn)品,這是一對多關系。多對多關系如廠商和超市的貨物供應,超市可以選擇多個廠商的貨物,廠商也可以供給超市多種貨物。一對一關系如專輯和其描述的關系,一個專輯只允許有一個描述,而一個描述也只適用于一個專輯,一對一關系在數(shù)據(jù)庫中很少見。數(shù)據(jù)庫常用詞匯:關系與基數(shù)13實體關系圖(EntityRelationshipDiagram,簡稱ER圖)常用來表示實體間的關系與基數(shù)。第一節(jié)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫概念數(shù)據(jù)庫層次數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫的分類數(shù)據(jù)庫模型數(shù)據(jù)庫的分類15數(shù)據(jù)庫系統(tǒng)可以用不同方式來分類,包括數(shù)據(jù)庫所支持的用戶數(shù)量、數(shù)據(jù)庫的層數(shù)、數(shù)據(jù)庫所處環(huán)境等。常見數(shù)據(jù)庫的分類如下:常見數(shù)據(jù)庫的分類單用戶數(shù)據(jù)庫系統(tǒng)與多用戶數(shù)據(jù)庫系統(tǒng)客戶端—服務器數(shù)據(jù)庫系統(tǒng)與N層數(shù)據(jù)庫系統(tǒng)基于磁盤的和在內(nèi)存中的數(shù)據(jù)庫系統(tǒng)操作型數(shù)據(jù)庫和分析型數(shù)據(jù)庫集中式和分布式數(shù)據(jù)庫系統(tǒng)第一節(jié)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫概念數(shù)據(jù)庫層次數(shù)據(jù)庫常用詞匯數(shù)據(jù)庫的分類數(shù)據(jù)庫模型數(shù)據(jù)庫模型17數(shù)據(jù)庫模型描述了數(shù)據(jù)在數(shù)據(jù)庫中的存儲結(jié)構與表現(xiàn)方式,可以分為以下幾種:數(shù)據(jù)庫模型:平面文件18平面文件處于數(shù)據(jù)庫定義的邊緣,因為它簡單到無法在記錄間建立關系。iTunes播放列表就是一個平面文件,常見的平面文件還有電子表格、電子郵件地址簿等。用戶可以對平面文件進行增、刪、改、查,但無法指定記錄間的關系。除了平面文件外,其他的數(shù)據(jù)庫模型都允許建立關系。數(shù)據(jù)庫模型:層次數(shù)據(jù)庫19層次數(shù)據(jù)庫使用樹形結(jié)構來描述關系,由于“樹”的限制,只能定義一對一或一對多的關系,無法定義多對多關系。常見的層次數(shù)據(jù)庫如Windows的注冊表。層次數(shù)據(jù)庫現(xiàn)今已很少被使用。層次數(shù)據(jù)庫示意圖如下:數(shù)據(jù)庫模型:網(wǎng)狀數(shù)據(jù)庫20網(wǎng)狀數(shù)據(jù)庫在樹的基礎上將其擴成了網(wǎng)狀結(jié)構,從而可以表現(xiàn)多對多關系。目前除了DNS系統(tǒng)等專用系統(tǒng)或應用還在使用網(wǎng)狀數(shù)據(jù)庫,其他網(wǎng)狀數(shù)據(jù)庫都已被關系數(shù)據(jù)庫或?qū)ο髷?shù)據(jù)庫所取代。數(shù)據(jù)庫模型:關系數(shù)據(jù)庫21關系數(shù)據(jù)庫是目前最常使用到的數(shù)據(jù)庫,它將存儲在一張張表格中。每個表格代表一個實體,表格中每行代表一個記錄,每列代表一個字段。而關系是通過將不同表中的相同字段聯(lián)系起來而指定的。數(shù)據(jù)庫模型:維度數(shù)據(jù)庫22維度數(shù)據(jù)庫是關系數(shù)據(jù)庫的一種擴展,關系數(shù)據(jù)庫采用的是二維的表格,而維度數(shù)據(jù)庫采用了三維或更多維的“數(shù)據(jù)空間”來描述數(shù)據(jù)或關系,因此維度數(shù)據(jù)庫也稱多維數(shù)據(jù)庫。維度數(shù)據(jù)庫可以更形象地表現(xiàn)數(shù)據(jù),但使用和維護維度數(shù)據(jù)庫需要更多的專業(yè)技術。數(shù)據(jù)庫模型:對象數(shù)據(jù)庫23對象數(shù)據(jù)庫也叫面向?qū)ο髷?shù)據(jù)庫,它將實體抽象為類,將字段抽象為屬性,將數(shù)據(jù)存儲為對象的形式,并定義出方法——對象能執(zhí)行的行為。對象數(shù)據(jù)庫適合表示屬性差別極小的不同類對象——只需設置一個父類存放它們的共有屬性,再設置相應數(shù)目的派生類存放各自的特有屬性,并繼承父類即可。對象數(shù)據(jù)庫是一種正在發(fā)展的數(shù)據(jù)庫,它能夠更好地表現(xiàn)日常生活中的實體和關系。數(shù)據(jù)庫模型:對象-關系數(shù)據(jù)庫24對象-關系數(shù)據(jù)庫將關系數(shù)據(jù)庫和對象數(shù)據(jù)庫的特征相結(jié)合。數(shù)據(jù)像傳統(tǒng)的關系數(shù)據(jù)庫一樣存儲在表格中,但增加了對象數(shù)據(jù)庫的功能——可以擴充自定義的數(shù)據(jù)類型和操作,支持復雜對象的查詢,以及支持繼承的概念。數(shù)據(jù)庫模型:文檔數(shù)據(jù)庫25面向文檔的數(shù)據(jù)庫可以存儲非結(jié)構化的數(shù)據(jù),如講演的原話或雜志的文章。由于文章具有可變的長度和結(jié)構,因此不需要將數(shù)據(jù)塑造成適應數(shù)據(jù)庫的結(jié)果。文檔數(shù)據(jù)庫可按照這樣的方式來創(chuàng)建,即將類似于HTML的結(jié)構化標記插入到文檔自身。格式化文檔數(shù)據(jù)庫的兩種常用的方式是使用XML和JSON,相對而言,XML更靈活。數(shù)據(jù)庫模型:圖形數(shù)據(jù)庫26圖形數(shù)據(jù)庫包含節(jié)點、邊和特性。圖形數(shù)據(jù)庫是NoSQL數(shù)據(jù)庫的一種類型,是一種非關系型數(shù)據(jù)庫,它應用圖形理論存儲實體之間的關系信息。關系型數(shù)據(jù)庫用于存儲“關系型”數(shù)據(jù)的效果并不好,其查詢復雜、緩慢、超出預期,而圖形數(shù)據(jù)庫的獨特設計恰恰彌補了這個缺陷。第二節(jié)數(shù)據(jù)管理工具數(shù)據(jù)管理軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫和WebXML數(shù)據(jù)管理軟件數(shù)據(jù)管理軟件是最簡單的數(shù)據(jù)管理工具,它可以創(chuàng)建并維護平面文件,但不能在記錄間建立關系,也沒有足夠能力維護企業(yè)所需的大量數(shù)據(jù)。常見的數(shù)據(jù)管理軟件如MicrosoftWord和MicrosoftExcel,它們都提供了創(chuàng)建與管理表格的工具。28第二節(jié)數(shù)據(jù)管理工具數(shù)據(jù)管理軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫和WebXML數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是專業(yè)的數(shù)據(jù)管理工具,是專門用來管理數(shù)據(jù)庫中數(shù)據(jù)的軟件。數(shù)據(jù)庫管理系統(tǒng)具有良好的數(shù)據(jù)獨立性——即DBMS只負責數(shù)據(jù),而程序需要通過編程語言向DBMS申請以獲取數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)支持網(wǎng)絡訪問,可以管理數(shù)十億條的記錄,并支持每秒數(shù)百次甚至上千次的并發(fā)事務處理。DBMS≠DB30數(shù)據(jù)庫管理系統(tǒng)DBMS可以分為很多種,每一種都專用于某一數(shù)據(jù)庫模型,但也有一些DBMS可以同時處理多種數(shù)據(jù)庫模型:31XMLDBMS,用于處理XML格式的數(shù)據(jù)。對象數(shù)據(jù)庫管理系統(tǒng)(ObjectDBMS,簡稱ODBMS),用于處理對象數(shù)據(jù)庫模型。關系數(shù)據(jù)庫管理系統(tǒng)(RelationalDBMS,簡稱RDBMS),用于處理關系數(shù)據(jù)庫模型。數(shù)據(jù)庫管理系統(tǒng)32關系數(shù)據(jù)庫管理系統(tǒng)關系數(shù)據(jù)庫管理系統(tǒng)是時下最流行的數(shù)據(jù)庫管理系統(tǒng)。在商業(yè)領域最常用的RDBMS如Oracle、MicrosoftSQLServer、MySQL等,個人用戶則可以考慮使用MicrosoftAccess。第二節(jié)數(shù)據(jù)管理工具數(shù)據(jù)管理軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫和WebXML數(shù)據(jù)庫和Web數(shù)據(jù)庫是可以通過Web訪問的,但它的訪問方式非?!半[秘”,以至于大多數(shù)Web用戶甚至發(fā)覺不到信息是由數(shù)據(jù)庫生成的。例如,網(wǎng)上商城商品的價格、圖片和描述其實都是來自數(shù)據(jù)庫,并經(jīng)由一定的處理生成的;12306網(wǎng)站上的列車時刻表也是源于數(shù)據(jù)庫??梢酝ㄟ^靜態(tài)或動態(tài)發(fā)布的方式將數(shù)據(jù)庫中的內(nèi)容提供到Web上。靜態(tài)Web發(fā)布是將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成HTML文檔,從而提供訪問,其實質(zhì)是生成了一個數(shù)據(jù)庫的“快照”。Web用戶只可以對此HTML文檔進行查看或搜素,而不能更改數(shù)據(jù)庫中的內(nèi)容。34數(shù)據(jù)庫和Web如果要通過Web對數(shù)據(jù)庫中的數(shù)據(jù)進行修改,或進行定制性的查看(如網(wǎng)上商城的“猜你喜歡”功能),則需要借助動態(tài)Web發(fā)布。動態(tài)Web發(fā)布依靠服務器端腳本在用戶瀏覽器和DBMS間建立連接。服務器端腳本可以用PHP、Ruby、Python、ASP等語言進行編寫。操作系統(tǒng)、Web服務器軟件、數(shù)據(jù)庫管理系統(tǒng)和服務器端腳本共同組成了Web服務器框架。用戶通過網(wǎng)頁提交的記錄其實都是表單的形式,在HTML語言中就是<form>標簽下的內(nèi)容,<form>標簽會指定提交方式和提交到服務器端腳本的文件名。用戶提交后,<form>標簽中的內(nèi)容就會提交到對應腳本進行處理,腳本處理完畢后再將結(jié)果以HTML文檔的方式返回給用戶。35第二節(jié)數(shù)據(jù)管理工具數(shù)據(jù)管理軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫和WebXMLXMLXML(ExtensibleMarkupLanguage,可擴展標記語言)是對HTML語言的擴展與補充。它與HTML語言在語法上的區(qū)別是:HTML中并不是所有標簽都成對出現(xiàn),而XML要求所有標簽必須成對出現(xiàn);HTML的標簽不區(qū)分大小寫,而XML標簽區(qū)分大小寫。XML支持自定義的標簽,如<author>標簽可以標記作者,<from>標簽可以標記來源。HTML和XML是為不同的目的而設計的。HTML被設計用來顯示數(shù)據(jù),關注于數(shù)據(jù)的外觀;而XML被設計為傳輸和存儲數(shù)據(jù),關注于數(shù)據(jù)的內(nèi)容。37XML可以理解為,XML僅僅是純文本,XML文件不會做任何事情,但應用程序卻可以利用XML文件的易讀性和標記性有針對性地處理XML文件。例如,應用程序可以直接搜索<author>標簽找到該文件的作者,而無需借助人工查詢。XML文件可以用瀏覽器或任何的文字處理軟件打開。38XMLXML和數(shù)據(jù)庫都可以用來存儲數(shù)據(jù)。XML可在多個平臺上訪問,占用資源更少,操作更方便,但對復雜的操作如排序、更新支持不是很好,且在數(shù)據(jù)量增大時,查看與搜索的壓力也會增大,所以XML文件通常用于存儲程序的配置,而程序所用到的數(shù)據(jù)還是要用數(shù)據(jù)庫存儲。XML提供了服務器和瀏覽器通過Web交換數(shù)據(jù)的方式,一些RDBMS可以接受XML形式的查詢并將結(jié)果到處到XML文件,同Web發(fā)送到用戶瀏覽器。39第三節(jié)數(shù)據(jù)庫設計定義字段組織記錄設計界面設計報表模板載入數(shù)據(jù)定義字段構建關系數(shù)據(jù)庫的第一步是定義字段,即明確數(shù)據(jù)庫中要存放什么數(shù)據(jù)。定義字段前,首先要明確如何組織數(shù)據(jù)。數(shù)據(jù)庫通常需要保證一張表里的任意兩條記錄都是互不相同的,因此需要將一個字段設置成主鍵(primarykey),主鍵字段中的數(shù)據(jù)不允許重復,即可保證記錄是不重復的。41例如,如果要構建一個音樂數(shù)據(jù)庫,那么可能的字段有歌曲名、專輯名、作者、時長、描述等等。例如,用戶的姓名是存放在一個字段里還是分成姓和名存放在兩個字段里。定義字段字段可以存放的數(shù)據(jù)取決于它的數(shù)據(jù)類型,不同DBMS有不同的數(shù)據(jù)類型,但大體可分為以下幾類:整型數(shù)據(jù)類型(int或integer)浮點數(shù)據(jù)類型(real、float、decimal、numeric)字符數(shù)據(jù)類型(char、varchar)日期和時間數(shù)據(jù)類型(datetime)文本和圖形數(shù)據(jù)類型(text、image)貨幣數(shù)據(jù)類型(money)位數(shù)據(jù)類型(bit)二進制數(shù)據(jù)類型(binary、varbinary)42定義字段數(shù)據(jù)庫提供了進行數(shù)據(jù)檢查的工具,以防用戶輸入不合法的數(shù)據(jù)。數(shù)據(jù)庫管理員還可以指定字段樣式,以便輸入數(shù)據(jù)時添加為自動的格式。如何將字段編組為表也需要一定的技巧。原則之一是“一事一表”,這樣可以減少數(shù)據(jù)冗余。43不合法的數(shù)據(jù)包括:數(shù)據(jù)類型不符
數(shù)據(jù)值不符第三節(jié)數(shù)據(jù)庫設計定義字段組織記錄設計界面設計報表模板載入數(shù)據(jù)組織記錄對于同一張表,不同的數(shù)據(jù)庫用戶關注的重點可能不同。例如,倉庫管理員會關注商品的庫存排序情況,而營銷人員可能更關注商品的價格排序情況。這就需要數(shù)據(jù)庫去組織記錄,數(shù)據(jù)庫組織記錄的方式可以分為排序和索引兩種。45排序:
是對物理介質(zhì)上的數(shù)據(jù)進行重新排列,以得到有序的數(shù)據(jù)。每張表最多只能有一個排序字段,數(shù)據(jù)會按此字段在物理介質(zhì)上排序。索引:
是一個鍵列表,每個鍵中都有索引排序字段的信息,并提供了一個指向?qū)涗浀闹羔槨K饕凑账饕判蜃侄芜M行排序,以達到組織記錄的效果,但索引不會改變記錄的物理存儲位置。因此一張表可以有多個索引,以對多個不同的字段進行排序。組織記錄46記錄表索引表商品ID價格庫存庫存商品ID10013.24352100510109.817171010100521.721581003100353.61584351001索引按照索引排序字段進行排序,以達到組織記錄的效果,但索引不會改變記錄的物理存儲位置。因此一張表可以有多個索引,以對多個不同的字段進行排序。第三節(jié)數(shù)據(jù)庫設計定義字段組織記錄設計界面設計報表模板載入數(shù)據(jù)設計界面數(shù)據(jù)庫的用戶通常不是登錄DBMS后對數(shù)據(jù)進行修改,而是通過Web訪問網(wǎng)頁或通過應用程序進行數(shù)據(jù)的創(chuàng)建與修改。數(shù)據(jù)庫的設計者或?qū)iT的工程師需要設計出一個能完整包含記錄所需字段的頁面。設計界面時常須注意:48將字段按照邏輯順序排列好,字段的文本框最好對齊,而不要參差不一。為正在輸入的字段提供視覺效果,如文本框加亮等。提供必要的說明以確保輸入數(shù)據(jù)的合法性。如果字段過多,可考慮分頁或使用滾動條,而不要擠在一起。應用合適的字體和樣式。第三節(jié)數(shù)據(jù)庫設計定義字段組織記錄設計界面設計報表模板載入數(shù)據(jù)設計報表模板報表是打印出來的或展示在屏幕上的數(shù)據(jù)庫中部分數(shù)據(jù)或全部數(shù)據(jù)的列表。多數(shù)DBMS都包含了報表生成器,可以根據(jù)設計好的報表模板,填入數(shù)據(jù)后生成報表。一個好的報表模板應遵循以下原則:50提供且僅提供用戶所需的信息。能夠簡化用戶的手工計算。無歧義的表示信息。以用戶可以理解的方式表現(xiàn)信息。第三節(jié)數(shù)據(jù)庫設計定義字段組織記錄設計界面設計報表模板載入數(shù)據(jù)載入數(shù)據(jù)數(shù)據(jù)庫結(jié)構設計完成后,需要將數(shù)據(jù)載入到數(shù)據(jù)庫中。最原始的做法是手工輸入數(shù)據(jù),這可能會花費很長時間,并且不可避免地會有拼寫錯誤。如果數(shù)據(jù)是以電子的方式存在于其他數(shù)據(jù)庫或文件中,就可以使用數(shù)據(jù)庫提供的導入導出程序,或?qū)懸粋€專門的轉(zhuǎn)換程序來載入數(shù)據(jù)。DBMS會提供導入導出程序,可以將數(shù)據(jù)在不同的數(shù)據(jù)庫或文件之間進行轉(zhuǎn)換,如果導入導出程序不支持所需文件的格式,就需要寫一個專門的轉(zhuǎn)換程序。對于大量數(shù)據(jù)來說,編寫轉(zhuǎn)換程序的效率和準確率依然要比手工錄入高。52第四節(jié)SQLSQL添加記錄查詢信息更新字段連接表SQLSQL(StructuredQueryLanguage,結(jié)構化查詢語言)是用來進行數(shù)據(jù)庫設計、查詢與管理的語言,任何對數(shù)據(jù)庫的操作都需要通過SQL語句(也稱SQL查詢)命令數(shù)據(jù)庫進行。SQL語句很像是一個英文句子,如SELECTNameFROMStudentWHERESid=‘1001’就是一個最簡單的SQL語句,它命令數(shù)據(jù)庫從Student表中找到學號為1001的學生,并返回其姓名。其中的大寫單詞如SELECT、FROM和WHERE是SQL關鍵字,數(shù)據(jù)庫通過識別關鍵字來判斷指令的類型,并執(zhí)行對應操作。54SQL關鍵字不一定是大寫的,大多數(shù)DBMS接受任意形式大小寫的關鍵字,如SELECT和select、SeLeCt的效果是一樣的。每個SQL關鍵字都有對應的語法。55關鍵字含義示例SELECT查找記錄SELECT*FROMStudentWHEREClass=’3’DELETE刪除記錄DELETEFromMusicwhereID=’7’UPDATE更新記錄UPDATEStudentSETAge=20WHERESid=‘1002’CREATE創(chuàng)建數(shù)據(jù)庫、表等CREATETableStudentINSERT插入記錄INSERTINTOStudent(Sid,Age)VALUES(‘1020’,19)常見的SQL關鍵字第四節(jié)SQLSQL添加記錄查詢信息更新字段連接表添加記錄SQL添加記錄的語法有如下兩種:INSERTINTO...VALUES(...),用于插入單條記錄。
例如,如下的查詢表示在Student表中插入一條記錄,其中學號是1020,年齡是19: INSERTINTOStudent(Sid,Age)VALUES(‘1020’,19)INSERTINTO....(),用于同時插入多條記錄,括號中是一個子查詢,通常是一個SELECT語句。
例如,如下的查詢表示從Student2表中提取出所有的學號和年齡記錄,插入到Student表中。 INSERTINTOStudent(Sid,Age)(SELECTSid,AgeFROMStudent2)57第四節(jié)SQLSQL添加記錄查詢信息更新字段連接表查詢信息59通用的查詢信息的語法是SELECT...FROM...WHERE...,但其中可以應用一些關鍵字或符號來進行更復雜的查詢,常用的關鍵字或符號有如下幾種:星號(*),表示所有信息比較符號如>,>=,=等,需要注意的是,不等于用<>表示OR和ANDBETWEEN...AND...,用于指定值的連續(xù)范圍IN,用于指定離散的數(shù)據(jù)范圍NOT,用于取反LIKE,用于字符串匹配ORDERBY,對查詢結(jié)果進行排序第四節(jié)SQLSQL添加記錄查詢信息更新字段連接表更新字段61更新字段的通用語法是UPDATE...SET...WHERE...,可以對一條記錄或多條記錄同時進行修改。WHERE子句同樣可以應用AND、OR、INT、BETWEEN...AND...、LIKE等關鍵字。例如,如下的查詢選出Product表中所有價格大于400的商品,并將其價格修改為400。UPDATEProductSETPrice=400WHEREPrice>400第四節(jié)SQLSQL添加記錄查詢信息更新字段連接表連接表63使用SQL語句可以將兩個表通過共同字段連接起來,連接得到的新表中僅包含在共同字段上值相同的記錄的組合。通過連接表可以進行多表查詢,在SQL中,有兩種方法可以連接表:直接調(diào)用多張表。在SELECT...FROM...WHERE中引用多張表,并在WHERE后指明這多張表的連接原則。如:SELECT*FROMStudent,Course,SCWHEREStudent.Sid=SC.sidANDSC.cid=Course.Cid使用JOIN關鍵字,語法為SELECT...FROM...JOIN...ON...WHERE...。如:SELECT*FROMStudentJOINSCONStudent.Sid=SC.Sid第五節(jié)云數(shù)據(jù)庫云數(shù)據(jù)庫云數(shù)據(jù)庫65云數(shù)據(jù)庫是運行在云計算平臺中的數(shù)據(jù)庫,例如AmazonEC2、GoGrid、Salesforce和Rackspace。云數(shù)據(jù)庫使企業(yè)能夠用更少的室內(nèi)硬件與維護花費來創(chuàng)建簡單規(guī)模的數(shù)據(jù)庫,而僅僅需要支付數(shù)據(jù)存儲和運輸?shù)馁M用。云數(shù)據(jù)庫按照部署模式可分為虛擬機映像和數(shù)據(jù)庫即服務兩類,每一類又可分為基于SQL的數(shù)據(jù)模型(SQLDataModel)和支持多種語言的數(shù)據(jù)模型(NoSQLDataModel,其中NoSQL是NotonlySQL的簡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年鋼筋結(jié)構施工協(xié)議
- 2025年智能交通系統(tǒng)建設反擔保合同3篇
- 2024年量子計算機技術研發(fā)與許可合同
- 2024年研發(fā)團隊外包服務合同
- 專業(yè)化一體化服務合同范本(2024年版)版
- 2024校服生產(chǎn)與校園服裝租賃服務合同3篇
- 2024版混凝土框架結(jié)構施工協(xié)議條款版B版
- 專業(yè)化人力資源解決方案服務協(xié)議樣本版A版
- 2025不動產(chǎn)抵押權設立與登記服務擔保合同范本3篇
- 2024年茶園土地承包管理合同樣本
- 2024年WPS計算機二級考試題庫350題(含答案)
- 2024年首都機場集團招聘筆試參考題庫附帶答案詳解
- 大廈屋頂鋼結(jié)構拆除施工方案
- 印刷合同協(xié)議書范本
- 2022年中級審計師《審計理論與實務》考試題庫(完整版)
- 新教科版八年級物理下冊全冊ppt課件
- 草莓采摘機械手的設計與實現(xiàn)
- 最全的官能團化合物的紅外吸收峰特征
- 高中音樂公開課教案{非洲音樂}
- AP1000核電站常規(guī)島簡介
- 井下軌道鋪設標準
評論
0/150
提交評論