MySQL數(shù)據(jù)庫程序設(shè)計(jì)電子教案(全)完整版課件整套教學(xué)課件_第1頁
MySQL數(shù)據(jù)庫程序設(shè)計(jì)電子教案(全)完整版課件整套教學(xué)課件_第2頁
MySQL數(shù)據(jù)庫程序設(shè)計(jì)電子教案(全)完整版課件整套教學(xué)課件_第3頁
MySQL數(shù)據(jù)庫程序設(shè)計(jì)電子教案(全)完整版課件整套教學(xué)課件_第4頁
MySQL數(shù)據(jù)庫程序設(shè)計(jì)電子教案(全)完整版課件整套教學(xué)課件_第5頁
已閱讀5頁,還剩471頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、MySQL數(shù)據(jù)庫程序設(shè)計(jì)MySQL數(shù)據(jù)庫程序設(shè)計(jì)2課程介紹一學(xué)習(xí)目的二學(xué)習(xí)方法三考評(píng)辦法四一、課程介紹MySql 數(shù)據(jù)庫程序設(shè)計(jì)必修的公共基礎(chǔ)課程MySql關(guān)系數(shù)據(jù)庫管理系統(tǒng),世界上最受歡迎的開源數(shù)據(jù)庫之一,性能優(yōu)越、功能強(qiáng)大,廣泛應(yīng)用于互聯(lián)網(wǎng)上各類中小型網(wǎng)站及信息管理系統(tǒng)的應(yīng)用開發(fā)主要內(nèi)容數(shù)據(jù)庫操作:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)查詢、數(shù)據(jù)管理等程序設(shè)計(jì):編程思想、流程控制、PHP應(yīng)用程序開發(fā)等內(nèi)容3二、學(xué)習(xí)目的基礎(chǔ)目標(biāo)通過本課程結(jié)業(yè)考試,拿到相應(yīng)學(xué)分中級(jí)目標(biāo)通過全國計(jì)算機(jī)等級(jí)考試 二級(jí)更高目標(biāo)掌握計(jì)算機(jī)編程基本方法,可快速移植到其他語言具備一定的數(shù)據(jù)庫操作技能,能運(yùn)用數(shù)據(jù)庫技術(shù)解決實(shí)際問題培養(yǎng)計(jì)

2、算思維能力、提高計(jì)算機(jī)素養(yǎng)4三、學(xué)習(xí)方法學(xué)習(xí)方式除第1次2課時(shí)外,其余46課時(shí)均在1209機(jī)房完成學(xué)習(xí)方法培養(yǎng)興趣、主動(dòng)學(xué)習(xí)、積極參與多問多練、互幫互助、善于應(yīng)用學(xué)習(xí)中的疑問教學(xué)管理系統(tǒng)網(wǎng)上答疑平臺(tái)若有需要可以安排集中答疑1208辦公室5四、考評(píng)辦法以全自動(dòng)學(xué)習(xí)平臺(tái)系統(tǒng)記錄和考評(píng)整個(gè)教學(xué)過程成績(jī):作業(yè)+實(shí)驗(yàn)操作+期末考試作業(yè)平時(shí)完成23次系統(tǒng)作業(yè)+操作文件(除本次外每堂課均需提交)實(shí)驗(yàn)操作期末完成MySql+php操作考試期末考試期末完成選擇題 + 填空題 + 判斷題考試(教材每章節(jié)習(xí)題)網(wǎng)絡(luò)學(xué)習(xí)平臺(tái): 2/wlts/Index.aspx6第一章 數(shù)據(jù)庫系統(tǒng)概述目錄7數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)2數(shù)據(jù)模

3、型3小結(jié)4數(shù)據(jù)庫基礎(chǔ)1本章重難點(diǎn)本章重點(diǎn)數(shù)據(jù)庫的基本概念數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)模型關(guān)系數(shù)據(jù)庫系統(tǒng)關(guān)系的基本概念、特點(diǎn)關(guān)系運(yùn)算8本章難點(diǎn)數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫的三級(jí)體系結(jié)構(gòu)不同數(shù)據(jù)模型的特點(diǎn)關(guān)系數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫基礎(chǔ) 數(shù)據(jù)、信息、數(shù)據(jù)處理數(shù)據(jù)指用以表示客觀事物特性和特征的符號(hào)及其組合 數(shù)據(jù)內(nèi)容:所描述客觀事物的具體特性“值” 數(shù)據(jù)形式:數(shù)據(jù)內(nèi)容存儲(chǔ)在媒體上的具體形式“類型”,包括數(shù)字、文字、聲音、圖形和圖像等 信息指數(shù)據(jù)經(jīng)過加工處理后所獲取的有用的知識(shí)數(shù)據(jù)和信息的關(guān)系即相互聯(lián)系又相互區(qū)別數(shù)據(jù)是信息的具體表現(xiàn)形式信息是數(shù)據(jù)有意義的表現(xiàn),是數(shù)據(jù)的內(nèi)涵,是對(duì)數(shù)據(jù)語義的解釋9數(shù)據(jù)庫基礎(chǔ) 數(shù)據(jù)、信息、數(shù)據(jù)處理

4、數(shù)據(jù)處理信息處理是將數(shù)據(jù)轉(zhuǎn)換為信息的過程目的:從大量的數(shù)據(jù)中,根據(jù)數(shù)據(jù)自身的規(guī)律及相互聯(lián)系,通過分析、歸納、推理等科學(xué)方法,利用計(jì)算機(jī)技術(shù)、數(shù)據(jù)庫技術(shù)等技術(shù)手段,提取有效的信息資源,為進(jìn)一步分析、管理和決策提供依據(jù)10數(shù)據(jù)數(shù)據(jù)處理信息數(shù)據(jù)庫基礎(chǔ) 數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展1、人工管理階段時(shí)間段:20世紀(jì)50年代特征數(shù)據(jù)和應(yīng)用程序一一對(duì)應(yīng),互為依賴 存在的問題數(shù)據(jù)不具有獨(dú)立性,程序和數(shù)據(jù)一一對(duì)應(yīng)數(shù)據(jù)不保存,包含在程序中數(shù)據(jù)需要程序自己管理,沒有進(jìn)行數(shù)據(jù)管理的軟件數(shù)據(jù)不共享,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序11應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)集2數(shù)據(jù)集n數(shù)據(jù)庫基礎(chǔ) 數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展2、文件系統(tǒng)

5、階段時(shí)間段50年代末60年代末特征應(yīng)用程序文件系統(tǒng)來管理數(shù)據(jù)存在的問題數(shù)據(jù)獨(dú)立性較差,沒有完全獨(dú)立存在數(shù)據(jù)冗余數(shù)據(jù)不能集中管理 12應(yīng)用程序1文件1應(yīng)用程序2文件2應(yīng)用程序n文件n操作系統(tǒng)數(shù)據(jù)庫基礎(chǔ) 數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展3、數(shù)據(jù)庫管理階段時(shí)間段:60年代末開始今特征由數(shù)據(jù)庫管理系統(tǒng)DBMS運(yùn)用數(shù)據(jù)庫技術(shù)進(jìn)行數(shù)據(jù)管理優(yōu)勢(shì)特點(diǎn)實(shí)現(xiàn)了數(shù)據(jù)的結(jié)構(gòu)化實(shí)現(xiàn)了數(shù)據(jù)共享實(shí)現(xiàn)了數(shù)據(jù)的獨(dú)立實(shí)現(xiàn)了數(shù)據(jù)的統(tǒng)一控制 13應(yīng)用程序1應(yīng)用程序2應(yīng)用程序nDBMS數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念1、數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)DBS(Database System)由計(jì)算機(jī)硬件、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫、應(yīng)用程序和用戶等部分組成

