《MySQL數(shù)據(jù)庫原理與應(yīng)用(微課版)》全套教學(xué)課件_第1頁
《MySQL數(shù)據(jù)庫原理與應(yīng)用(微課版)》全套教學(xué)課件_第2頁
《MySQL數(shù)據(jù)庫原理與應(yīng)用(微課版)》全套教學(xué)課件_第3頁
《MySQL數(shù)據(jù)庫原理與應(yīng)用(微課版)》全套教學(xué)課件_第4頁
《MySQL數(shù)據(jù)庫原理與應(yīng)用(微課版)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩466頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

graduationthesisdefense數(shù)據(jù)庫基礎(chǔ)本章概述

主要內(nèi)容

本章學(xué)習(xí)目標

全套可編輯PPT課件ch01數(shù)據(jù)庫基礎(chǔ)ch02初識MySQLch03MySQL圖形化管理工具ch04數(shù)據(jù)庫操作ch05數(shù)據(jù)表操作ch06數(shù)據(jù)記錄操作ch07數(shù)據(jù)查詢ch08MySQL函數(shù)ch09運算符ch10視圖ch11存儲程序ch12觸發(fā)器ch13MySQL權(quán)限與安全管理ch14數(shù)據(jù)備份與恢復(fù)ch15MySQL日志ch16性能優(yōu)化ch17綜合項目本章概述本章主要介紹數(shù)據(jù)庫的相關(guān)概念,主要包括數(shù)據(jù)庫技術(shù)的發(fā)展、數(shù)據(jù)庫系統(tǒng)的組成、數(shù)據(jù)模型的概念與規(guī)范、結(jié)構(gòu)化查詢語言SQL、數(shù)據(jù)庫的體系結(jié)構(gòu)、E-R圖的設(shè)計方法,以及數(shù)據(jù)庫設(shè)計。通過本章的學(xué)習(xí),讀者可以對數(shù)據(jù)庫基礎(chǔ)知識有一個概括性的認識,并對數(shù)據(jù)庫設(shè)計步驟有大致的了解。本章學(xué)習(xí)目標了解數(shù)據(jù)庫技術(shù)的發(fā)展階段,數(shù)據(jù)庫系統(tǒng)的組成,數(shù)據(jù)模型與規(guī)范化,結(jié)構(gòu)化查詢語言SQL;熟記數(shù)據(jù)庫的體系結(jié)構(gòu),內(nèi)容包括數(shù)據(jù)庫三級模式結(jié)構(gòu)、三級模式之間的映射;

掌握E-R圖的概念及設(shè)計,內(nèi)容包括實體、屬性、關(guān)系的概念,以及E-R圖設(shè)計原則;

掌握數(shù)據(jù)庫設(shè)計的步驟與方法,內(nèi)容包括為實體建立數(shù)據(jù)表、為表建立主鍵和外鍵、為字段選擇合適的數(shù)據(jù)類型、定義約束條件。0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄PART01數(shù)據(jù)庫技術(shù)的發(fā)展;數(shù)據(jù)庫系統(tǒng)的組成;數(shù)據(jù)模型與規(guī)范化;結(jié)構(gòu)化查詢語言SQL。數(shù)據(jù)庫概述數(shù)據(jù)庫技術(shù)的發(fā)展20世紀50年代后期到20世紀60年代中期,硬件設(shè)備和軟件技術(shù)都有了進一步發(fā)展,大容量的磁盤等輔助存儲設(shè)備的出現(xiàn),使得專門管理輔助設(shè)備上的數(shù)據(jù)的文件系統(tǒng)應(yīng)運而生。本階段的特點是:數(shù)據(jù)可以長期保留;數(shù)據(jù)不屬于某個特定應(yīng)用;文件組織形式的多樣化。缺點是:數(shù)據(jù)冗余、數(shù)據(jù)不一致性、數(shù)據(jù)孤立。20世紀50年代中期以前,計算機主要用于科學(xué)計算。本階段的特點是:數(shù)據(jù)量較少;數(shù)據(jù)不保存;沒有軟件系統(tǒng)對數(shù)據(jù)進行管理。人工管理階段文件系統(tǒng)階段20世紀60年代后期以來,計算機應(yīng)用于管理系統(tǒng),出現(xiàn)了數(shù)據(jù)庫系統(tǒng)來統(tǒng)一管理數(shù)據(jù)。本階段的特點是:采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu);有較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)的組成用戶存儲數(shù)據(jù)的集合,包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。數(shù)據(jù)庫管理系統(tǒng)負責(zé)數(shù)據(jù)庫設(shè)計和維護。進行數(shù)據(jù)查詢和操作。包括用戶界面和業(yè)務(wù)邏輯。數(shù)據(jù)庫數(shù)據(jù)庫管理員應(yīng)用系統(tǒng)用于數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制的系統(tǒng)。數(shù)據(jù)模型與規(guī)范化-數(shù)據(jù)模型的概念數(shù)據(jù)模型(DataModel)是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個抽象的框架。數(shù)據(jù)模型所描述的內(nèi)容有三部分,分別是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。數(shù)據(jù)模型與規(guī)范化-不同應(yīng)用層次的數(shù)據(jù)模型概念數(shù)據(jù)模型是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結(jié)構(gòu),它是數(shù)據(jù)庫的設(shè)計人員在設(shè)計的初始階段。邏輯數(shù)據(jù)模型是一種面向數(shù)據(jù)庫系統(tǒng)的模型,是具體的DBMS所支持的數(shù)據(jù)模型,如層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型、關(guān)系數(shù)據(jù)模型。物理數(shù)據(jù)模型是一種面向計算機物理表示的模型,描述了數(shù)據(jù)在儲存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。據(jù)模型與規(guī)范化-常見的邏輯數(shù)據(jù)模型層次模型將數(shù)據(jù)組織成一對多關(guān)系的結(jié)構(gòu),用樹形結(jié)構(gòu)表示實體及實體間的聯(lián)系。網(wǎng)狀模型用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型被稱為網(wǎng)狀模型,是具有多對多類型的數(shù)據(jù)組織方式。關(guān)系模型關(guān)系模型以二維表來描述數(shù)據(jù)。在關(guān)系模型中,每個表都有多個字段列和記錄行,而每個字段列都有固定的屬性(數(shù)字、字符、日期等)。關(guān)系數(shù)據(jù)庫規(guī)范化第二范式是在第一范式的基礎(chǔ)上建立起來的,即滿足第二范式必先滿足第一范式。第二范式要求數(shù)據(jù)庫表中的每個實體(即各個記錄行)必須可以被唯一地區(qū)分。第三范式是在第二范式的基礎(chǔ)上建立起來的,即滿足第三范式必先滿足第二范式。第三范式要求關(guān)系表不存在非關(guān)鍵字列對任意候選關(guān)鍵字列的傳遞函數(shù)依賴。第三范式第一范式第一范式是指在一個關(guān)系中,消除重復(fù)字段,且各字段都是最小的邏輯存儲單位。這是最基本的范式。第二范式數(shù)據(jù)模型與規(guī)范化-關(guān)系數(shù)據(jù)庫設(shè)計原則數(shù)據(jù)庫內(nèi)數(shù)據(jù)文件的數(shù)據(jù)組織應(yīng)獲得最大限度的共享、最小的冗余度,消除數(shù)據(jù)及數(shù)據(jù)依賴關(guān)系中的冗余部分,使依賴于同一個數(shù)據(jù)模型的數(shù)據(jù)達到有效的分離。保證輸入、修改數(shù)據(jù)時數(shù)據(jù)的一致性與正確性。保證數(shù)據(jù)與使用數(shù)據(jù)的應(yīng)用程序之間的高度獨立性。結(jié)構(gòu)化查詢語言SQL結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,SQL)是一種應(yīng)用于關(guān)系數(shù)據(jù)庫查詢的結(jié)構(gòu)化語言,最早是由Boyce和Chamberlin在1974年提出的,稱為SEQUEL語言。SQL語言的功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制4個部分。SQL語言簡潔、方便、實用,為完成其核心功能只用了6個動詞——SELECT、CREATE、INSERT、UPDATE、DELETE和GRANT(REVOKE)。甲骨文公司的Oracle數(shù)據(jù)庫所使用的SQL語言是ProceduralLanguage/SQL(簡稱PL/SQL),而微軟公司的SQLServer數(shù)據(jù)庫系統(tǒng)支持的是Transact-SQL(簡稱T-SQL)。MySQL也對SQL標準進行了擴展,只是至今沒有命名。0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄PART02數(shù)據(jù)庫三級模式;三級模式之間的映射。數(shù)據(jù)庫的體系結(jié)構(gòu)數(shù)據(jù)庫三級模式模式也被稱為邏輯模式或概念模式。它是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,也是所有用戶的公共數(shù)據(jù)視圖。一個數(shù)據(jù)庫只有一個模式。內(nèi)模式也被稱為存儲模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,也是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。一個數(shù)據(jù)庫只有一個內(nèi)模式。內(nèi)模式外模式外模式也被稱為用戶模式。它是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,也是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。模式三級模式之間的映射外模式/模式映射模式/內(nèi)模式映射同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映射。當模式發(fā)生改變時,由數(shù)據(jù)庫管理員對各個外模式/模式映射做相應(yīng)的改變,可以使外模式保持不變。保證了數(shù)據(jù)與程序的邏輯獨立性。數(shù)據(jù)庫中只有一個模式和一個內(nèi)模式,因此模式/內(nèi)模式映射是唯一的,它定義了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當數(shù)據(jù)庫的存儲結(jié)構(gòu)被改變時,數(shù)據(jù)庫管理員對模式/內(nèi)模式映射進行相應(yīng)的改變,以保持模式不變,應(yīng)用程序也會相應(yīng)地發(fā)生變動。保證了數(shù)據(jù)與程序的物理獨立性。為了能夠在內(nèi)部實現(xiàn)數(shù)據(jù)庫的3個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了兩層映射,分別為外模式/模式映射和模式/內(nèi)模式映射。0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄PART03E-R圖(Entity-RelationshipDiagram)也稱“實體—關(guān)系圖”,用于描述現(xiàn)實世界的事物,以及事物與事物之間的關(guān)系。其中E表示實體,R表示關(guān)系。它提供了表示實體類型、屬性和關(guān)系的方法。E-R圖E-R圖的概念實體屬性實體所具有的性質(zhì)或特征。關(guān)系實體之間的聯(lián)系。E-R圖中表示現(xiàn)實世界中的對象或概念。E-R圖設(shè)計原則在設(shè)計E-R圖時,應(yīng)盡量簡化設(shè)計,避免信息冗余。簡化設(shè)計,避免冗余E-R圖設(shè)計應(yīng)準確描述實體及其相互關(guān)系。準確描述實體和關(guān)系0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄PART04為實體建立數(shù)據(jù)表;為表建立主鍵和外鍵;為字段選擇合適的數(shù)據(jù)類型;定義約束條件。數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計步驟需求分析創(chuàng)建概念模型,描述數(shù)據(jù)的邏輯結(jié)構(gòu)。邏輯設(shè)計將概念模型轉(zhuǎn)換為邏輯模型,為數(shù)據(jù)庫管理系統(tǒng)準備。物理設(shè)計概念設(shè)計收集和分析用戶需求,確定數(shù)據(jù)庫設(shè)計的方向。根據(jù)邏輯模型,設(shè)計數(shù)據(jù)庫的物理存儲結(jié)構(gòu)。數(shù)據(jù)庫設(shè)計方法為數(shù)據(jù)表設(shè)置主鍵和外鍵,確保數(shù)據(jù)的完整性和關(guān)聯(lián)性。定義數(shù)據(jù)表的約束條件,保證數(shù)據(jù)的正確性和一致性。為表建立主鍵和外鍵根據(jù)實體關(guān)系,為每個實體建立相應(yīng)的數(shù)據(jù)表。為實體建立數(shù)據(jù)表為字段選擇合適的數(shù)據(jù)類型定義約束條件根據(jù)字段的數(shù)據(jù)特性,選擇合適的數(shù)據(jù)類型。0501020304E-R圖數(shù)據(jù)模型的體系結(jié)構(gòu)本章小結(jié)數(shù)據(jù)庫概述數(shù)據(jù)庫設(shè)計目錄PART05本章主要介紹的是數(shù)據(jù)庫技術(shù)基礎(chǔ)知識,首先概括性介紹了數(shù)據(jù)庫,包括數(shù)據(jù)庫技術(shù)的發(fā)展、數(shù)據(jù)庫系統(tǒng)的組成、數(shù)據(jù)模型與規(guī)范化、結(jié)構(gòu)化查詢語言SQL;然后介紹數(shù)據(jù)庫體系結(jié)構(gòu),包括數(shù)據(jù)庫三級模式(外模式、模式、內(nèi)模式)和兩級映射(外模式/模式映射和模式/內(nèi)模式映射);接著介紹E-R圖的繪制;最后介紹了數(shù)據(jù)庫設(shè)計過程。本章小結(jié)數(shù)據(jù)庫技術(shù)的重要性關(guān)系模型的主流地位數(shù)據(jù)管理的基礎(chǔ)數(shù)據(jù)模型的核心地位E-R圖設(shè)計是數(shù)據(jù)庫設(shè)計的重要工具。數(shù)據(jù)模型是數(shù)據(jù)庫設(shè)計的核心。E-R圖設(shè)計的重要性數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的基礎(chǔ)。關(guān)系模型是目前主流的數(shù)據(jù)庫數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計的步驟和方法數(shù)據(jù)庫設(shè)計需要遵循一定的步驟和方法。謝謝觀看第2章初識MySQL本章概述MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),屬于Oracle旗下產(chǎn)品。MySQL軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點。本章學(xué)習(xí)目標了解MySQL的概念、發(fā)展史、特性、優(yōu)勢和應(yīng)用環(huán)境;掌握Windows平臺下MySQL的安裝與配置;