6、14 應(yīng)用程序語言編譯 DBMSOS硬件數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念1、數(shù)據(jù)庫系統(tǒng)的組成計(jì)算機(jī)硬件Hardware硬件是數(shù)據(jù)庫系統(tǒng)賴以存在的物質(zhì)基礎(chǔ),是存儲(chǔ)數(shù)據(jù)及運(yùn)行數(shù)據(jù)庫管理系統(tǒng)DBMS的硬件資源包括主機(jī)、存儲(chǔ)設(shè)備、I/O通道等計(jì)算機(jī)軟件包括:支持DBMS運(yùn)行的操作系統(tǒng)開發(fā)應(yīng)用程序的高級(jí)語言及編譯系統(tǒng)等15數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念1、數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)DBMS指負(fù)責(zé)數(shù)據(jù)庫存取、維護(hù)、管理的系統(tǒng)軟件是數(shù)據(jù)庫系統(tǒng)的核心,提供對(duì)數(shù)據(jù)庫中數(shù)據(jù)資源進(jìn)行統(tǒng)一管理和控制的功能,將用戶應(yīng)用程序與數(shù)據(jù)庫數(shù)據(jù)相互隔離DBMS的主要功能16數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)管理功能通信功能數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概

7、念1、數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫DB指以一定組織方式將相關(guān)數(shù)據(jù)組織在一起,存儲(chǔ)在外部存儲(chǔ)設(shè)備上所形成的、能為多個(gè)用戶共享的、與應(yīng)用程序相互獨(dú)立的相關(guān)數(shù)據(jù)集合數(shù)據(jù)以文件的形式存儲(chǔ)在存儲(chǔ)介質(zhì)上的,具有集中性和共享性數(shù)據(jù)由DBMS進(jìn)行統(tǒng)一管理和控制17DBDB數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念1、數(shù)據(jù)庫系統(tǒng)的組成應(yīng)用程序Application在DBMS基礎(chǔ)上,由用戶根據(jù)應(yīng)用的實(shí)際需要所開發(fā)的、處理特定業(yè)務(wù)的程序18數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫應(yīng)用系統(tǒng)DBAS數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念1、數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫用戶User指管理、開發(fā)、使用數(shù)據(jù)庫系統(tǒng)的所有人員數(shù)據(jù)庫管理員DBA:負(fù)責(zé)管理、監(jiān)督、維護(hù)數(shù)據(jù)庫系統(tǒng)正常運(yùn)行應(yīng)用程序

8、員Application Programmer :負(fù)責(zé)分析、設(shè)計(jì)、開發(fā)、維護(hù)數(shù)據(jù)庫系統(tǒng)中運(yùn)行的各類應(yīng)用程序終端用戶End-User:是在DBMS與應(yīng)用程序支持下,操作使用數(shù)據(jù)庫系統(tǒng)的普通使用者19數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 基本概念2、數(shù)據(jù)庫系統(tǒng)的特點(diǎn)20數(shù)據(jù)共享減少數(shù)據(jù)冗余數(shù)據(jù)獨(dú)立性較高增強(qiáng)了數(shù)據(jù)安全性和完整性數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 體系結(jié)構(gòu)3、數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)三級(jí)模式、兩個(gè)映射21物理級(jí)面向系統(tǒng)程序員概念級(jí)面向建立和維護(hù)數(shù)據(jù)庫人員用戶級(jí) 面向用戶應(yīng)用程序員外模式1外模式2外模式n模式內(nèi)模式外模式/模式映射1外模式/模式映射2外模式/模式映射n模式/內(nèi)模式映射DB數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 體系結(jié)構(gòu)模式(概念級(jí))即概念

9、模式或邏輯模式由數(shù)據(jù)庫設(shè)計(jì)者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點(diǎn)構(gòu)造的全局邏輯結(jié)構(gòu)。是對(duì)數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖)由數(shù)據(jù)庫系統(tǒng)提供的數(shù)據(jù)模式描述語言來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀22數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 體系結(jié)構(gòu)外模式(用戶級(jí))是某個(gè)或某幾個(gè)用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式是從模式導(dǎo)出的一個(gè)子集,包含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù),用戶可以通過外模式描述語言來描述、定義用戶的數(shù)據(jù)記錄,也可以利用數(shù)據(jù)操縱語言對(duì)這些數(shù)據(jù)記錄進(jìn)行操作外模式反映了數(shù)據(jù)庫的用戶觀23數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 體系結(jié)構(gòu)內(nèi)模式(物理

10、級(jí))即存儲(chǔ)模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級(jí)的邏輯描述描述了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的存儲(chǔ)方式和物理結(jié)構(gòu),對(duì)應(yīng)著實(shí)際存儲(chǔ)在外存儲(chǔ)介質(zhì)上的數(shù)據(jù)庫內(nèi)模式由內(nèi)模式描述語言(內(nèi)模式DLL)來描述、定義,它是數(shù)據(jù)庫的存儲(chǔ)觀24數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 體系結(jié)構(gòu)三級(jí)模式間的映射外模式模式映射定義和建立某個(gè)外模式與模式間的對(duì)應(yīng)關(guān)系,將外模式與模式聯(lián)系起來,當(dāng)模式發(fā)生改變時(shí),只要改變其映射,就可以使外模式保持不變,對(duì)應(yīng)的應(yīng)用程序也可保持不變模式內(nèi)模式映射定義建立數(shù)據(jù)的邏輯結(jié)構(gòu)(模式)與存儲(chǔ)結(jié)構(gòu)(內(nèi)模式)間的對(duì)應(yīng)關(guān)系,當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),只需改變模式內(nèi)模式映射,就能保持模式不變,因此應(yīng)用程序也

11、可以保持不變25數(shù)據(jù)模型 概述數(shù)據(jù)模型反映客觀事物及其聯(lián)系的數(shù)據(jù)組織結(jié)構(gòu)和形式將現(xiàn)實(shí)世界中的具體事物轉(zhuǎn)換成計(jì)算機(jī)能處理的數(shù)據(jù)概念數(shù)據(jù)模型概念模型對(duì)客觀事物進(jìn)行抽象描述主要用于數(shù)據(jù)庫設(shè)計(jì),如 ER模型邏輯數(shù)據(jù)模型邏輯模型面向數(shù)據(jù)庫系統(tǒng)用于數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn),如層次模型、網(wǎng)狀模型、關(guān)系模型26現(xiàn) 實(shí) 世 界信息世界:概念模型數(shù)據(jù)世界:邏輯模型數(shù)據(jù)模型 概念模型 E-R模型三種聯(lián)系27班級(jí)1班2班3班班主任張老師王老師李老師一對(duì)一聯(lián)系寢室101室102室103室學(xué)生張同學(xué)王同學(xué)李同學(xué)一對(duì)多聯(lián)系學(xué)生A同學(xué)B同學(xué)C同學(xué)課程計(jì)算機(jī)高數(shù)英語多對(duì)多聯(lián)系數(shù)據(jù)模型 概念模型 E-R模型ER模型即實(shí)體聯(lián)系模型實(shí)體

12、Entity實(shí)體:客觀存在并可相互區(qū)分的事物可以是具體的(如一個(gè)學(xué)生),也可以是抽象的(如一堂課)實(shí)體集:同類型的實(shí)體的集合(如一個(gè)班的學(xué)生)屬性Attribute描述實(shí)體的特性,一個(gè)實(shí)體由多個(gè)屬性來刻畫,屬性的組合表征了實(shí)體(如學(xué)生的學(xué)號(hào)、姓名、性別、出生日期等)28數(shù)據(jù)模型 概念模型 E-R模型聯(lián)系Relationship實(shí)體集之間關(guān)系的抽象表示,是對(duì)現(xiàn)實(shí)世界中事物之間聯(lián)系的描述一對(duì)一聯(lián)系(1:1):實(shí)體集A中的每一個(gè)實(shí)體在實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然(如班級(jí)班主任)一對(duì)多聯(lián)系(1:n):實(shí)體集A中的每一個(gè)實(shí)體在實(shí)體集B中有n(n=0)個(gè)實(shí)體與之聯(lián)系,反之實(shí)體集B中的每一個(gè)實(shí)

13、體在實(shí)體集A中至多有一個(gè)實(shí)體與之聯(lián)系(如寢室學(xué)生)多對(duì)多聯(lián)系(n:m):實(shí)體集A中的每一個(gè)實(shí)體在實(shí)體集B中有n(n=0)個(gè)實(shí)體與之聯(lián)系,反之實(shí)體集B中的每一個(gè)實(shí)體在實(shí)體集A中有m(m=0)個(gè)實(shí)體與之聯(lián)系(如學(xué)生課程)29數(shù)據(jù)模型 概念模型 E-R模型描述工具:ER圖矩形表示實(shí)體橢圓表示屬性菱形表示表示聯(lián)系連線表示實(shí)體與屬性、實(shí)體與聯(lián)系、聯(lián)系與屬性之間的連接30課程學(xué)生選課學(xué)時(shí)課程號(hào)課程名學(xué)分成績(jī)學(xué)號(hào)姓名年齡性別數(shù)據(jù)模型 邏輯模型 層次模型1、層次數(shù)據(jù)模型(Hierarchical Model)構(gòu)成用樹形結(jié)構(gòu)表示數(shù)據(jù)及其聯(lián)系樹由結(jié)點(diǎn)和連線組成結(jié)點(diǎn)表示數(shù)據(jù)集連線表示數(shù)據(jù)之間的聯(lián)系注:可以直接表示一

14、對(duì)一和一對(duì)多聯(lián)系,但不能直接表示多對(duì)多聯(lián)系31飛行學(xué)院計(jì)算機(jī)空乘學(xué)院人事處科研處系研究所數(shù)據(jù)模型 邏輯模型 層次模型1、層次數(shù)據(jù)模型(Hierarchical Model)基本特點(diǎn)有且僅有一個(gè)結(jié)點(diǎn)無父結(jié)點(diǎn),稱為根結(jié)點(diǎn)其他結(jié)點(diǎn)有且只一個(gè)父結(jié)點(diǎn)相關(guān)概念層次DBMS:支持層次數(shù)據(jù)模型的DBMS層次DB:在層次DBMS中建立的數(shù)據(jù)庫典型代表:IBM公司的IMS系統(tǒng)32飛行學(xué)院計(jì)算機(jī)空乘學(xué)院人事處科研處系研究所根節(jié)點(diǎn)葉節(jié)點(diǎn)子節(jié)點(diǎn)父節(jié)點(diǎn)數(shù)據(jù)模型 邏輯模型 網(wǎng)狀模型2、網(wǎng)狀數(shù)據(jù)模型(Network Model)構(gòu)成用網(wǎng)絡(luò)結(jié)構(gòu)表示數(shù)據(jù)及其聯(lián)系其結(jié)點(diǎn)間可以任意發(fā)生聯(lián)系,能夠表示各種復(fù)雜的聯(lián)系注:可以直接表示多對(duì)

15、多聯(lián)系33學(xué)生1學(xué)生6學(xué)生2學(xué)生3學(xué)生4學(xué)生5教師1教師2教師3教師4教師5課程1課程3課程3課程4課程5課程6數(shù)據(jù)模型 邏輯模型 網(wǎng)狀模型2、網(wǎng)狀數(shù)據(jù)模型(Network Model)基本特點(diǎn)一個(gè)以上結(jié)點(diǎn)無父結(jié)點(diǎn)至少存在一個(gè)結(jié)點(diǎn)有多于一個(gè)的父結(jié)點(diǎn)相關(guān)概念網(wǎng)狀DBMS:支持網(wǎng)狀模型的DBMS網(wǎng)狀DB:在網(wǎng)狀DBMS中建立的數(shù)據(jù)庫典型代表: DBTG(Database Task Group)系統(tǒng)34學(xué)生1學(xué)生6學(xué)生2學(xué)生3學(xué)生4學(xué)生5教師1教師2教師3教師4教師5課程1課程3課程3課程4課程5課程6數(shù)據(jù)模型 邏輯模型 關(guān)系模型3、關(guān)系數(shù)據(jù)模型(Relational Model)構(gòu)成是由行與列構(gòu)成

16、的二維表既可以表示實(shí)體間一對(duì)多的聯(lián)系,也可以表示多對(duì)多的聯(lián)系主要優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)單一理論基礎(chǔ)嚴(yán)密,關(guān)系規(guī)范化概念簡(jiǎn)單,操作方便相關(guān)概念關(guān)系DBMS、關(guān)系DB35學(xué)號(hào)姓名性別系別電話1001王 剛男計(jì)算機(jī)51822311002李 梨男飛 行51922811003岳 雷女工 商51925611004張曉麗女空 乘5182256典型代表:MYSQL數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)1、基本概念關(guān)系:沒有重復(fù)行、重復(fù)列的二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名元組:二維表的每一行(對(duì)應(yīng)表中一條記錄)屬性:二維表的每一列(對(duì)應(yīng)表中一個(gè)字段),每個(gè)屬性都有一個(gè)屬性名,屬性值則是各個(gè)元組屬性的取值域:屬性的取值范圍碼(關(guān)鍵字):

17、關(guān)系中能唯一區(qū)分、確定不同元組的屬性或?qū)傩越M合關(guān)鍵字的屬性值不能取“空值”36單關(guān)鍵字組合關(guān)鍵字?jǐn)?shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)1、基本概念候選關(guān)鍵字:能夠唯一確定不同元組的屬性或?qū)傩越M合,不唯一主關(guān)鍵字:在候選關(guān)鍵字中選定的一個(gè)關(guān)鍵字,主關(guān)鍵字是唯一的外部關(guān)鍵字:關(guān)系中某個(gè)屬性或?qū)傩越M合并非關(guān)鍵字,但卻是另一個(gè)關(guān)系的主關(guān)鍵字,稱此屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字關(guān)系之間的聯(lián)系就是通過外部關(guān)鍵字實(shí)現(xiàn)的關(guān)系模式:對(duì)關(guān)系的描述,對(duì)應(yīng)關(guān)系的結(jié)構(gòu),格式如下 關(guān)系名(屬性名1,屬性名2, ,屬性名n)例:學(xué)生基本情況(學(xué)號(hào),姓名,性別,系別,身份證號(hào))37數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)38學(xué)號(hào)姓名性別系別身份證號(hào)1