掌握Linux平臺下MySQL的安裝和配置;

掌握MySQL服務(wù)的啟動與停止;掌握Path變量的配置;熟悉MySQL命令窗口的實用;了解如何學(xué)好MySQL。目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQLLinux平臺下安裝和配置MyLSQL如何學(xué)好MySQLMySQL概述目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQLLinux平臺下安裝和配置MyLSQL如何學(xué)好MySQLMySQL概述01MySQL概述01MySQL是由瑞典的MySQL

AB公司開發(fā)的,該公司于1995年建立,目前屬于Oracle公司。MySQL的符號是一只名為Sakila的海豚,代表著MySQL數(shù)據(jù)庫和團隊的速度、能力、精確和優(yōu)秀本質(zhì)。MySQL的起源可以追溯到1995年,當時瑞典開發(fā)者Michael

Widenius和David

Axmark開始創(chuàng)建一個名為MySQL的輕量級數(shù)據(jù)庫系統(tǒng)。最初,MySQL僅僅是一個小型的、僅支持少量數(shù)據(jù)類型和表的數(shù)據(jù)庫,但它具有高度的可靠性和性能優(yōu)勢,很快就在Linux和其他UNIX操作系統(tǒng)上得到了廣泛的應(yīng)用。在接下來的幾年里,MySQL不斷改進并擴展其功能。逐漸成為Web應(yīng)用程序的主流數(shù)據(jù)庫之一。今天,MySQL已經(jīng)成為Web應(yīng)用程序和企業(yè)應(yīng)用的主流數(shù)據(jù)庫之一,它在全球擁有數(shù)百萬的用戶和開發(fā)者,支持各種語言和平臺。MySQL的發(fā)展史01MySQL概述2MySQL的優(yōu)勢作為一款自由軟件,MySQL允許任何人從官方網(wǎng)站下載。它是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器,能夠快捷、有效和安全地處理大量數(shù)據(jù),被廣泛地應(yīng)用于Internet上的中小型網(wǎng)站中。01MySQL概述03MySQL的應(yīng)用環(huán)境目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。01MySQL概述04(1)性能:MySQL

8.0的速度要比MySQL