18、001王 剛男計(jì)算機(jī)5108020011002李 梨女計(jì)算機(jī)3752816191003王 剛男工 商8676972111004張曉麗女空 乘310355054課程課時(shí)學(xué)分計(jì)算機(jī)483數(shù)學(xué)603英語604學(xué)號(hào)課程成績(jī)1001計(jì)算機(jī)901001數(shù)學(xué)891002計(jì)算機(jī)751003英語89課程情況表選課成績(jī)表學(xué)生基本情況表系別創(chuàng)建時(shí)間位置計(jì)算機(jī)2001.05西區(qū)飛行1951.09東區(qū)工商2002.07西區(qū)空乘2000.07西區(qū)院系情況表關(guān)系運(yùn)算完整性約束數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)2、關(guān)系的基本特點(diǎn)39關(guān)系必須規(guī)范化,屬性不可再分割在同一關(guān)系中不允許出現(xiàn)相同的屬性名在同一關(guān)系中元組及屬性的順序可以任意交換

19、任意交換兩個(gè)元組(或?qū)傩?的位置,不會(huì)改變關(guān)系模式數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)3、關(guān)系規(guī)范化目的將一個(gè)不十分合理的關(guān)系模型轉(zhuǎn)化為一個(gè)最佳的數(shù)據(jù)關(guān)系模型,使每張數(shù)據(jù)表具有獨(dú)立的屬性,同時(shí)又依賴于共同的關(guān)鍵字建立聯(lián)系基本思想逐步取消數(shù)據(jù)依賴關(guān)系中不合適的部分,使得依賴于同一個(gè)數(shù)據(jù)模型的數(shù)據(jù)達(dá)到有效的分離根據(jù)滿足條件不同分為6個(gè)等級(jí)第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、修正的第三范式(BCNF)、第四范式(4NF)、第五范式(5NF)通常數(shù)據(jù)表規(guī)范到第三范式即可滿足要求40消除重復(fù)字段,且 各字段不可再分,如地址又可分為國家、省、市等滿足第一范式,且所有非主屬性完全依賴于碼,如學(xué)生

20、(學(xué)號(hào)專業(yè),專業(yè)建立時(shí)間)滿足第二范式,且任意兩個(gè)非主屬性不存在函數(shù)依賴關(guān)系,如成績(jī)(學(xué)號(hào),平時(shí),期末,總成績(jī))數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)3、關(guān)系規(guī)范化從E-R圖到數(shù)據(jù)庫一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)數(shù)據(jù)表,實(shí)體的屬性轉(zhuǎn)換為數(shù)據(jù)表的字段一對(duì)一、一對(duì)多聯(lián)系不轉(zhuǎn)換為數(shù)據(jù)表,依靠外關(guān)鍵字建立聯(lián)系多對(duì)多聯(lián)系轉(zhuǎn)換為一個(gè)數(shù)據(jù)表,其復(fù)合關(guān)鍵字為兩個(gè)實(shí)體的關(guān)鍵字處理三個(gè)以上實(shí)體的聯(lián)系時(shí) ,先畫出一對(duì)一聯(lián)系對(duì)應(yīng)的實(shí)體具有相同關(guān)鍵字的數(shù)據(jù)表可以合并為一個(gè)表41數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)4、關(guān)系運(yùn)算傳統(tǒng)的集合運(yùn)算:并、交、差專門的關(guān)系運(yùn)算:選擇、投影、連接選擇(Selection)對(duì)表進(jìn)行橫向操作,從關(guān)系中找出符合指定條件的元組例

21、:SELECT * FROM 選課成績(jī)表 WHERE 成績(jī)=85投影(Projection)對(duì)表進(jìn)行縱向操作,從關(guān)系中選取若干屬性組成一個(gè)新的關(guān)系也可用于對(duì)屬性順序進(jìn)行重排例:SELECT 姓名,學(xué)號(hào),性別 FROM 學(xué)生基本情況表42學(xué)號(hào)課程成績(jī)1001計(jì)算機(jī)901001數(shù)學(xué)891003英語89姓名學(xué)號(hào)性別王 剛1001男李 梨1002女王 剛1003男張曉麗1004女?dāng)?shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)4、關(guān)系運(yùn)算連接(Join)連接運(yùn)算是將兩個(gè)關(guān)系模式的若干屬性拼接成一個(gè)新的關(guān)系模式的操作,對(duì)應(yīng)的新關(guān)系中,包含滿足聯(lián)接條件的所有元組例:SELECT 學(xué)生基本情況表.學(xué)號(hào),姓名,課程,成績(jī) FROM

22、學(xué)生基本情況表 JOIN 選課成績(jī)表 ON 學(xué)生基本情況表.學(xué)號(hào)選課成績(jī)表.學(xué)號(hào)小結(jié):關(guān)系運(yùn)算的結(jié)果仍是一個(gè)關(guān)系43學(xué)號(hào)姓名課程成績(jī)1001王 剛計(jì)算機(jī)901001王 剛數(shù)學(xué)891002李 梨計(jì)算機(jī)751003王 剛英語89數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)5、關(guān)系完整性指關(guān)系中的數(shù)據(jù)及具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)間必須遵循的制約條件和依存關(guān)系,以保證數(shù)據(jù)關(guān)系的正確性、有效性、相容性實(shí)體完整性是對(duì)主鍵的約束,指關(guān)系的主關(guān)鍵字不能重復(fù)也不能取空值域完整性用戶自定義完整性是對(duì)字段的約束,包括字段的值域、類型及有效性規(guī)則等約束參照完整性對(duì)外關(guān)鍵字的約束,定義了相關(guān)聯(lián)的關(guān)系之間數(shù)據(jù)參照引用的約束44小結(jié)數(shù)據(jù)庫管理系統(tǒng)是由

23、一個(gè)相互關(guān)聯(lián)的數(shù)據(jù)的集合和一組用于訪問這些數(shù)據(jù)的程序組成數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心數(shù)據(jù)庫系統(tǒng)是用來管理大量數(shù)據(jù)、控制多用戶訪問、定義數(shù)據(jù)庫的框架以及執(zhí)行數(shù)據(jù)庫操作等的數(shù)據(jù)庫的結(jié)構(gòu)基礎(chǔ)是數(shù)據(jù)模型,如層次模型、網(wǎng)狀模型、關(guān)系模型目前主流數(shù)據(jù)庫管理系統(tǒng)是關(guān)系型關(guān)系數(shù)據(jù)庫是表的集合。包括選擇、投影、連接三種基本運(yùn)算MySQl數(shù)據(jù)庫程序設(shè)計(jì)第二章 MySQL編程基礎(chǔ)目錄47MySQL概述1小結(jié)5WampServer2結(jié)構(gòu)化查詢語言SQL3MySQL數(shù)據(jù)基礎(chǔ)4本章重難點(diǎn)本章重點(diǎn)結(jié)構(gòu)化查詢語言SQLMySQL數(shù)據(jù)基礎(chǔ)48本章難點(diǎn)結(jié)構(gòu)化查詢語言SQLMYSQL數(shù)據(jù)基礎(chǔ)函數(shù)的使用MYSQL概述MYSQL的

24、發(fā)展開源數(shù)據(jù)庫階段Sun MySQL階段Oracle MySQL階段MYSQL的特點(diǎn)高速、安全、低廉、支持多平臺(tái)、支持多語言、支持多存儲(chǔ)器引擎、支持大型數(shù)據(jù)庫49結(jié)構(gòu)化查詢語言 SQL概述SQL(Structured Query Language)結(jié)構(gòu)化查詢語言1979年Oracle公司首先推出基于SQL的商用產(chǎn)品,IBM公司在DB2和SQL/DS數(shù)據(jù)庫系統(tǒng)中也實(shí)現(xiàn)了SQL1986年10月,美國ANSI采用SQL作為關(guān)系DBMS的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),后為國際標(biāo)準(zhǔn)化組織(ISO)采納為國際標(biāo)準(zhǔn)1989年,ANSI采納在ANSI X3.135-1989報(bào)告中定義的關(guān)系D

25、BMS的SQL標(biāo)準(zhǔn)語言(稱為ANSI SQL 89),替代ANSI X3.135-1986版本目前,所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持某些形式的SQL語言,大部分?jǐn)?shù)據(jù)庫都遵守ANSI SQL89標(biāo)準(zhǔn)50結(jié)構(gòu)化查詢語言 SQL的主要特點(diǎn)SQL的主要特點(diǎn)51SQL語言風(fēng)格統(tǒng)一高度非過程化面向集合的操作方式以一種語法結(jié)構(gòu)提供兩種使用方式語言簡(jiǎn)潔易學(xué)易用結(jié)構(gòu)化查詢語言 SQL的功能數(shù)據(jù)定義語言DDL:CREATE, ALTER, DROP52定義對(duì)象定義方式創(chuàng)建刪除修改數(shù)據(jù)庫CREATE DATABASEDROP DATABASEALTERDATABASE表CREATE TABLEDROP TABLE

26、 ALTER TABLE視圖CREATE VIEWDROP VIEWALTER VIEW索引CREATE INDEX DROP INDEX結(jié)構(gòu)化查詢語言 SQL的功能數(shù)據(jù)操縱語言DML: INSERT, UPDATE, DELETE53操縱語句功能描述SELECT對(duì)表或視圖檢索數(shù)據(jù)SELECTFROM INSERT對(duì)表或視圖插入數(shù)據(jù)INSERT INTO VALUESUPDATE對(duì)表或視圖更新數(shù)據(jù)UPDATE SETDELETE對(duì)表或視圖刪除數(shù)據(jù)DELETE FROM結(jié)構(gòu)化查詢語言 SQL的功能數(shù)據(jù)控制語言DCL: GRANT,REVOKE54控制語句功能描述GRANT授予權(quán)限GRANT.ON

27、TOREVOKE收回權(quán)限REVOKE ONFROMWampServer WampServer組件概述55WampServerWINDOWS操作系統(tǒng)Apache網(wǎng)頁服務(wù)器MySQL關(guān)系數(shù)據(jù)庫管理系統(tǒng)PHP服務(wù)器端腳本語言WampServer WampServer組件Apache 2.4.23Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一MySQL 5.7.14 MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在安全性、靈活性、易用性、可用性和性能等

28、方面作了改進(jìn),帶來不少性能的提升56WampServer WampServer組件PHP 5.6.25/7.0.10 PHP 是一種創(chuàng)建動(dòng)態(tài)交互式站點(diǎn)的服務(wù)器端腳本語言,包含命令列執(zhí)行接口(Command line interface)和圖形使用者接口(GUI),可免費(fèi)下載和使用PhpMyAdmin 4.6.4是一個(gè)以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫管理工具,phpMyAdmin 是用PHP編寫的軟件工具,可以通過Web方式控制和操作MySQL數(shù)據(jù)庫通過PhpMyAdmin 可以對(duì)數(shù)據(jù)庫進(jìn)行建立、復(fù)制和刪除數(shù)據(jù)等操作57WampServer WampSe

29、rver組件Adminer 4.2.5Adminer是一個(gè)類似于phpMyAdmin的MySQL全功能的數(shù)據(jù)庫管理工具。Adminer只有一個(gè)PHP文件,易于使用和安裝,支持多語言,支持PHP4.3+,MySQL 4.1+以上的版本PhpSysInfo 3.2.5PhpSysInfo是基于apache和php的監(jiān)測(cè)服務(wù)器狀態(tài)的軟件,包括服務(wù)器使用的系統(tǒng)、核心版本、服務(wù)器硬件信息、網(wǎng)絡(luò)設(shè)備的使用情況、內(nèi)存的使用情況和磁盤信息等,在頁面最頂端可以選擇頁面的風(fēng)格以及語言58WampServer WampServer安裝與配置WampServer安裝在WampServer的安裝過程中將Apache、M

30、ySQL、PHP一并繼承,并且也做好了相應(yīng)的配置,除此之外,還加上了SQLitemanager和Phpmyadmin,省去了很多復(fù)雜的配置過程WampServer配置右擊圖標(biāo)設(shè)置語言環(huán)境:LanguageChinese(中文)單擊圖標(biāo)查看默認(rèn)網(wǎng)頁文件夾:www目錄在config.inc.php中修改默認(rèn)網(wǎng)頁文件夾設(shè)置phpmyadmin密碼及與mysql通信密碼59MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型數(shù)值類型整數(shù)屬性:UNSIGNED、ZEROFILL格式:類型(n),如INT(3)60類型字節(jié)范圍(有符號(hào))范圍(無符號(hào))用途TINYINT1 -1281270255小整數(shù)值SMALLINT2 -327

31、6832767065535大整數(shù)值MEDIUMINT3 -8388 6088388 607016777215大整數(shù)值INT或 INTEGER4 -21474836482147483 64704294 967295大整數(shù)值BIGINT8 -92333720368547758089223372036854775807018446744 073709551615極大整數(shù)MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型數(shù)值類型實(shí)數(shù)格式:類型(M,D) M為總位數(shù) D為小數(shù)位數(shù)如DECIMAL(3,2)61類型字節(jié)范圍(有符號(hào))范圍(無符號(hào))用途FLOAT4 -3.402823466E+38-1.175494 351 E-

32、38,0,1.175494351 E-383.402823466E+380,1.175494351 E-383.402 823 466 E+38單精度DOUBLE8 -1.7976931348623157 E+308-2.225073858507 2014 E-3082.2250738585072014 E-3081.797693134 8623157 E+308,0雙精度DECIMAL16依賴于M和D的值依賴于M和D的值小數(shù)值MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型日期和時(shí)間類型62類型字節(jié)范圍格式用途DATE31000-01-019999-12-31YYYY-MM-DD 日期TIME3 -838:59

33、:59838:59:59HH:MM:SS時(shí)間值或持續(xù)時(shí)間YEAR1 19012155YYYY年份值DATETIME8 1000-01-01 00:00:009999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和時(shí)間值TIMESTAMP4 1970-01-01 00:00:002037-12-31 23:59:59YYYYMMDD HHMMSS混合日期和時(shí)間值,時(shí)間戳DATETIME與TIMESTAMP(時(shí)間戳)的區(qū)別1)范圍不同2)存儲(chǔ)的字節(jié)數(shù)不同3)前者與時(shí)區(qū)無關(guān),后者與時(shí)區(qū)有關(guān)MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型字符串類型指定這兩類型時(shí),一定要指定長(zhǎng)度CHAR長(zhǎng)度固