5.7快2倍。(2)NoSQL:從MySQL5.7開始,提供NoSQL存儲功能,在MySQL8.0中這部分功能得到了更大的改進。(3)窗口函數(shù)(windowfunction):從MySQL8.0開始,新增了窗口函數(shù),可以用來實現(xiàn)若干種新的查詢方式。(4)隱藏索引:在MySQL8.0中,索引可以被隱藏或被顯示。當索引被隱藏后,它將不會被查詢優(yōu)化器使用。(5)降序索引:MySQL8.0為索引提供了按降序方式進行排序的支持,在這種索引中的值也會按降序的方式進行排序。(6)通用表表達式(commontableexpressions,CTE):在復(fù)雜的查詢中使用嵌入式表時,使用CTE使得查詢語句更清晰。(7)UTF-8編碼:從MySQL8.0開始,使用utf8mb4作為默認字符集。(8)JSON:MySQL8.0大幅改進了對JSON的支持,添加了基于路徑查詢參數(shù)從JSON字段中抽取數(shù)據(jù)的JSON_EXTRACT()函數(shù),以及用于將數(shù)據(jù)分別組合到JSON數(shù)組和對象中的JSON_ARRAYAGG()和JSON_OBJECTAGG()聚合函數(shù)。(9)可靠性:InnoDB現(xiàn)在支持表DDL的原子性,也就是InnoDB表上的DDL也可以實現(xiàn)事務(wù)完整性,要么失敗回滾,要么成功提交,不至于出現(xiàn)部分成功的問題。(10)高可用性(highavailability):InnoDB集群為數(shù)據(jù)庫提供了集成的原生HA解決方案。(11)安全性:OpenSSL改進、新的默認身份驗證、SQL角色、密碼強度、授權(quán)。MySQL8的新特性目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQLLinux平臺下安裝和配置MyLSQL如何學(xué)好MySQLMySQL概述02Windows平臺下安裝與配置MySQL可以通過訪問MySQL官方網(wǎng)站下載MySQL安裝包。下載頁面提供了多種版本的MySQLCommunityServer,用戶需要根據(jù)自己的操作系統(tǒng)選擇相應(yīng)的版本進行下載。下載完成后,將得到一個包含安裝文件的壓縮包。MySQL服務(wù)器安裝包的下載安裝過程包括啟動安裝向?qū)?、選擇安裝類型、安裝插件、配置服務(wù)器、設(shè)置網(wǎng)絡(luò)和安全選項、配置用戶賬戶和角色、配置Windows服務(wù)以及應(yīng)用配置等步驟。安裝完成后,可以通過ProductConfiguration界面進行進一步的配置。MySQL服務(wù)器的安裝目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQLLinux平臺下安裝和配置MyLSQL如何學(xué)好MySQLMySQL概述03啟動服務(wù)并登錄MySQL數(shù)據(jù)庫(1)右擊“計算機”圖標,在彈出的快捷菜單中選擇“屬性”命令,在彈出的“系統(tǒng)”對話框中單擊“高級系統(tǒng)設(shè)置”彈出“系統(tǒng)屬性”對話框。(2)在“系統(tǒng)屬性”對話框中,選擇“高級”選項卡,單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框。(3)在“環(huán)境變量”對話框中,選擇“系統(tǒng)變量”中的Path選項,單擊“編輯”按鈕,彈出“編輯環(huán)境變量”對話框。(4)在“編輯環(huán)境變量”對話框中,將MySQL服務(wù)器的bin文件夾位置(C:\ProgramFiles\MySQL\MySQLServer8.0\bin)添加到“變量值”文本框中,如圖所示。配置Path變量03啟動服務(wù)并登錄MySQL數(shù)據(jù)庫啟動和停止MySQL(1)通過系統(tǒng)服務(wù)啟動、停止MySQL服務(wù)器。如果MySQL被設(shè)置為Windows服務(wù),則可以通過選擇“開始”→“控制面板”→“系統(tǒng)和安全”→“管理工具”→“服務(wù)”命令打開Windows服務(wù)管理器。(2)在命令提示符下啟動、停止MySQL服務(wù)器:net

start

MySQL8003啟動服務(wù)并登錄MySQL數(shù)據(jù)庫連接和斷開MySQL連接MySQL服務(wù)器可以通過mysql命令實現(xiàn),需要指定用戶名、主機地址、端口和密碼。連接后,可以通過exit或quit命令斷開與MySQL服務(wù)器的連接。連接到MySQL服務(wù)器后,可以通過在MySQL提示符下輸入exit或者quit命令斷開與MySQL服務(wù)器的連接。03啟動服務(wù)并登錄MySQL數(shù)據(jù)庫打開MySQL8.0CommandLineClient安裝完成后,可以通過開始菜單打開MySQL8.0CommandLineClient程序,并使用root用戶登錄MySQL服務(wù)器,開始數(shù)據(jù)庫操作。目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQL如何學(xué)好MySQLMySQL概述Linux平臺下安裝和配置MySQLLinux平臺下安裝和配置MySQL在基于Debian的Linux發(fā)行版上,可以使用apt-get命令更新源并安裝MySQL服務(wù)。安裝后,可以通過systemctl命令檢查MySQL服務(wù)的狀態(tài)。在Linux平臺上,可以通過官網(wǎng)下載MySQL的安裝包,或者使用apt包管理器進行安裝。下載后,需要按依賴順序安裝.deb文件,或者使用dpkg命令和apt-get解決依賴問題。安裝完成后,可以通過服務(wù)命令檢查MySQL服務(wù)狀態(tài)。下載安裝MySQL通過apt安裝MySQL服務(wù)目錄0102050304啟動服務(wù)并登錄MySQL數(shù)據(jù)庫Windows平臺下安裝與配置MySQL如何學(xué)好MySQLMySQL概述Linux平臺下安裝和配置MySQL如何學(xué)好MySQL010302多上機實踐在掌握實踐技能的同時,也不能忽視數(shù)據(jù)庫理論知識的學(xué)習(xí),這對于深入理解數(shù)據(jù)庫的工作原理和優(yōu)化數(shù)據(jù)庫性能至關(guān)重要。多編寫SQL語句編寫SQL語句是數(shù)據(jù)庫管理的核心技能之一,通過不斷編寫和優(yōu)化SQL語句,可以提高數(shù)據(jù)庫操作的效率和準確性。學(xué)習(xí)MySQL的過程中,應(yīng)該多進行上機實踐,通過實際操作來加深對數(shù)據(jù)庫操作的理解和記憶。數(shù)據(jù)庫理論知識不能丟本章小結(jié)本章內(nèi)容回顧本章主要介紹了MySQL的發(fā)展史、優(yōu)勢、應(yīng)用環(huán)境和目前最新版本MySQL8的新特性;接著重點介紹了Windows操作系統(tǒng)下MySQL的安裝過程,Path環(huán)境變量配置,MySQL服務(wù)的啟動和停止操作,MySQL服務(wù)器的連接與斷開操作;簡單介紹了Linux系統(tǒng)下MySQL軟件的安裝;最后提供了一些學(xué)好MySQL的小技巧。謝謝觀看第3章

MySQL圖形化管理工具本章概述圖形化管理工具介紹MySQL的管理維護工具非常多,除了系統(tǒng)自帶的命令行管理工具,還有許多其他的圖形化管理工具,常用的有phpMyAdmin、Navicat、SQLyog、MySQLWorkbench等。這些第三方圖形化工具更加方便MySQL的管理。本章學(xué)習(xí)目標學(xué)習(xí)目標了解常用的MySQL圖形化管理工具;重點掌握phpMyAdmin、Navicat的使用。目錄01020304NavicatphpMyAdmin本章小結(jié)MySQL圖形化管理工具概述目錄01020304NavicatphpMyAdmin本章小結(jié)MySQL圖形化管理工具概述MySQL圖形化管理工具概述NavicatMySQLDumperMySQL

ODBC

ConnectorSQLyogphpMyAdminMySQL

Workbench目錄01020304NavicatphpMyAdmin本章小結(jié)MySQL圖形化管理工具概述phpMyAdmin3.2.1phpMyAdmin簡介phpMyAdmin的使用不用安裝客戶端,通過瀏覽器就能訪問使用。它是眾多MySQL圖形化管理工具中應(yīng)用最廣泛的一種,是一款使用PHP開發(fā)的B/S模式的MySQL客戶端軟件。此外,它還是基于Web跨平臺的管理程序,并且支持簡體中文。用戶可以在其官方網(wǎng)站()上免費下載最新版本。phpMyAdmin應(yīng)用phpMyAdmin圖形化管理工具,必須在本機中搭建PHP運行環(huán)境,將其作為一個項目在PHP開發(fā)環(huán)境中運行應(yīng)用。phpstudy的下載地址為/download.html,選擇最新版的phpstudy進行下載和安裝。3.2.2phpstudy安裝phpMyAdmin單擊phpstudy頁面左側(cè)的“軟件管理”,找到phpMyAdmin,單擊其右側(cè)的“安裝”按鈕,彈出一個“選擇站點”提示框,選中“選擇”復(fù)選框,選擇默認站點,然后單擊“確認”按鈕,開始安裝。3.2.3下載phpMyAdminphpMyAdmin在phpMyAdmin中單擊“新建”按鈕,輸入數(shù)據(jù)庫的名稱db_test,選擇編碼utf8_general_ci,單擊“創(chuàng)建”按鈕,即可創(chuàng)建數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫phpMyAdmin創(chuàng)建數(shù)據(jù)庫db_test后,單擊數(shù)據(jù)庫名稱,然后單擊【操作】按鈕,可在該頁面中對當前數(shù)據(jù)庫進行修改、復(fù)制、刪除操作,還可以為該數(shù)據(jù)庫新建數(shù)據(jù)表。修改和刪除數(shù)據(jù)庫phpMyAdmin創(chuàng)建數(shù)據(jù)表修改數(shù)據(jù)表刪除數(shù)據(jù)表3.2.6管理數(shù)據(jù)表插入數(shù)據(jù)記錄修改數(shù)據(jù)記錄刪除數(shù)據(jù)記錄瀏覽數(shù)據(jù)搜索數(shù)據(jù)3.2.7管理數(shù)據(jù)記錄目錄01020304NavicatphpMyAdmin本章小結(jié)MySQL圖形化管理工具概述NavicatNavicat是一套快速、可靠的數(shù)據(jù)庫管理工具,專為簡化數(shù)據(jù)庫管理和降低系統(tǒng)管理成本而開發(fā)。Navicat使用可視化圖形用戶界面,讓用戶能夠以安全、簡單的方式創(chuàng)建、組織、訪問數(shù)據(jù)庫。Navicat適用于3種平臺:MicrosoftWindows、MacOSX及Linux。Navicat支持中文,可免費下載,下載地址:/products。Navicat簡介NavicatNavicat下載、Navicat安裝、服務(wù)器連接、創(chuàng)建數(shù)據(jù)庫、新建數(shù)據(jù)表、添加數(shù)據(jù)記錄、導(dǎo)出/導(dǎo)入數(shù)據(jù)、“工具”菜單。Navicat操作目錄01020304NavicatphpMyAdmin本章小結(jié)MySQL圖形化管理工具概述本章小結(jié)通過圖形化管理工具可以更方便的對數(shù)據(jù)庫進行管理和訪問。本章主要重點介紹了兩款主流的MySQL圖形化管理工具:使用PHP開發(fā)的phpMyAdmin和客戶端管理軟件Navicat。介紹phpMyAdmin過程中,使用到了集成開發(fā)工具phpstudy。其他圖形化管理工具的操作類似,讀者重點學(xué)習(xí)這兩款圖形化工具后,可以自行探索其他可視化管理工具的使用操作。謝謝觀看匯報人:秒出PPT第4章

數(shù)據(jù)庫操作本章概述啟動并連接MySQL服務(wù)器后,即可對MySQL數(shù)據(jù)庫進行操作。操作數(shù)據(jù)庫的方式有兩種:通過命令行實現(xiàn)和通過圖形化管理軟件實現(xiàn)。本章將詳細介紹數(shù)據(jù)庫的創(chuàng)建、查看、選擇、修改和刪除操作。本章學(xué)習(xí)目標了解關(guān)系型數(shù)據(jù)庫的基礎(chǔ)知識;掌握MySQL數(shù)據(jù)庫的創(chuàng)建、查看、選擇、修改和刪除操作;了解存儲引擎的作用,MySQL支持的存儲引擎,包括InnoDB、MyISAM、MEMORY;了解如何選擇存儲引擎,如何設(shè)置存儲引擎。目錄01020304存儲引擎操作數(shù)據(jù)庫本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)目錄01020304存儲引擎操作數(shù)據(jù)庫本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)關(guān)系數(shù)據(jù)庫基礎(chǔ)4.1.1關(guān)系數(shù)據(jù)庫基礎(chǔ)知識關(guān)系數(shù)據(jù)庫是支持關(guān)系模型的數(shù)據(jù)庫。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和完整性約束3個部分組成。MySQL是一種關(guān)系數(shù)據(jù)庫管理軟件看,是位于用戶與數(shù)據(jù)庫之間的一層管理軟件,主要負責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護和數(shù)據(jù)服務(wù)等。關(guān)系數(shù)據(jù)庫基礎(chǔ)4.1.2數(shù)據(jù)庫常用對象在MySQL的數(shù)據(jù)庫中,表、字段、索引、視圖和存儲過程等具體存儲數(shù)據(jù)或?qū)?shù)據(jù)進行操作的實體都被稱為數(shù)據(jù)庫對象。表:存儲數(shù)據(jù),行和列組成。字段:列;有自己的屬性,如字段類型、字段大小等。索引:依賴表建立,加速數(shù)據(jù)查詢速度。視圖:依賴表而建,方便數(shù)據(jù)查看。存儲過程:SQL語句集合,可以把CURD操作封裝成存儲過程,方便調(diào)用。關(guān)系數(shù)據(jù)庫基礎(chǔ)4.1.3系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫是指安裝完MySQL服務(wù)器后,系統(tǒng)自動建立的一些數(shù)據(jù)庫。例如,在默認安裝的MySQL服務(wù)器中,系統(tǒng)會默認創(chuàng)建如圖4-1所示的4個數(shù)據(jù)庫。目錄01020304存儲引擎操作數(shù)據(jù)庫本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)操作數(shù)據(jù)庫4.2.1創(chuàng)建數(shù)據(jù)庫使用CREATEDATABASE語句和CREATESCHEMA語句創(chuàng)建MySQL數(shù)據(jù)庫,其語法如下。CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]數(shù)據(jù)庫名[[DEFAULT]CHARACTERSET[=]字符集|[DEFAULT]COLLATE[=]校對規(guī)則名稱];操作數(shù)據(jù)庫4.2.2查看數(shù)據(jù)庫使用SHOWDATABASES語句查看數(shù)據(jù)庫。操作數(shù)據(jù)庫4.2.3選擇數(shù)據(jù)庫操作數(shù)據(jù)庫之前,需要先選擇使用哪個數(shù)據(jù)庫。操作數(shù)據(jù)庫4.2.4修改數(shù)據(jù)庫修改數(shù)據(jù)庫可以使用ALTERDATABASE或者ALTERSCHEMA語句來實現(xiàn)。ALTERDATABASEdb_libraryDEFAULTCHARACTERSETgbkDEFAULTCOLLATEgbk_chinese_ci;操作數(shù)據(jù)庫4.2.5刪除數(shù)據(jù)庫DROPDATABASE或者DROPSCHEMA語句刪除數(shù)據(jù)庫。目錄01020304存儲引擎操作數(shù)據(jù)庫本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)NavicatMySQL中的數(shù)據(jù)是用各種不同的技術(shù)存儲在文件(或者內(nèi)存)中的。每一種技術(shù)都使用不同的存儲機制、索引技巧、鎖定水平,并且最終提供廣泛的、不同的功能。通過選擇不同的技術(shù),開發(fā)人員可以獲得額外的速度或者功能,從而改善應(yīng)用的整體功能。這些不同的技術(shù)以及配套的相關(guān)功能在MySQL中被稱作存儲引擎(也被稱為表類型)。MySQL默認配置了許多不同的存儲引擎,這些引擎可以預(yù)先設(shè)置或者在MySQL服務(wù)器中啟用。4.3.1MySQL存儲引擎的概念Navicat使用SHOWENGINES語句查詢MySQL中支持的存儲引擎:SHOWENGINES;4.3.2MySQL支持的存儲引擎Navicat查看當前MySQL服務(wù)器所采用的默認存儲引擎,可以執(zhí)行SHOWVARIABLES命令。4.3.2MySQL支持的存儲引擎NavicatInnoDB給MySQL的表提供了事務(wù)、回滾、崩潰修復(fù)能力和多版本并發(fā)控制的事務(wù)安全:第一個提供外鍵約束的表引擎;支持自動增長列AUTO_INCREMENT;支持外鍵(FOREIGNKEY);提供了良好的事務(wù)管理、崩潰修復(fù)能力和并發(fā)控制。4.3.3InnoDB存儲引擎NavicatMyISAM存儲引擎是MySQL中常見的存儲引擎。MySQL5.5版本下的MyISAM存儲引擎的表被存儲成3種文件。文件的名字與表名相同,擴展名包括.frm、.MYD和.MYI?;贛yISAM存儲引擎的表支持3種不同的存儲格式,包括靜態(tài)、動態(tài)和壓縮。4.3.4MyISAM存儲引擎Navicat每個基于MEMORY存儲引擎的表實際對應(yīng)一個磁盤文件。該文件的文件名與表名相同,類型為frm。MEMORY存儲引擎默認使用哈希(HASH)索引。創(chuàng)建MySQLMEMORY存儲引擎的出發(fā)點是速度,如果重啟機器或者關(guān)機,表中的所有數(shù)據(jù)消失。4.3.5MEMORY存儲引擎Navicat(1)InnoDB存儲引擎:用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括支持ACID事務(wù)、外鍵、崩潰修復(fù)能力和并發(fā)控制。(2)MyISAM存儲引擎:管理非事務(wù)表,它提供高速存儲和檢索,以及全文搜索能力。(3)MEMORY存儲引擎:MEMORY存儲引擎提供“內(nèi)存中”的表,其所有數(shù)據(jù)都在內(nèi)存中,數(shù)據(jù)的處理速度快,但安全性不高。4.3.6如何選擇存儲引擎Navicat4.3.7設(shè)置存儲引擎目錄01020304存儲引擎操作數(shù)據(jù)庫本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)本章小結(jié)本章首先介紹了關(guān)系數(shù)據(jù)庫的基本概念、數(shù)據(jù)庫的常用對象,以及MySQL中的系統(tǒng)數(shù)據(jù)庫,然后介紹了創(chuàng)建數(shù)據(jù)庫、查看數(shù)據(jù)庫、選擇數(shù)據(jù)庫、修改數(shù)據(jù)庫和刪除數(shù)據(jù)庫的方法。其中,創(chuàng)建數(shù)據(jù)庫、選擇數(shù)據(jù)庫和刪除數(shù)據(jù)庫在實際開發(fā)中經(jīng)常被使用,需要重點掌握它們。接著,對MySQL存儲引擎進行了詳細的講解,語法格式講解和示例結(jié)合,幫助讀者更好地理解所學(xué)知識的用法。讀者應(yīng)該重點掌握在實際創(chuàng)建數(shù)據(jù)庫時如何正確選擇存儲引擎。謝謝觀看匯報人:秒出PPT第5章