34、定,若輸入的值長(zhǎng)度不足,以空格補(bǔ)足VARCHAR長(zhǎng)度不固定,只保存需要的字符數(shù),另加一個(gè)字節(jié)來記錄長(zhǎng)度(如果列聲明的長(zhǎng)度超過255,則使用兩個(gè)字節(jié))如對(duì)于“ab”:CHAR(4)以4字節(jié)存儲(chǔ),VARCHAR以3字節(jié)存儲(chǔ)63類型字節(jié)用途CHAR0255 定長(zhǎng)字符串VARCHAR065535 變長(zhǎng)字符串MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型字符串類型用于存儲(chǔ)大數(shù)據(jù)量的文本塊或圖像聲音文件等64類型字節(jié)用途TINYBLOB0255 不超過 255 個(gè)字符的二進(jìn)制字符串TINYTEXT0255 字符短文本字符串BLOB065 535 二進(jìn)制形式的長(zhǎng)文本數(shù)據(jù)TEXT065535 字符長(zhǎng)文本數(shù)據(jù)MEDIUMBLOB

35、016777215 二進(jìn)制形式的中等長(zhǎng)度文本數(shù)據(jù)MEDIUMTEXT016777215 字符中等長(zhǎng)度文本數(shù)據(jù)LONGBLOB04294967295 二進(jìn)制形式的極大文本數(shù)據(jù)LONGTEXT04294 967295 字符極大文本數(shù)據(jù)MYSQL數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)類型復(fù)合ENUM只允許在集合中取一個(gè)值或NULL值SET則允許集合中任一值或值的組合(不管順序)或空間數(shù)據(jù)類型表示空間實(shí)體的位置、形狀、大小及分布特征等信息JSON數(shù)據(jù)類型類型輕量級(jí)數(shù)據(jù)交換格式65類型元素返回值作用ENUM65536一個(gè)或NULL集合中單選SET64多個(gè)值集合中多選MYSQL數(shù)據(jù)基礎(chǔ) 常量常量指在程序運(yùn)行過程中其值保持不變的量

36、,不同數(shù)據(jù)類型其常量的表現(xiàn)形式也是不一樣的按類型分類(7種)字符串常量、數(shù)值常量、十六進(jìn)制常量、日期時(shí)間常量、位字段常量、布爾值、NULL值數(shù)值常量分為整數(shù)常量和浮點(diǎn)數(shù)常量如:38,-127,-1.12,2.8E3,1.3E-666MYSQL數(shù)據(jù)基礎(chǔ) 常量字符串常量單或雙引號(hào)括起來的字符序列一個(gè)ASCII字符1字節(jié)存儲(chǔ),一個(gè)Unicode字符2字節(jié)Unicode字符以N和單引號(hào)標(biāo)志,如Ndog轉(zhuǎn)義字符序列67序 列含 義0一個(gè)ASCII 0 (NUL)字符n一個(gè)換行符r一個(gè)回車符(Windows中使用rn作為新行標(biāo)志)t一個(gè)定位符b一個(gè)退格符Z一個(gè)ASCII 26字符(CTRL+Z)一個(gè)單引號(hào)

37、(“”)一個(gè)雙引號(hào)(“”)一個(gè)反斜線(“”)%一個(gè)“%”符。它用于在正文中搜索“%”的文字實(shí)例,否則這里“%”將解釋為一個(gè)通配符_一個(gè)“_”符。它用于在正文中搜索“_”的文字實(shí)例,否則這里“_”將解釋為一個(gè)通配符MYSQL數(shù)據(jù)基礎(chǔ) 常量十六進(jìn)制常量以大寫字母“X”或小寫字“x”加引號(hào)標(biāo)識(shí),引號(hào)中只可以使用數(shù)字“09”及字母“af”或“AF”,默認(rèn)類型是字符串如:x4D7953514C表示字符串MySQL十六進(jìn)制數(shù)值不區(qū)分大小寫,其前綴可以被“0 x”取代且不用引號(hào)如:X41可以替換為0 x41,注意:“0 x”中x一定要小寫若要將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制值,可用cast()函數(shù)若要將一個(gè)字符串或

38、數(shù)字轉(zhuǎn)換為十六進(jìn)制,可用hex()函數(shù)68a3a2a1a0位a6a5a4 位0000010100111001011101110000000100100011010001010110011110001001101010111100110111101111NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETB CANEMSUBESCFSGSRSUSSP!“#$%&,()*+-./0123456789:;?ABCDEFGHIJKLMNOPQRSTUVWXYZ、abcdefghijklmNoPqrstuvwxyz|DELMYSQ

39、L數(shù)據(jù)基礎(chǔ) 常量日期時(shí)間常量用單引號(hào)將表示日期時(shí)間的字符串括起來構(gòu)成日期型常量包括年、月、日,表示為“年-月-日,數(shù)據(jù)類型為DATE中間的間隔符“-”也可以使用如“”、“”或“%”等特殊符號(hào)時(shí)間型常量包括小時(shí)、分、秒及微秒,表示為“小時(shí):分:秒:微秒”,表示為“年-月-日 小時(shí):分:秒:微秒,數(shù)據(jù)類型為DATETIME時(shí)間戳?xí)雎晕⒚?0MYSQL數(shù)據(jù)基礎(chǔ) 常量位字段常量位字段常量用b值的形式表示,值用0和1組合例如,b0顯示為空白,b1顯示為一個(gè)笑臉圖標(biāo)使用bin函數(shù)可以將位字段常量顯示為二進(jìn)制格式使用oct函數(shù)可以將位字段常量顯示為數(shù)值型格式71MYSQL數(shù)據(jù)基礎(chǔ) 常量布爾值包含TRUE和

40、FALSE(不區(qū)分大小寫)FALSE的數(shù)字值為0,TRUE的數(shù)字值為1NULL值適用于各種列類型,通常用來表示“沒有值”、“無數(shù)據(jù)”等意義注意:NULL值不同于數(shù)字類型的“0”或字符串類型的空字符串72MYSQL數(shù)據(jù)基礎(chǔ) 變量變量指在程序運(yùn)行過程中其值不斷變化,沒有固定值的量分類系統(tǒng)級(jí)變量:用于控制數(shù)據(jù)庫的一些行為和方式的參數(shù),用于初始化或設(shè)定數(shù)據(jù)庫對(duì)系統(tǒng)資源的占用,文件存放位置等,包括全局變量、會(huì)話變量用戶級(jí)變量:用戶可以自己定義變量,自變量在使用中變量名不區(qū)分大小寫,最大長(zhǎng)度為64個(gè)字符,包括用戶變量、局部變量73MYSQL數(shù)據(jù)基礎(chǔ) 變量全局變量影響服務(wù)器整體操作,只有SUPER權(quán)限能更改

41、查看全局變量1)SELECT GLOBAL.var_name;2)SHOW GLOBAL variables LIKE %var%“;設(shè)置全局變量1)SET GLOBAL var_name = value; 2)SET GLOBAL.var_name = value; 74MYSQL數(shù)據(jù)基礎(chǔ) 變量會(huì)話變量(SET設(shè)置變量時(shí)默認(rèn)為SESSION)服務(wù)器為每個(gè)連接的客戶端維護(hù)一系列會(huì)話變量查看會(huì)話變量1)SELECT var_name;2)SELECT session.var_name;3)SHOW SESSION variables LIKE “%var%“;設(shè)置會(huì)話變量1)SET SESSIO