數(shù)據(jù)表操作本章概述在數(shù)據(jù)庫中,針對數(shù)據(jù)表對象的操作有,創(chuàng)建數(shù)據(jù)表、查看表結(jié)構(gòu)、修改表結(jié)構(gòu)、重命名數(shù)據(jù)表、復(fù)制數(shù)據(jù)表和刪除數(shù)據(jù)表。在創(chuàng)建數(shù)據(jù)表時,需要為表字段設(shè)置所存儲數(shù)據(jù)的類型、約束,還可以為數(shù)據(jù)表對象設(shè)置索引,以提高數(shù)據(jù)表檢索效率。本章學(xué)習(xí)目標掌握數(shù)據(jù)表操作,包括創(chuàng)建數(shù)據(jù)表、查看表結(jié)構(gòu)、修改表結(jié)構(gòu)、重命名數(shù)據(jù)表、復(fù)制數(shù)據(jù)表和刪除數(shù)據(jù)表。熟悉數(shù)據(jù)類型并能夠為字段選擇恰當?shù)臄?shù)據(jù)類型。重點掌握數(shù)字類型、字符串類型、日期時間類型。掌握表約束操作,能夠恰當?shù)貫閿?shù)據(jù)表設(shè)置表約束。掌握索引操作,能夠?qū)?shù)據(jù)表設(shè)置合適的索引,以提高數(shù)據(jù)檢索效率。目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.1創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表,使用CREATETABLE語句,語法如下。CREATE[TEMPORARY]TABLE[IFNOTEXISTS]數(shù)據(jù)表名[(create_definition,…)][table_options][select_statement]關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.2查看數(shù)據(jù)表使用SHOWCOLUMNS語句查看數(shù)據(jù)表結(jié)構(gòu):SHOW[FULL]COLUMNSFROM數(shù)據(jù)表名[FROM數(shù)據(jù)庫名];或SHOW[FULL]COLUMNSFROM數(shù)據(jù)表名.數(shù)據(jù)庫名;關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.3復(fù)制數(shù)據(jù)表在一個已經(jīng)存在的數(shù)據(jù)表的基礎(chǔ)上創(chuàng)建該表的備份:CREATETABLE[IFNOTEXISTS]數(shù)據(jù)表名{LIKE源數(shù)據(jù)表名|(LIKE源數(shù)據(jù)表名)}關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.4修改表結(jié)構(gòu)可以使用ALTERTABLE語句來實現(xiàn),語法格式如下。ALTER[IGNORE]TABLE數(shù)據(jù)表名alter_spec[,alter_spec]…|table_options關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.5重命名數(shù)據(jù)表重命名數(shù)據(jù)表可以使用RENAMETABLE語句來實現(xiàn):RENAMETABLE數(shù)據(jù)表名1To數(shù)據(jù)表名2例如:RENAMETABLEtb_admin_oldTOtb_admin_old1;關(guān)系數(shù)據(jù)庫基礎(chǔ)5.1.6刪除數(shù)據(jù)表使用DROPTABLE語句即可刪除數(shù)據(jù)表:DROPTABLE[IFEXISTS]數(shù)據(jù)表名;目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)數(shù)據(jù)類型5.2.1數(shù)字類型:數(shù)字類型總體可以分成整數(shù)和浮點兩種數(shù)據(jù)類型。整數(shù)類型:數(shù)據(jù)類型取值范圍說明單位TINYINT符號值:-128~127,無符號值:0~255最小的整數(shù)1字節(jié)BIT符號值:-128~127,無符號值:0~255最小的整數(shù)1字節(jié)BOOL符號值:-128~127,無符號值:0~255最小的整數(shù)1字節(jié)SMALLINT符號值:-3276832767無符號值:0~65535小型整數(shù)2字節(jié)MEDIUMINT符號值:-8388608~8388607無符號值:0~16777215中型整數(shù)3字節(jié)INT符號值:-2147683648~2147683647無符號值:0~4294967295標準整數(shù)4字節(jié)BIGINT符號值:-9223372036854775808~9223372036854775807無符號值:0~18446744073709551615大型整數(shù)8字節(jié)數(shù)據(jù)類型5.2.1數(shù)字類型:數(shù)字類型總體可以分成整數(shù)和浮點兩種數(shù)據(jù)類型。浮點類型:數(shù)據(jù)類型取值范圍說明單位FLOAT+(-)3.402823466E+38單精度浮點數(shù)8或4字節(jié)DOUBLE+(-)1.7976931348623157E+308雙精度浮點數(shù)8字節(jié)DECIMAL+(-)2.2250738585072014E-308一般整數(shù)自定義長度數(shù)據(jù)類型5.2.2字符串類型字符串類型包括3類:普通文本字符串類型(CHAR和VARCHAR)、可變類型(TEXT和BLOB)和特殊類型(SET和ENUM)。數(shù)據(jù)類型5.2.2字符串類型普通文本字符串類型(CHAR和VARCHAR)數(shù)據(jù)類型取值范圍說明NationalCHAR(M)[binary|ASCII|unicode]0~255個字符固定長度為M的字符串,其中M的取值范圍為0~255。national關(guān)鍵字指定了應(yīng)該使用的默認字符集。binary關(guān)鍵字指定了數(shù)據(jù)是否區(qū)分大小寫(默認是區(qū)分大小寫的)。ASCII關(guān)鍵字指定了在列中使用latin1字符。unicode關(guān)鍵字指定了使用UCS字符集CHAR1~255個字符與CHAR(M)類似[national]VARCHAR(M)[binary]0~255個字符長度可變,其他與CHAR(M)類似數(shù)據(jù)類型5.2.2字符串類型可變類型數(shù)據(jù)類型最大長度(字節(jié)數(shù))說明TINYBLOB2^8-1(255)小BLOB字段TINYTEXT2^8-1(255)小TEXT字段BLOB2^16-1(65535)常規(guī)BLOB字段TEXT2^16-1(65535)常規(guī)TEXT字段MEDIUMBLOB2^24-1(16777215)中型BLOB字段MEDIUMTEXT2^24-1(16777215)中型TEXT字段LONGBLOB2^32-1(4294967295)長BLOB字段LONGTEXT2^32-1(4294967295)長TEXT字段數(shù)據(jù)類型5.2.2字符串類型特殊類型類型最大值說明ENUM("valuel","value2",...)65535該類型的列只可以容納所列值之一或為NULLSET("valuel","value2",...)64該類型的列可以容納一組值或為NULL數(shù)據(jù)類型5.2.3日期和時間類型日期和時間類型包括DATE、DATETIME、TIME、TIMESTAMP和YEAR。其中每種類型都有其取值范圍,如賦予它一個不合法的值,將會被“0”代替。日期和時間類型如表所示。類型取值范圍說明DATE1000-01-01~9999-12-31日期,格式為YYYY-MM-DDTIME-838:58:59~835:59:59時間,格式為HH:MM:SSDATETIME1000-01-0100:00:00~9999-12-3123:59:59日期和時間,格式為YYYY-MMDDHH:MM:SSTIMESTAMP1970-01-0100:00:00~2037年的某個時間時間標簽,在處理報告時使用顯示格式取決于M的值YEAR1901~2155年份可指定兩位數(shù)字和四位數(shù)字的格式數(shù)據(jù)類型5.2.4如何選擇類型整數(shù)和浮點數(shù)浮點數(shù)和定點數(shù)日期與時間類型CHAR與VARCHAR之間的特點與選擇ENUM和SETBLOB和TEXT目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)表約束操作完整性約束條件是對字段進行限制的,要求用戶對該屬性進行的操作符合特定的要求。如果不滿足完整性約束條件,數(shù)據(jù)庫系統(tǒng)就不再執(zhí)行用戶的操作。MySQL中基本的完整性約束條件如表所示。類型取值范圍PRIMARYKEY主鍵,可以唯一地標識對應(yīng)的元組FOREIGNKEY外鍵,是與之聯(lián)系的某表的主鍵NOTNULL字段值不能為空UNIQUE字段值唯一AUTOINCREMENT字段取值自動增加,這是MySOL特色DEFAULT設(shè)置默認值表約束操作當數(shù)據(jù)庫表中的某個字段上的內(nèi)容不希望設(shè)置為NULL時,則可以使用非空(NOTNULL)約束進行設(shè)置。CREATETABLEtablename(PropNamepropTypeNOTNULL,……);設(shè)置表字段的非空約束表約束操作當向數(shù)據(jù)表中插入一條新記錄時,如果沒有為某個字段賦值,那么數(shù)據(jù)庫系統(tǒng)會自動為這個字段插入默認值。CREATETABLEtablename(propNamepropTypeDEFAULTdefaultValue,……);設(shè)置表字段的默認值表約束操作當數(shù)據(jù)庫表中某個字段上的內(nèi)容不允許重復(fù)時,可以使用唯一(UNIQVE,UK)約束進行設(shè)置。CREATETABLEtablename(propNamepropTypeUNIQUE,……);設(shè)置表字段唯一約束(UNIQUE,UK)表約束操作當數(shù)據(jù)庫表中某個字段上的內(nèi)容不允許重復(fù)時,可以使用唯一(UNIQVE,UK)約束進行設(shè)置。CREATETABELtablename(propNamepropTypePRIMARYKEY,……);設(shè)置表字段的主鍵約束表約束操作AUTO_INCREMENT是MySQL唯一擴展的完整性約束,當為數(shù)據(jù)庫表中插入新記錄時,字段上的值會自動生成唯一的ID。CREATETABLEtablename(propNamepropTypeAUTO_INCREMENT,……);設(shè)置表字段值自動增加表約束操作外鍵(FOREIGNKEY,F(xiàn)K)是表的一個特殊字段,外鍵約束用于保證多個表(通常為兩個表)之間的參照完整性,即構(gòu)建與兩個表的字段之間的參照關(guān)系。CREATETABLEtablename_1(propName1_1propType1_1,propName1_2propType1_2,……CONSTRAINTFK_propFOREIGNKEY(propName1_1)REFERENCEStablename_2(propName2_1));設(shè)置表字段的外鍵約束目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)索引操作普通索引唯一性索引單列索引多列索引空間索引索引概述索引操作在建立數(shù)據(jù)表時可以直接創(chuàng)建索引,這種方式比較直接,且方便、易用。在建立數(shù)據(jù)表時創(chuàng)建索引的基本語法結(jié)構(gòu)如下:CREATETABLEtable_name(屬性名數(shù)據(jù)類型[約束條件],屬性名數(shù)據(jù)類型[約束條件]…屬性名數(shù)據(jù)類型[UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY[別名](屬性名1[(長度)][ASC|DESC]));創(chuàng)建索引索引操作在MySQL中,不但可以在創(chuàng)建數(shù)據(jù)表時創(chuàng)建索引,也可以直接在已經(jīng)創(chuàng)建的表中,在已經(jīng)存在的一個或幾個字段中創(chuàng)建索引。語法結(jié)構(gòu)如下:CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEXindex_nameONtable_name(屬性[(length)][ASC|DESC]);創(chuàng)建索引索引操作刪除索引可以通過DROP語句來實現(xiàn),語法結(jié)構(gòu)如下:DROPINDEXindex_nameONtable_name;刪除索引目錄01020304表約束操作數(shù)據(jù)類型索引操作數(shù)據(jù)表基本操作05本章小結(jié)本章小結(jié)本章主要介紹了MySQL數(shù)據(jù)表和索引操作。首先介紹的是數(shù)據(jù)表的基本操作,包括創(chuàng)建數(shù)據(jù)表、查看表結(jié)構(gòu)、修改表結(jié)構(gòu)、重命名表、復(fù)制表和刪除表等。然后介紹創(chuàng)建數(shù)據(jù)表時涉及的數(shù)據(jù)類型和表約束操作。常用的數(shù)據(jù)類型包括數(shù)字類型、字符串類型、日期和時間類型,并介紹了如何為字段選擇合適的數(shù)據(jù)類型。在創(chuàng)建數(shù)據(jù)表時,還需要設(shè)置一系列的表約束,包括字段的非空約束、默認值、唯一約束、主鍵約束、自動增加約束、外鍵約束等。最后介紹了索引操作,包括索引的作用、創(chuàng)建索引和刪除索引。數(shù)據(jù)表操作是建立數(shù)據(jù)庫過程中最重要、最關(guān)鍵的一步,一定要重點掌握。謝謝觀看匯報人:秒出PPT第6章

數(shù)據(jù)記錄操作本章概述數(shù)據(jù)記錄操作主要包括向表中插入數(shù)據(jù)記錄、修改表中的數(shù)據(jù)記錄以及刪除表中的數(shù)據(jù)記錄等。本章學(xué)習(xí)目標掌握向數(shù)據(jù)表中插入單條數(shù)據(jù)記錄的方法;掌握批量插入多條數(shù)據(jù)記錄的方法;掌握修改數(shù)據(jù)記錄的方法;掌握使用DELETE語句刪除數(shù)據(jù)記錄的方法;掌握清空表中數(shù)據(jù)記錄的方法。目錄01020304刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄05本章小結(jié)目錄01020304刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄05本章小結(jié)插入數(shù)據(jù)記錄插入數(shù)據(jù)記錄在建立一個空的數(shù)據(jù)庫和數(shù)據(jù)表時,首先需要考慮的是如何向數(shù)據(jù)表中添加數(shù)據(jù)記錄,該操作可以使用INSERT語句來完成。使用INSERT語句可以向一個已有數(shù)據(jù)表插入一條或者多條數(shù)據(jù)記錄。下面將分別進行介紹。插入數(shù)據(jù)記錄使用INSERT…VALUES語句插入數(shù)據(jù)記錄使用INSERT…VALUES語句插入數(shù)據(jù)記錄,是INSERT語句最常用的語法格式。它的語法格式如下:插入數(shù)據(jù)記錄插入完整數(shù)據(jù)通過INSERT…VALUES語句可以實現(xiàn)向數(shù)據(jù)表中插入完整的數(shù)據(jù)記錄。下面通過一個具體的實例來演示如何向數(shù)據(jù)表中插入完整的數(shù)據(jù)記錄。插入數(shù)據(jù)記錄插入數(shù)據(jù)記錄的一部分字段通過INSERT…VALUES語句還可以向數(shù)據(jù)表中插入數(shù)據(jù)記錄的一部分字段,也就是只插入一條記錄中的某幾個字段的值。插入數(shù)據(jù)記錄插入多條記錄通過INSERT…VALUES語句還可以實現(xiàn)一次性插入多條數(shù)據(jù)記錄。使用該方法批量插入數(shù)據(jù)記錄,比使用多條單行的INSERT語句的效率要高。插入數(shù)據(jù)記錄使用INSERT…SELECT語句插入結(jié)果集在MySQL中,支持將查詢結(jié)果插入到指定的數(shù)據(jù)表中,這可以通過INSERT…SELECT語句來實現(xiàn)。INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE][INTO]數(shù)據(jù)表名[(字段名,…)]SELECT…[ONDUPLICATEKEYUPDATE字段名=表達式,…]插入數(shù)據(jù)記錄使用REPLACE語句插入新數(shù)據(jù)記錄在插入數(shù)據(jù)記錄時,還可以使用REPLACE插入新的數(shù)據(jù)記錄。REPLACE語句與INSERTINTO語句類似,所不同的是:如果一個要插入數(shù)據(jù)記錄的數(shù)據(jù)表中存在主鍵約束(PRIMARYKEY)或者唯一約束(UNIQUEKEY),而且要插入的數(shù)據(jù)記錄中又包含與要插入數(shù)據(jù)記錄的表中相同的主鍵約束或唯一約束列的值,那么使用INSERTINTO語句插入這條數(shù)據(jù)記錄將失敗,而使用REPLACE語句則可以成功插入,只不過會先將原數(shù)據(jù)表的沖突數(shù)據(jù)記錄刪除,然后再插入新的數(shù)據(jù)記錄。目錄01020304刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄05本章小結(jié)修改數(shù)據(jù)記錄修改數(shù)據(jù)記錄可以通過UPDATE語句實現(xiàn),語法格式如下:UPDATE數(shù)據(jù)表名SETcolumn_name=new_value1,column_name2=new_value2,…WHERE條件表達式其中,SET子句指出要修改的列字段和字段值,WHERE子句是可選的,如果給出,那么它將指定數(shù)據(jù)表中哪行數(shù)據(jù)記錄應(yīng)該被更新,否則所有的數(shù)據(jù)記錄行都將被更新。目錄01020304刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄05本章小結(jié)刪除表記錄使用DELETE語句刪除表記錄使用TRUNCATE語句清空表記錄目錄刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄本章小結(jié)0102030405本章實踐本節(jié)將通過圖形化管理軟件Nivacat,為上一章建立的圖書管理系統(tǒng)的基本數(shù)據(jù)表錄入一些測試數(shù)據(jù)。目錄刪除表記錄修改數(shù)據(jù)記錄本章實踐插入數(shù)據(jù)記錄本章小結(jié)0102030405本章小結(jié)本章主要介紹了對數(shù)據(jù)記錄進行操作,主要包括向表中插入記錄、修改表記錄以及刪除表記錄。其中,在插入表數(shù)據(jù)記錄時,共有4種實現(xiàn)方式,分別是插入單條數(shù)據(jù)記錄、同時插入多條數(shù)據(jù)記錄、以結(jié)果集方式插入數(shù)據(jù)記錄,以及使用REPLACE語句插入新數(shù)據(jù)記錄。在這4種方法中,最常用的是插入單條數(shù)據(jù)記錄和插入多條數(shù)據(jù)記錄,這兩種插入數(shù)據(jù)記錄的方式,需要重點掌握,靈活運用。在最后的本章實戰(zhàn)中,通過使用NavicatforMySQL圖形化軟件,為數(shù)據(jù)表自動生成填充數(shù)據(jù)記錄。使用這樣的方法可以快速隨機生成一批測試數(shù)據(jù),用來測試用。由于數(shù)據(jù)是隨機生成的,為了更使數(shù)據(jù)更真實,需要手動修改一下數(shù)據(jù)表中生成的數(shù)據(jù)記錄。謝謝觀看匯報人:秒出PPT第7章

數(shù)據(jù)查詢本章概述數(shù)據(jù)查詢是數(shù)據(jù)庫操作中最常用也是最重要的操作,是指從數(shù)據(jù)庫中獲取所需要的數(shù)據(jù)。在MySQL中使用SELECT語句來查詢數(shù)據(jù)。通過SELECT語句查詢數(shù)據(jù),有不同的查詢方式。不同的查詢方式可以獲得不同的數(shù)據(jù),開發(fā)人員可以根據(jù)需求選擇不同的查詢方式。本章學(xué)習(xí)目標掌握SELECT查詢的語法結(jié)構(gòu),通過SELECT語句查詢所有字段、指定字段和指定數(shù)據(jù)的操作;掌握按條件查詢數(shù)據(jù)的方法;掌握常用的高級查詢方式,例如,對查詢結(jié)果排序、分組查詢、使用LIMIT限制查詢;掌握在查詢過程中使用聚合函數(shù)進一步對查詢結(jié)果進行加工;了解連接查詢、子查詢的操作,以及合并查詢結(jié)果;掌握在查詢過程中定義表和字段的別名;掌握常用的正則表達式在查詢中的應(yīng)用。目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09基本查詢語句7.1.1SELECT語句SELECT語句是最常用的查詢語句,它的使用方式有簡單的,也有復(fù)雜的。SELECT語句的基本語法如下。SELECTselectionlist//要查詢的內(nèi)容,選擇哪些列FROM數(shù)據(jù)表名//指定數(shù)據(jù)表WHEREprimary_constraint//查詢時需要滿足的條件,行必須滿足的條件GROUPBYgrouping_columns//如何對結(jié)果進行分組ORDERBYsortingcloumns//如何對結(jié)果進行排序HAVINGsecondary_constraint//查詢時滿足的第二條件LIMITcount//限定輸出的查詢結(jié)果基本查詢語句7.1.1SELECT語句-使用SELECT語句查詢單個數(shù)據(jù)表使用SELECT語句從某個數(shù)據(jù)表查詢數(shù)據(jù)時,首先要確定要查詢的列?!?”代表所有的列。例如,查詢db_library數(shù)據(jù)庫的tb_admin表中的所有數(shù)據(jù),代碼如下。USEdb_library;SELECT*FROMtb_admin;查詢結(jié)果如圖所示?;静樵冋Z句7.1.1SELECT語句-查詢數(shù)據(jù)表中的指定列查詢數(shù)據(jù)表中的多列,只要在SELECT后面指定要查詢的列名即可,多列之間用“,”分隔。例如,查詢tb_admin表中的admin_id和username列數(shù)據(jù):SELECTadmin_id,usernameFROMtb_admin;查詢結(jié)果如圖所示。基本查詢語句7.1.1SELECT語句-從一個或多個表中獲取數(shù)據(jù)確定所要查詢的數(shù)據(jù)在哪個表中,在對多個表進行查詢時,同樣使用“,”對多個表進行分隔。例如,從tb_book表和tb_category表中查詢出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查詢結(jié)果如圖所示?;静樵冋Z句7.1.2查詢所有字段確定所要查詢的數(shù)據(jù)在哪個表中,在對多個表進行查詢時,同樣使用“,”對多個表進行分隔。例如,從tb_book表和tb_category表中查詢出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查詢結(jié)果如圖所示?;静樵冋Z句7.1.3查詢指定字段查詢指定字段的數(shù)據(jù)可以使用下面的語法格式:SELECT字段名FROM表名;如果查詢多個字段,可以使用“,”對字段進行分隔。例如,查詢圖書信息表tb_book中圖書的名稱、作者、價格、圖書唯一識別碼:SELECTbookname,author,price,ISBNFROMtb_book;基本查詢語句7.1.4查詢指定數(shù)據(jù)如果要從很多記錄中查詢出指定的記錄,則需要設(shè)定查詢的條件。設(shè)定查詢條件應(yīng)用的是WHERE子句,該子句可以實現(xiàn)很多復(fù)雜的條件查詢。例如,查詢名稱為Romero的管理員:SELECT*FROMtb_adminWHEREusername='Romero';目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09按條件查詢7.2.1帶關(guān)系運算符的查詢帶關(guān)系運算符的查詢,也就是將MySQL支持的關(guān)系運算符引入數(shù)據(jù)庫查詢中。例如,從圖書管理數(shù)據(jù)庫db_library的圖書信息表tb_book中,查詢定價price大于40元的圖書。語句如下:SELECTbookname,author,priceFROMtb_bookWHEREprice>40;按條件查詢7.2.2帶IN關(guān)鍵字的查詢關(guān)鍵字IN可以判斷某個字段的值是否在指定的集合中。如果字段的值在集合中,則滿足查詢條件,返回該字段所屬記錄;如果不在集合中,則不滿足查詢條件,不返回該記錄。語法格式如下。SELECT*FROM表名WHERE條件[NOT]IN(元素1,元素2,…,元素n);例如:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthorIN('明日科技','劉丹冰');按條件查詢7.2.3帶BETWEENAND關(guān)鍵字的查詢關(guān)鍵字BETWEENAND可以判斷某個字段的值是否在指定的范圍內(nèi)。如果字段的值在指定范圍內(nèi),則滿足查詢條件,該記錄將被查詢出來;如果不在指定范圍內(nèi),則不滿足查詢條件。其語法如下。SELECT*FROM表名WHERE條件[NOT]BETWEEN取值1AND取值2;例如:SELECTbookname,author,priceFROMtb_bookWHEREpriceBETWEEN30AND40;按條件查詢7.2.4空值查詢ISNULL關(guān)鍵字可以用來判斷字段的值是否為空值(NULL)。例如,為圖書信息表tb_book添加test字段,然后插入若干數(shù)據(jù)值,語句如下:ALTERTABLEtb_bookADDtestVARCHAR(50)NULL;按條件查詢7.2.5用關(guān)鍵字DISTINCT去除結(jié)果中的重復(fù)行使用DISTINCT關(guān)鍵字可以去除查詢結(jié)果中的重復(fù)記錄,語法格式如下。SELECTDISTINCT字段名FROM表名;例如,要查看tb_book表中有哪些書架上有書,語句如下:SELECTDISTINCTbookcaseFROMtb_book;按條件查詢7.2.6帶LIKE關(guān)鍵字的查詢LIKE屬于較常用的比較運算符,可用于實現(xiàn)模糊查詢。它有兩種通配符:“%”和下畫線“_”。“%”可以匹配一個或多個字符,可以代表任意長度的字符串,長度可以為0。例如,“明%技”表示以“明”開頭、以“技”結(jié)尾的任意長度的字符串。該字符串可以代表明日科技、明日編程科技、明日圖書科技等字符串?!癬”只匹配一個字符。例如,m_n表示以m開頭、以n結(jié)尾的3個字符。中間的“_”可以是任意一個字符。按條件查詢7.2.7帶AND關(guān)鍵字的多條件查詢AND關(guān)鍵字可以用來聯(lián)合多個條件進行查詢。使用AND關(guān)鍵字時,只有同時滿足所有查詢條件的記錄才會被查詢出來;如果不滿足查詢條件中的一個,那么這樣的記錄將被排除。AND關(guān)鍵字的語法格式如下。SELECT*FROM數(shù)據(jù)表名WHERE條件1AND條件2[…AND條件表達式n];判斷輸入的管理員賬號和密碼是否存在:SELECTbook_id,bookname,authorFROMtb_bookWHEREbooknameLIKE'%GO%'ANDauthor='劉丹冰';按條件查詢7.2.8帶OR關(guān)鍵字的多條件查詢使用OR關(guān)鍵字時,只要滿足查詢條件中的一個,那么此記錄就會被查詢出來。例如,根據(jù)作者查詢圖書信息:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthor='明日科技'ORauthor='劉丹冰';目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢097.3高級查詢 使用ORDERBY關(guān)鍵字可以對查詢的結(jié)果進行升序(ASC)或降序(DESC)排列。ORDERBY字段名[ASC|DESC];ASC表示按升序排列,DESC表示按降序排列。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESC;7.3.1對查詢結(jié)果排序7.3高級查詢 GROUPBY子句可以將數(shù)據(jù)劃分到不同的組中,實現(xiàn)對記錄進行分組查詢。例如:使用GROUPBY關(guān)鍵字對tb_book表中bookcase字段進行分組查詢,語句如下。SELECTbookcase,COUNT(*)FROMtb_bookGROUPBYbookcase;此外,還可以按多個字段進行分組。7.3.2分組查詢7.3高級查詢 LIMIT子句可以對查詢結(jié)果的記錄條數(shù)進行限定,控制輸出的行數(shù)。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESCLIMIT3;7.3.3使用LIMIT限制查詢結(jié)果數(shù)量目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09聚合函數(shù)查詢返回選擇集合中所有行的數(shù)目,包含NULL值的行:SELECTCOUNT(*)FROMtb_book;COUNT函數(shù)聚合函數(shù)查詢SUM()函數(shù)可以求出表中某個數(shù)值類型字段取值的總和。例如:使用SUM()函數(shù)統(tǒng)計tb_book表中總金額字段(total)的總和,語句如下。SELECTSUM(total)FROMtb_book;SUM函數(shù)聚合函數(shù)查詢AVG()函數(shù)可以求出表中某個數(shù)值類型字段取值的平均值。例如:使用AVG()函數(shù)求tb_book表中圖書價格(price)字段值的平均值,語句如下。SELECTAVG(price)FROMtb_book;AVG函數(shù)聚合函數(shù)查詢MAX()函數(shù)可以求出表中某個數(shù)值類型字段取值的最大值。例如,使用MAX()函數(shù)查詢tb_book表中price字段值的最大值,語句如下。SELECTMAX(price)FROMtb_book;MAX函數(shù)聚合函數(shù)查詢使用MIN()函數(shù)查詢tb_book表中price字段值的最小值。查詢語句如下。SELECTMIN(price)FROMtb_book;MIN函數(shù)目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09連接查詢內(nèi)連接(INNERJOIN)是SQL中的一種連接類型,用于將兩個或多個表中的記錄根據(jù)某個條件進行匹配,并返回匹配的記錄。內(nèi)連接可以分為幾種類型:等值連接。在連接條件中使用等于號(=)運算符比較被連接列的列值。非等值連接。在連接條件中使用除等于運算符以外的其他比較運算符,如大于、小于等。自連接。將一張表看作兩張表,通過別名區(qū)分,然后進行連接查詢。內(nèi)連接查詢連接查詢【例7-22】使用內(nèi)連接查詢圖書的借閱信息。代碼如下。SELECTtb_borrow.book_id,tb_book.bookname,tb_borrow.borrowTime,tb_borrow.backTime,tb_borrow.ifbackFROMtb_book,tb_borrowWHEREtb_borrow.book_id=tb_book.book_id;內(nèi)連接查詢連接查詢外連接(OuterJoin)是一種SQLJOIN操作,它允許從一個表中選擇所有的記錄,而無論在另一個表中是否有匹配的記錄。如果記錄在另一個表中沒有匹配,那么結(jié)果集中的值為NULL。在左外連接查詢時,查詢左表所有數(shù)據(jù),以及兩張表交集部分的數(shù)據(jù)。語法格式如下:SELECT字段列表FROM表1LEFTOUTERJOIN表2ON條件…;右外連接(RIGHTJOIN)和左外連接恰好相反。右外連接包括右邊的所有數(shù)據(jù),以及兩張表交集部分數(shù)據(jù)。表中不符合條件的數(shù)據(jù),在相應(yīng)列中填充NULL值。外連接查詢目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09子查詢IN運算符可以檢測結(jié)果集中是否存在某個特定的值,如果檢測成功,則執(zhí)行外部的查詢。SELECTbook_id,bookname,authorFROMtb_bookWHEREbook_idIN(SELECTbook_idFROMtb_borrow);帶IN關(guān)鍵字的子查詢子查詢從歸還表tb_back中查詢圖書編號book_id等于1002的管理員(operator),然后查詢tb_admin表中姓名username為該管理員的信息,代碼如下。SELECT*FROMtb_adminWHEREusername=(SELECToperatorFROMtb_backWHEREbook_id=1002);帶比較運算符的子查詢子查詢應(yīng)用帶EXISTS關(guān)鍵字的子查詢實現(xiàn)查詢已經(jīng)被借閱的圖書的信息,代碼如下。SELECTbook_id,bookname,authorFROMtb_bookWHEREEXISTS(SELECT*FROMtb_borrowWHEREtb_borrow.book_id=tb_book.book_id);帶EXISTS關(guān)鍵字的子查詢子查詢。使用ANY關(guān)鍵字時,只要滿足內(nèi)層查詢語句返回的結(jié)果中的任意一個,就可以通過該條件來執(zhí)行外層查詢語句。語法格式如下。列名比較運算符ANY(子查詢)例如,從圖書信息表tb_book中查詢出非最低價格的全部圖書信息,主要是通過帶ANY關(guān)鍵字的子查詢實現(xiàn)查詢非最低圖書價格的圖書信息,示例代碼如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ANY(SELECTMin(price)FROMtb_book);帶ANY關(guān)鍵字的子查詢子查詢使用ALL關(guān)鍵字時,只有滿足內(nèi)層查詢語句返回的所有結(jié)果,才可以執(zhí)行外層查詢語句。語法格式如下。列名比較運算符ALL(子查詢)例如,查詢比圖書編號1001價格高的全部圖書信息,主要是通過帶ALL關(guān)鍵字的子查詢實現(xiàn),示例代碼如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ALL(SELECTpriceFROMtb_bookWHEREbook_id=1001);帶ALL關(guān)鍵字的子查詢目錄01020304高級查詢按條件查詢聚合函數(shù)查詢基本查詢語句05連接查詢06子查詢07合并查詢結(jié)果定義表和字段的表明08使用正則表達式查詢09合并查詢結(jié)果使用UNION關(guān)鍵字可以將多個結(jié)果集合并到一起,并且會去除相同記錄。假設(shè)有一個與歸還表tb_back結(jié)構(gòu)相同的數(shù)據(jù)表tb_back_copy1,查詢結(jié)果如圖所示。7.7.1使用UNION關(guān)鍵字合并查詢結(jié)果下面使用UNION關(guān)鍵字合并兩個表的查詢結(jié)果,語句如下。SELECT*FROMtb_backUNIONSELECT*FROMtb_back_copy1;查詢結(jié)果如圖所示。結(jié)果顯示,所有結(jié)果被合并,重復(fù)值被去除。7.7.1使用UNION關(guān)鍵字合并查詢結(jié)果UNIONALL關(guān)鍵字的使用方法類似于UNION關(guān)鍵字,也是將多個結(jié)果集

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論