42、N var_name = value;2)SET SESSION.var_name = value;3)SET var_name = value;75MYSQL數(shù)據(jù)基礎(chǔ) 變量用戶變量格式:變量名,如x作用于當(dāng)前整個(gè)連接,若連接斷開,其定義的用戶變量都會(huì)消失用戶變量賦值有兩種方式:1)用“=”號(hào) 2)用:=號(hào)區(qū)別:使用set命令對(duì)用戶變量進(jìn)行賦值時(shí),兩種方式均可使用select語句對(duì)用戶變量進(jìn)行賦值時(shí),只能使用“:=”方式,“=”號(hào)被看作是比較操作符例如:set x=3; SET x:=3; SELECT x:=3;76MYSQL數(shù)據(jù)基礎(chǔ) 變量局部變量一般用在sql語句塊中,如存儲(chǔ)過程的begi

43、n/end,其作用域僅限于該語句塊,在該語句塊執(zhí)行完畢后,局部變量就消失了局部變量一般用declare來聲明,可以使用default來說明默認(rèn)值create procedure pro_add(in a int,in b int) BEGIN declare c int default 0; set c=a+b; select c as result; END/77MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與表達(dá)式除數(shù)為0時(shí),返回NULL78運(yùn)算符功能表達(dá)式例子結(jié)果+ -加減運(yùn)算3+5-71* /乘除法運(yùn)算9*2/36%求余運(yùn)算,返回余數(shù)16%51DIV整除,返回商5 DIV 22MYSQL

44、數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式比較運(yùn)算符與表達(dá)式運(yùn)算結(jié)果為1(TRUE)、0(FALSE)、NULL79運(yùn)算符功能舉例結(jié)果=等于1=0,2=2,NULL=NULL0,1,NULL完全等于10,22,NULLNULL0,1,1(!=)不等于10,22,NULLNULL1,0,NULL=小于等于gdgd,1=2,NULL=大于等于gd=gd,10=2,NULL=NULL1,1,NULL大于gdgd,1002,NULLNULL0,1,NULLIS NULL判斷某值是否NULLNULL ISNULL,ISNULL(10)1,0IS NOT NULL判斷一個(gè)值是否不為NULLNULL IS NOT NULL,

45、10 IS NOT NULL0,1MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式比較運(yùn)算符與表達(dá)式(續(xù))80運(yùn)算符功能舉例結(jié)果LEAST在有兩個(gè)或多個(gè)參數(shù)時(shí),返回最小值least(2,0)least(20.0,3.0,100.5)least(10,NULL)03.0NULLGREATEST當(dāng)有2或多個(gè)參數(shù)時(shí),返回最大值greatest(2,0)greatest(20.0,3.0,100.5)greatest(10,NULL)2100.5NULLMYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式比較運(yùn)算符與表達(dá)式(續(xù))81運(yùn)算符功能舉例結(jié)果BETWEEN AND判斷一個(gè)值是否落在兩個(gè)值之間4 BETWEEN 4 AND 6

46、12 BETWEEN 9 AND 1010IN判斷一個(gè)值是IN列表中的任意一個(gè)值2 IN(1,3,5,thks),thks IN(1,3,5,thks)01NOT IN判斷一個(gè)值不是IN列表中的任意一個(gè)值2 NOT IN(1,3,5,thks)thks NOT IN(1,3,5,thks);10MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式邏輯運(yùn)算符與表達(dá)式參與運(yùn)算的數(shù)通常以0為FALSE,非0為TRUE運(yùn)算結(jié)果為1(TRUE)、0(FALSE)、NULL82運(yùn)算符作用舉例結(jié)果NOT或者!邏輯非NOT 10, NOT(1-1)NOT NULL0,1,NULLAND或者&邏輯與1AND-1,1AND 0,1

47、 AND NULL1,0,NULLOR或者|OR或者|1OR-1,0 OR 0,0 OR NULL1,0,NULLXOR邏輯異或1XOR0,0XOR01 XOR NULL,1,0,NULLMYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式邏輯運(yùn)算與:見0為0,全1為1或:見1為1,全為為0異或:相異為1,相同為083ABA AND BA OR BNOT AA XOR B000010010111100101111100MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式位運(yùn)算符與表達(dá)式位運(yùn)算都是在二進(jìn)制數(shù)上完成的對(duì)位運(yùn)算先將參與運(yùn)算的數(shù)變?yōu)槎M(jìn)制再進(jìn)行按位運(yùn)算,最后再將計(jì)算結(jié)果變回十進(jìn)制84運(yùn)算符功能舉例結(jié)果|位或10|15,9

48、|4|2;15,15&位與10&15,9&4&2;10,0位異或1015,10,11;5,1,0位取反5&1;410:101012:11005:1011:1MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式位運(yùn)算符與表達(dá)式格式mn:將m右移n位,左側(cè)補(bǔ)0mn:將m左移n位,右側(cè)補(bǔ)085運(yùn)算符功能舉例結(jié)果位左移12,4位右移11,162;0,49:10013:11MYSQL數(shù)據(jù)基礎(chǔ) 運(yùn)算符與表達(dá)式運(yùn)算符優(yōu)先級(jí)86優(yōu)先級(jí)作用運(yùn)算符低高賦值運(yùn)算=,:=邏輯異或XOR邏輯與&,AND邏輯非NOTBETWEEN、CASE、WHEN、THEN、ELSE比較運(yùn)算符=,=,=,!=,IS,LIKE,REGEXP,IN位或|位

49、與&位左右移算術(shù)加減-,+算術(shù)乘除取余*,/,DIV,%位異或取負(fù)、位取反-,邏輯非!21的隨機(jī)數(shù)RAND()省略RAND(x)返回0-1的隨機(jī)數(shù),x值相同時(shí)返回的隨機(jī)數(shù)相同RAND(2)省略MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)數(shù)學(xué)函數(shù)(續(xù))90函數(shù)作用舉例結(jié)果EXP(x)返回e的x次方EXP(3)省略LOG(x)返回自然對(duì)數(shù)(以e為底)LOG(3)省略RADIANS(x)將角度轉(zhuǎn)換為弧度RADIANS(180)省略ASIN(x)求反正弦值(參數(shù)是弧度)ASIN(3.14)省略COS(x)求余弦值(參數(shù)是弧度)COS(3.14)省略ACOS(x)求反余弦值(參數(shù)是弧度)ACOS(3.14)省略TAN(x)

50、求正切值(參數(shù)是弧度)TAN(3.14)省略ATAN(x) ATAN2(x)求反正切值(參數(shù)是弧度)ATAN(3.14) 省略COT(x)求余切值(參數(shù)是弧度)COT(3.14)省略MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)字符串函數(shù)91函數(shù)作用舉例結(jié)果CHAR_LENGTH(s)s的字符數(shù)CHAR_LENGTH(你1)2LENGTH(s)s的長(zhǎng)度 LENGTH(你好123)9CONCAT(s1,s2,.)合并s1,s2CONCAT(12,34)1234CONCAT_WS(x,s1,s2,.)合并并加上x CONCAT_WS(,1,3)13INSERT(s1,x,len,s2)用s2替換s1的x位置開始長(zhǎng)度為l

51、en的字符串INSERT(12345,1,3,abc)abc45REPLACE(s,s1,s2)用s2替代s中的s1REPLACE(abc,a,x)xbcMYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)字符串函數(shù)(續(xù))92函數(shù)作用舉例結(jié)果LEFT(s,n)取s左邊n個(gè)字符LEFT(abcde,2)abRIGHT(s,n)取s右邊n個(gè)字符RIGHT(abcde,2)deSUBSTRING(s,n,len)MID(s,n,len)從s中的第n個(gè)位置取長(zhǎng)度為len的字符串SUBSTRING(abcd,2,3)bcdLTRIM(s)去掉s左邊的空格LTRIM( a b )a bRTRIM(s)去掉s右邊的空格RTRIM( a

52、 b ) a bTRIM(s)去掉s左右的空格TRIM( a b )a bTRIM(s1 FROM s)去掉s中左右的字符串s1TRIM(FROMab)abMYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)字符串函數(shù)(續(xù))93函數(shù)作用舉例結(jié)果UPPER(s),UCAASE(S)將s變成大寫字母 UPPER(abc)ABCLOWER(s),LCASE(s)將s變成小寫字母LOWER(ABC)abcREPEAT(s,n)將字符串s重復(fù)n次REPEAT(ab,3)abababSPACE(n)返回n個(gè)空格SPACE(3)REVERSE(s)將s的順序反過來REVERSE(abc)cbaMYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)字符串函數(shù)(續(xù))9

53、4函數(shù)作用舉例結(jié)果STRCMP(s1,s2)比較字符串s1和s2STRCMP(ab,ac)-1LOCATE(s1,s),從s中獲取s1的位置LOCATE(b, abc)2POSITION(s1 IN s)從s中獲取s1的位置POSITION(b IN abc)2LPAD(s1,len,s2)用s2來填充s1的左邊,使字符串長(zhǎng)度達(dá)到lenLPAD(abc,5,xx)xxabcRPAD(s1,len,s2)用s2來填充s1的右邊,使字符串長(zhǎng)度達(dá)到len RPAD(abc,5,xx)abcxxMYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)字符串函數(shù)(續(xù))95函數(shù)作用舉例結(jié)果INSTR(s,s1)從s中獲取s1的位置INS

54、TR(abc,b)2ELT(n,s1,s2,.)返回第n個(gè)字符串ELT(2,a,b,c)bFIELD(s,s1,s2.)返回與s匹配的字符位置FIELD(c,a,b,c)3MAKE_SET(x,s1,s2)返回一個(gè)字符集合 MAKE_SET(1|4,a,b,c)a,cSUBSTRING_INDEX返回字符串SUBSTRING_INDEX(a*b,*,1)aFIND_IN_SET(s1,s2)返回在s2中與s1匹配的字符串的位置FIND_IN_SET(b,a,b,c,d)2MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)日期時(shí)間函數(shù)96函數(shù)作用舉例結(jié)果CURDATE()CURRENT_DATE()返回當(dāng)前日期CURDA

55、TE()2017-07-27CURRENT_DATE()2017-07-27CURTIME()CURRENT_TIME返回當(dāng)前時(shí)間CURTIME()10:40:40CURRENT_TIME10:40:40NOW()LOCALTIME()SYSDATE()LOCALTIMESTAMP()返回當(dāng)前日期時(shí)間NOW()LOCALTIME()SYSDATE()LOCALTIMESTAMP()2017-07-27 10:42:12MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)日期時(shí)間函數(shù)(續(xù))97函數(shù)作用舉例結(jié)果DATE(d)返回指定的日期DATE(NOW()當(dāng)天日期YEAR(d)返回d中的年份YEAR(2017-07-27)

56、2017MONTH(d)返回d中的月份MONTH(2017-07-27)7DAY(d)返回d中的日DAY(2017-07-27)27TIME(t)返回指定的時(shí)間TIME(NOW()當(dāng)前時(shí)間HOUR(t)返回t中的小時(shí)值HOUR(1:2:3)1MINUTE(t)返回t中的分鐘值MINUTE(1:2:3)2SECOND(t)返回t中的秒鐘值SECOND(1:2:3)3MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)日期時(shí)間函數(shù)(續(xù))98函數(shù)作用舉例結(jié)果UTC_DATE()返回UTC日期UTC_DATE()2017-07-27UTC_TIME()返回UTC時(shí)間UTC_TIME()02:48:21MONTHNAME(d)返回

57、d中月份名稱 MONTHNAME(2017-07-27)JulyDAYNAME(d)返回d是星期幾DAYNAME(2017-07-27)ThursdayWEEK(d) WEEKOFYEAR(d)返回d是本年第幾個(gè)星期,范圍是0-53WEEK(2011-11-11)30DAYOFYEAR(d)返回d是本年第幾天DAYOFYEAR(2017-07-27 )208QUARTER(d)返回d是第幾季節(jié)QUARTER(2017-07-27 )3TIME_TO_SEC(t)將時(shí)間t轉(zhuǎn)換為秒TIME_TO_SEC(1:12:00)4320SEC_TO_TIME(s)秒數(shù)s轉(zhuǎn)換為時(shí)分秒SEC_TO_TIME(

58、4320)01:12:00TO_DAYS(d)計(jì)算日期d距離0000年1月1日的天數(shù)TO_DAYS(0001-01-01 01:01:01)366MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)聚合函數(shù)99函數(shù)作用COUNT()返回指定列的計(jì)數(shù)統(tǒng)計(jì)結(jié)果SUM()返回指定列的和AVERAGE()返回指定列的算術(shù)平均值MAX()返回指定列中的最大值MIN()返回指定列中的最小值STD() STDDEV()返回指定列所有值的標(biāo)準(zhǔn)差VARIANCE()返回指定列所有值 的方差GROUP_CONCAT返回屬于一組的列值連接組合而成的結(jié)果MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)系統(tǒng)信息函數(shù)100函數(shù)作用VERSION()返回?cái)?shù)據(jù)庫的版本號(hào)CON

59、NECTION_ID()返回服務(wù)器的連接數(shù)DATABASE(),SCHEMA()返回當(dāng)前數(shù)據(jù)庫名USER(),SYSTEM_USER(),SESSION_USER()CURRENT_USER(),CURRENT_USER返回當(dāng)前用戶CHARSET(str)返回字符串str的字符集COLLATION(str)返回字符串str的字符排列方式LAST_INSERT_ID()返回最近生成的AUTO_INCREMENT值LOAD_FILE(file_name)讀入文件并返回文件內(nèi)容MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)加密函數(shù)加密后,敏感信息會(huì)顯示為亂碼101函數(shù)說明PASSWORD(str)用于給用戶的密碼加密,不

60、可逆ENCODE(str,pswd_str)使用加密密碼pswd_str來加密字符串str,結(jié)果是二進(jìn)制數(shù)DECODE(crypt_str,pswd_str)使用解密密碼pswd_str來解密字符串strMD5用于不需要解密的數(shù)據(jù)加密MYSQL數(shù)據(jù)基礎(chǔ) 函數(shù)其他函數(shù)102函數(shù)說明FORMAT(x,n)將數(shù)字x進(jìn)行格式化,將x保留到小數(shù)點(diǎn)后n位ASCII(s)返回字符串s的第一個(gè)字符的ASCII碼BIN(x)返回x的二進(jìn)制編碼HEX(x)返回x的十六進(jìn)制編碼;OCT(x)返回x的八進(jìn)制編碼CAST(x AS type)將數(shù)據(jù)x的類型轉(zhuǎn)換為typeIF(expr,v1,v2)若表達(dá)式expr成立,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論