




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《MySQL數(shù)據(jù)庫核心技術(shù)》本PPT課件旨在全面介紹MySQL數(shù)據(jù)庫的核心技術(shù),涵蓋從基礎(chǔ)概念到高級(jí)應(yīng)用的各個(gè)方面。通過學(xué)習(xí)本課程,您將能夠掌握MySQL數(shù)據(jù)庫的安裝配置、SQL語言基礎(chǔ)、常用函數(shù)、連接查詢、子查詢、索引、視圖、事務(wù)、存儲(chǔ)過程、觸發(fā)器以及用戶管理等核心技術(shù),為您的數(shù)據(jù)庫應(yīng)用開發(fā)和管理奠定堅(jiān)實(shí)的基礎(chǔ)。課程介紹:目標(biāo)、內(nèi)容、考核方式本課程旨在使學(xué)員掌握MySQL數(shù)據(jù)庫的核心技術(shù),能夠進(jìn)行數(shù)據(jù)庫的設(shè)計(jì)、開發(fā)和管理。課程內(nèi)容包括MySQL的安裝配置、SQL語言、常用函數(shù)、連接查詢、子查詢、索引、視圖、事務(wù)、存儲(chǔ)過程和觸發(fā)器等??己朔绞桨ㄆ綍r(shí)作業(yè)、期中考試和期末考試,綜合評(píng)估學(xué)員對(duì)知識(shí)的掌握程度和應(yīng)用能力。課程目標(biāo)是讓學(xué)員能夠獨(dú)立完成MySQL數(shù)據(jù)庫的應(yīng)用開發(fā)和管理,并具備解決實(shí)際問題的能力。我們將通過案例分析和實(shí)踐操作,幫助學(xué)員深入理解MySQL數(shù)據(jù)庫的各項(xiàng)技術(shù),并掌握其應(yīng)用技巧。1課程目標(biāo)掌握MySQL數(shù)據(jù)庫的核心技術(shù)2課程內(nèi)容MySQL安裝配置、SQL語言、常用函數(shù)等3考核方式平時(shí)作業(yè)、期中考試、期末考試數(shù)據(jù)庫系統(tǒng)概述:基本概念數(shù)據(jù)庫系統(tǒng)是組織、存儲(chǔ)和管理數(shù)據(jù)的集成系統(tǒng),包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員(DBA)。數(shù)據(jù)庫是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。DBMS是管理數(shù)據(jù)庫的軟件系統(tǒng),提供數(shù)據(jù)的定義、存儲(chǔ)、檢索、更新和控制等功能。應(yīng)用系統(tǒng)是利用數(shù)據(jù)庫的軟件,為用戶提供各種服務(wù)。理解數(shù)據(jù)庫系統(tǒng)的基本概念是學(xué)習(xí)MySQL數(shù)據(jù)庫的基礎(chǔ)。這些概念包括數(shù)據(jù)模型、數(shù)據(jù)模式、數(shù)據(jù)獨(dú)立性、數(shù)據(jù)完整性、數(shù)據(jù)安全性等。掌握這些概念,有助于我們更好地理解MySQL數(shù)據(jù)庫的原理和使用方法。數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的集合DBMS管理數(shù)據(jù)庫的軟件DBA管理數(shù)據(jù)庫的人員數(shù)據(jù)庫系統(tǒng)概述:發(fā)展歷程數(shù)據(jù)庫系統(tǒng)經(jīng)歷了網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫等發(fā)展階段。關(guān)系數(shù)據(jù)庫是目前應(yīng)用最廣泛的數(shù)據(jù)庫類型,MySQL是其中一種流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,NoSQL數(shù)據(jù)庫也逐漸興起,用于處理海量數(shù)據(jù)和高并發(fā)訪問。了解數(shù)據(jù)庫系統(tǒng)的發(fā)展歷程,可以幫助我們更好地理解各種數(shù)據(jù)庫技術(shù)的特點(diǎn)和適用場(chǎng)景。從最初的數(shù)據(jù)存儲(chǔ)方式到如今的云數(shù)據(jù)庫和大數(shù)據(jù)處理,數(shù)據(jù)庫技術(shù)不斷演進(jìn),以適應(yīng)不斷變化的應(yīng)用需求。11960s網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫21970s關(guān)系數(shù)據(jù)庫31990s面向?qū)ο髷?shù)據(jù)庫42000sNoSQL數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)概述:體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)通常包括三級(jí)模式結(jié)構(gòu):概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫的全局邏輯結(jié)構(gòu),描述數(shù)據(jù)庫中所有數(shù)據(jù)的整體概念和聯(lián)系。外模式是用戶看到的數(shù)據(jù)視圖,可以是概念模式的子集。內(nèi)模式是數(shù)據(jù)在物理存儲(chǔ)上的組織方式。三級(jí)模式結(jié)構(gòu)實(shí)現(xiàn)了數(shù)據(jù)獨(dú)立性,使得應(yīng)用系統(tǒng)與數(shù)據(jù)的物理存儲(chǔ)分離。當(dāng)數(shù)據(jù)的物理存儲(chǔ)發(fā)生變化時(shí),應(yīng)用系統(tǒng)不需要修改,只需修改內(nèi)模式即可。這種結(jié)構(gòu)提高了數(shù)據(jù)庫系統(tǒng)的靈活性和可維護(hù)性。概念模式全局邏輯結(jié)構(gòu)外模式用戶視圖內(nèi)模式物理存儲(chǔ)MySQL簡(jiǎn)介:特點(diǎn)、優(yōu)勢(shì)MySQL是一種流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有開源、易用、高性能、可擴(kuò)展等特點(diǎn)。它支持多種操作系統(tǒng),并提供了豐富的API,方便應(yīng)用系統(tǒng)的開發(fā)。MySQL的優(yōu)勢(shì)在于其穩(wěn)定性和可靠性,以及龐大的用戶社區(qū)和完善的文檔支持。MySQL適用于各種規(guī)模的應(yīng)用,從小型網(wǎng)站到大型企業(yè)應(yīng)用都可以使用MySQL作為數(shù)據(jù)存儲(chǔ)解決方案。其開源特性使得用戶可以自由地使用、修改和分發(fā)MySQL,降低了使用成本。特點(diǎn)開源、易用、高性能、可擴(kuò)展優(yōu)勢(shì)穩(wěn)定可靠、用戶社區(qū)龐大、文檔完善MySQL簡(jiǎn)介:應(yīng)用場(chǎng)景MySQL廣泛應(yīng)用于各種Web應(yīng)用、企業(yè)應(yīng)用和數(shù)據(jù)倉庫等場(chǎng)景。在Web應(yīng)用中,MySQL常用于存儲(chǔ)用戶信息、產(chǎn)品信息、訂單信息等。在企業(yè)應(yīng)用中,MySQL可以用于存儲(chǔ)客戶關(guān)系管理(CRM)數(shù)據(jù)、供應(yīng)鏈管理(SCM)數(shù)據(jù)等。在數(shù)據(jù)倉庫中,MySQL可以用于存儲(chǔ)歷史數(shù)據(jù)和分析數(shù)據(jù)。隨著云計(jì)算技術(shù)的發(fā)展,MySQL也逐漸應(yīng)用于云數(shù)據(jù)庫服務(wù)。用戶可以通過云服務(wù)提供商提供的MySQL數(shù)據(jù)庫服務(wù),快速構(gòu)建和部署應(yīng)用,無需關(guān)心數(shù)據(jù)庫的安裝、配置和維護(hù)。Web應(yīng)用存儲(chǔ)用戶信息、產(chǎn)品信息、訂單信息等企業(yè)應(yīng)用存儲(chǔ)CRM數(shù)據(jù)、SCM數(shù)據(jù)等數(shù)據(jù)倉庫存儲(chǔ)歷史數(shù)據(jù)和分析數(shù)據(jù)MySQL安裝與配置:環(huán)境準(zhǔn)備在安裝MySQL之前,需要進(jìn)行環(huán)境準(zhǔn)備,包括選擇合適的操作系統(tǒng)、下載MySQL安裝包、檢查系統(tǒng)是否滿足MySQL的安裝要求等。如果需要在Linux系統(tǒng)上安裝MySQL,還需要安裝一些必要的依賴包,如libaio、numactl等。在Windows系統(tǒng)上安裝MySQL,可以直接下載MySQLInstaller,它會(huì)自動(dòng)檢查系統(tǒng)環(huán)境并安裝所需的依賴包。安裝前建議關(guān)閉殺毒軟件和防火墻,以避免安裝過程中出現(xiàn)問題。選擇操作系統(tǒng)1下載安裝包2檢查系統(tǒng)環(huán)境3MySQL安裝與配置:安裝步驟MySQL的安裝步驟包括解壓安裝包、運(yùn)行安裝程序、選擇安裝類型、配置MySQL服務(wù)器、設(shè)置root用戶密碼等。在配置MySQL服務(wù)器時(shí),需要選擇合適的字符集、端口號(hào)、存儲(chǔ)引擎等。安裝完成后,還需要啟動(dòng)MySQL服務(wù),并驗(yàn)證安裝是否成功。在Linux系統(tǒng)上安裝MySQL,可以使用命令行工具或圖形界面工具。在Windows系統(tǒng)上安裝MySQL,可以使用MySQLInstaller提供的圖形界面工具。安裝過程中需要仔細(xì)閱讀安裝提示,并根據(jù)實(shí)際情況進(jìn)行配置。解壓安裝包運(yùn)行安裝程序配置MySQL服務(wù)器設(shè)置root密碼啟動(dòng)MySQL服務(wù)MySQL安裝與配置:基本配置MySQL的基本配置包括修改配置文件、設(shè)置字符集、配置端口號(hào)、調(diào)整緩存大小等。配置文件通常是f或my.ini,位于MySQL的安裝目錄下。通過修改配置文件,可以優(yōu)化MySQL服務(wù)器的性能和安全性。設(shè)置字符集可以避免中文亂碼問題。常用的字符集包括utf8和utf8mb4。配置端口號(hào)可以避免端口沖突。調(diào)整緩存大小可以提高查詢性能。配置完成后,需要重啟MySQL服務(wù),使配置生效。1性能優(yōu)化2端口配置3字符集設(shè)置4修改配置文件MySQL客戶端工具:命令行、圖形界面MySQL客戶端工具包括命令行工具和圖形界面工具。命令行工具是mysql,可以通過命令行執(zhí)行SQL語句。圖形界面工具包括MySQLWorkbench、Navicat等,提供了更友好的操作界面,方便用戶管理數(shù)據(jù)庫和執(zhí)行SQL語句。命令行工具適用于熟悉SQL語句的開發(fā)者。圖形界面工具適用于不熟悉SQL語句的用戶。選擇合適的客戶端工具,可以提高數(shù)據(jù)庫管理和開發(fā)效率。命令行工具mysql圖形界面工具M(jìn)ySQLWorkbench、NavicatMySQL客戶端工具:常用命令MySQL客戶端工具的常用命令包括連接數(shù)據(jù)庫、查看數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、選擇數(shù)據(jù)庫、執(zhí)行SQL語句、退出數(shù)據(jù)庫等。連接數(shù)據(jù)庫的命令是mysql-u用戶名-p密碼-h主機(jī)名-P端口號(hào)。查看數(shù)據(jù)庫的命令是showdatabases。創(chuàng)建數(shù)據(jù)庫的命令是createdatabase數(shù)據(jù)庫名。選擇數(shù)據(jù)庫的命令是use數(shù)據(jù)庫名。掌握這些常用命令,可以方便地管理MySQL數(shù)據(jù)庫。通過命令行工具或圖形界面工具,可以執(zhí)行各種SQL語句,實(shí)現(xiàn)數(shù)據(jù)的增刪改查等操作。命令作用mysql-u用戶名-p密碼-h主機(jī)名-P端口號(hào)連接數(shù)據(jù)庫showdatabases查看數(shù)據(jù)庫createdatabase數(shù)據(jù)庫名創(chuàng)建數(shù)據(jù)庫use數(shù)據(jù)庫名選擇數(shù)據(jù)庫SQL語言基礎(chǔ):數(shù)據(jù)類型SQL語言的數(shù)據(jù)類型包括數(shù)值類型、字符串類型、日期時(shí)間類型等。數(shù)值類型包括整數(shù)類型(int、bigint等)、浮點(diǎn)數(shù)類型(float、double等)和定點(diǎn)數(shù)類型(decimal)。字符串類型包括char、varchar、text等。日期時(shí)間類型包括date、time、datetime、timestamp等。選擇合適的數(shù)據(jù)類型可以提高數(shù)據(jù)庫的存儲(chǔ)效率和查詢性能。例如,存儲(chǔ)整數(shù)可以使用int類型,存儲(chǔ)字符串可以使用varchar類型,存儲(chǔ)日期可以使用date類型。1數(shù)值類型int、bigint、float、double、decimal2字符串類型char、varchar、text3日期時(shí)間類型date、time、datetime、timestampSQL語言基礎(chǔ):運(yùn)算符SQL語言的運(yùn)算符包括算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符等。算術(shù)運(yùn)算符包括加(+)、減(-)、乘(*)、除(/)、取模(%)等。比較運(yùn)算符包括等于(=)、不等于(<>、!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等。邏輯運(yùn)算符包括與(and)、或(or)、非(not)等。使用運(yùn)算符可以進(jìn)行各種數(shù)據(jù)計(jì)算和邏輯判斷。例如,可以使用算術(shù)運(yùn)算符計(jì)算兩個(gè)數(shù)的和,可以使用比較運(yùn)算符判斷兩個(gè)數(shù)的大小,可以使用邏輯運(yùn)算符組合多個(gè)條件。算術(shù)運(yùn)算符+、-、*、/、%比較運(yùn)算符=、<>、!=、>、<、>=、<=邏輯運(yùn)算符and、or、notSQL語言基礎(chǔ):表達(dá)式SQL語言的表達(dá)式是由運(yùn)算符和操作數(shù)組成的。操作數(shù)可以是常量、變量、列名、函數(shù)等。表達(dá)式可以用于計(jì)算、比較和邏輯判斷。例如,可以使用表達(dá)式計(jì)算兩個(gè)數(shù)的和,可以使用表達(dá)式判斷一個(gè)數(shù)是否大于另一個(gè)數(shù),可以使用表達(dá)式組合多個(gè)條件。表達(dá)式是SQL語句的基本組成部分,掌握表達(dá)式的用法,可以編寫更復(fù)雜的SQL語句,實(shí)現(xiàn)更強(qiáng)大的數(shù)據(jù)處理功能。常量變量列名函數(shù)數(shù)據(jù)定義語言DDL:創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)定義語言(DDL)用于定義數(shù)據(jù)庫的結(jié)構(gòu),包括創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、修改表結(jié)構(gòu)、刪除數(shù)據(jù)庫、刪除表等。創(chuàng)建數(shù)據(jù)庫的SQL語句是createdatabase數(shù)據(jù)庫名。例如,createdatabasetestdb。創(chuàng)建數(shù)據(jù)庫時(shí)可以指定字符集,例如,createdatabasetestdbcharactersetutf8。創(chuàng)建數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用開發(fā)的第一步,選擇合適的數(shù)據(jù)庫名和字符集,可以為后續(xù)的數(shù)據(jù)存儲(chǔ)和管理奠定基礎(chǔ)。CREATE數(shù)據(jù)庫名CHARACTERSET字符集數(shù)據(jù)定義語言DDL:創(chuàng)建表創(chuàng)建表的SQL語句是createtable表名(列名數(shù)據(jù)類型約束)。例如,createtableuser(idintprimarykey,namevarchar(20),ageint)。創(chuàng)建表時(shí)可以指定列名、數(shù)據(jù)類型和約束。約束包括主鍵約束、外鍵約束、唯一約束、非空約束等。創(chuàng)建表是數(shù)據(jù)庫應(yīng)用開發(fā)的關(guān)鍵步驟,選擇合適的列名、數(shù)據(jù)類型和約束,可以保證數(shù)據(jù)的完整性和一致性。例如,主鍵約束可以保證每條記錄的唯一性,外鍵約束可以保證表與表之間的關(guān)聯(lián)關(guān)系。列名指定列的名稱1數(shù)據(jù)類型指定列的數(shù)據(jù)類型2約束指定列的約束條件3數(shù)據(jù)定義語言DDL:修改表結(jié)構(gòu)修改表結(jié)構(gòu)的SQL語句是altertable表名操作。操作包括添加列、刪除列、修改列的數(shù)據(jù)類型、修改列的約束等。例如,altertableuseraddcolumnemailvarchar(50)。altertableuserdropcolumnage。altertableusermodifycolumnnamevarchar(30)。修改表結(jié)構(gòu)可以適應(yīng)應(yīng)用需求的變化。例如,當(dāng)需要存儲(chǔ)用戶的email信息時(shí),可以添加email列。當(dāng)不再需要存儲(chǔ)用戶的年齡信息時(shí),可以刪除age列。當(dāng)需要修改用戶的姓名長(zhǎng)度時(shí),可以修改name列的數(shù)據(jù)類型。添加列altertable表名addcolumn列名數(shù)據(jù)類型刪除列altertable表名dropcolumn列名修改列altertable表名modifycolumn列名數(shù)據(jù)類型數(shù)據(jù)定義語言DDL:刪除數(shù)據(jù)庫、表刪除數(shù)據(jù)庫的SQL語句是dropdatabase數(shù)據(jù)庫名。例如,dropdatabasetestdb。刪除表的SQL語句是droptable表名。例如,droptableuser。刪除數(shù)據(jù)庫和表會(huì)刪除所有數(shù)據(jù),請(qǐng)謹(jǐn)慎操作。在刪除數(shù)據(jù)庫或表之前,請(qǐng)務(wù)必備份數(shù)據(jù)。刪除操作是不可逆的,一旦刪除,數(shù)據(jù)將無法恢復(fù)。1確認(rèn)確認(rèn)刪除操作2備份備份數(shù)據(jù)3DROP數(shù)據(jù)庫/表數(shù)據(jù)操縱語言DML:插入數(shù)據(jù)數(shù)據(jù)操縱語言(DML)用于操作數(shù)據(jù)庫中的數(shù)據(jù),包括插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)等。插入數(shù)據(jù)的SQL語句是insertinto表名(列名)values(值)。例如,insertintouser(id,name,age)values(1,'張三',20)??梢圆迦攵鄺l數(shù)據(jù),例如,insertintouser(id,name,age)values(1,'張三',20),(2,'李四',22)。插入數(shù)據(jù)是數(shù)據(jù)庫應(yīng)用開發(fā)的基本操作,將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中,可以為后續(xù)的查詢和分析提供數(shù)據(jù)基礎(chǔ)。INSERTINTO表名(列名)VALUES(值)數(shù)據(jù)操縱語言DML:更新數(shù)據(jù)更新數(shù)據(jù)的SQL語句是update表名set列名=值where條件。例如,updateusersetage=21whereid=1。更新數(shù)據(jù)可以修改數(shù)據(jù)庫中的數(shù)據(jù),例如,修改用戶的年齡、姓名等。更新數(shù)據(jù)時(shí)需要指定where條件,否則會(huì)更新所有數(shù)據(jù)。請(qǐng)謹(jǐn)慎操作,避免誤操作導(dǎo)致數(shù)據(jù)錯(cuò)誤。UPDATE表名SET列名=值WHERE條件數(shù)據(jù)操縱語言DML:刪除數(shù)據(jù)刪除數(shù)據(jù)的SQL語句是deletefrom表名where條件。例如,deletefromuserwhereid=1。刪除數(shù)據(jù)可以從數(shù)據(jù)庫中刪除數(shù)據(jù),例如,刪除用戶的信息、產(chǎn)品的信息等。刪除數(shù)據(jù)時(shí)需要指定where條件,否則會(huì)刪除所有數(shù)據(jù)。請(qǐng)謹(jǐn)慎操作,避免誤操作導(dǎo)致數(shù)據(jù)丟失。刪除操作是不可逆的,一旦刪除,數(shù)據(jù)將無法恢復(fù)。1確認(rèn)確認(rèn)刪除操作2備份備份數(shù)據(jù)3DELETEFROM表名WHERE條件數(shù)據(jù)查詢語言DQL:SELECT語句基礎(chǔ)數(shù)據(jù)查詢語言(DQL)用于查詢數(shù)據(jù)庫中的數(shù)據(jù),最常用的SQL語句是SELECT語句。SELECT語句的基本語法是select列名from表名where條件orderby列名groupby列名having條件limit數(shù)量。SELECT語句可以查詢指定的列,也可以查詢所有列(使用*)??梢灾付ú樵儣l件,也可以不指定查詢條件。可以對(duì)查詢結(jié)果進(jìn)行排序、分組和限制數(shù)量。SELECT列名FROM表名數(shù)據(jù)查詢語言DQL:WHERE子句WHERE子句用于指定查詢條件,可以根據(jù)條件過濾數(shù)據(jù)。WHERE子句可以使用比較運(yùn)算符、邏輯運(yùn)算符、IN運(yùn)算符、BETWEEN運(yùn)算符、LIKE運(yùn)算符等。例如,select*fromuserwhereage>20。select*fromuserwherenamelike'%張%'。WHERE子句是SELECT語句的重要組成部分,可以根據(jù)實(shí)際需求靈活地指定查詢條件,實(shí)現(xiàn)精確的數(shù)據(jù)查詢。比較運(yùn)算符=、<>、!=、>、<、>=、<=邏輯運(yùn)算符and、or、notLIKE運(yùn)算符模糊匹配數(shù)據(jù)查詢語言DQL:ORDERBY子句ORDERBY子句用于對(duì)查詢結(jié)果進(jìn)行排序,可以按照指定的列進(jìn)行升序(asc)或降序(desc)排序。例如,select*fromuserorderbyageasc。select*fromuserorderbyagedesc。可以按照多個(gè)列進(jìn)行排序,例如,select*fromuserorderbyageasc,namedesc。ORDERBY子句可以方便地對(duì)查詢結(jié)果進(jìn)行排序,滿足不同的數(shù)據(jù)展示需求。默認(rèn)情況下,ORDERBY子句按照升序排序。1多列排序2降序(desc)3升序(asc)4ORDERBY數(shù)據(jù)查詢語言DQL:GROUPBY子句GROUPBY子句用于對(duì)查詢結(jié)果進(jìn)行分組,可以按照指定的列進(jìn)行分組。例如,selectcount(*),agefromusergroupbyage。GROUPBY子句通常與聚合函數(shù)一起使用,例如,count、sum、avg、max、min等??梢园凑斩鄠€(gè)列進(jìn)行分組,例如,selectcount(*),age,genderfromusergroupbyage,gender。GROUPBY子句可以方便地對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),例如,統(tǒng)計(jì)每個(gè)年齡段的用戶數(shù)量,統(tǒng)計(jì)每個(gè)性別的用戶數(shù)量。COUNT統(tǒng)計(jì)數(shù)量SUM求和AVG求平均值MAX/MIN最大值/最小值數(shù)據(jù)查詢語言DQL:HAVING子句HAVING子句用于對(duì)分組后的數(shù)據(jù)進(jìn)行過濾,可以根據(jù)條件過濾分組后的數(shù)據(jù)。HAVING子句必須與GROUPBY子句一起使用。例如,selectcount(*),agefromusergroupbyagehavingcount(*)>10。HAVING子句可以使用比較運(yùn)算符、邏輯運(yùn)算符等。HAVING子句可以方便地對(duì)分組后的數(shù)據(jù)進(jìn)行過濾,例如,篩選出用戶數(shù)量大于10的年齡段。GROUPBY分組HAVING過濾聚合函數(shù)統(tǒng)計(jì)數(shù)據(jù)查詢語言DQL:LIMIT子句LIMIT子句用于限制查詢結(jié)果的數(shù)量,可以指定查詢結(jié)果的起始位置和數(shù)量。例如,select*fromuserlimit10。select*fromuserlimit10,20。LIMIT子句可以用于分頁查詢,例如,每頁顯示20條數(shù)據(jù),查詢第2頁的數(shù)據(jù)可以使用select*fromuserlimit20,20。LIMIT子句可以方便地對(duì)查詢結(jié)果進(jìn)行分頁,提高查詢效率,減少數(shù)據(jù)傳輸量。起始位置指定查詢結(jié)果的起始位置1數(shù)量指定查詢結(jié)果的數(shù)量2常用函數(shù):數(shù)學(xué)函數(shù)MySQL提供了豐富的數(shù)學(xué)函數(shù),包括abs、ceil、floor、rand、round、truncate等。abs函數(shù)用于計(jì)算絕對(duì)值。ceil函數(shù)用于向上取整。floor函數(shù)用于向下取整。rand函數(shù)用于生成隨機(jī)數(shù)。round函數(shù)用于四舍五入。truncate函數(shù)用于截?cái)鄶?shù)字。掌握這些數(shù)學(xué)函數(shù),可以方便地進(jìn)行各種數(shù)學(xué)計(jì)算,例如,計(jì)算兩個(gè)數(shù)的差的絕對(duì)值,生成一個(gè)隨機(jī)數(shù)作為用戶的ID。函數(shù)作用abs計(jì)算絕對(duì)值ceil向上取整floor向下取整rand生成隨機(jī)數(shù)round四舍五入truncate截?cái)鄶?shù)字常用函數(shù):字符串函數(shù)MySQL提供了豐富的字符串函數(shù),包括concat、length、substring、replace、upper、lower等。concat函數(shù)用于連接字符串。length函數(shù)用于計(jì)算字符串長(zhǎng)度。substring函數(shù)用于截取字符串。replace函數(shù)用于替換字符串。upper函數(shù)用于將字符串轉(zhuǎn)換為大寫。lower函數(shù)用于將字符串轉(zhuǎn)換為小寫。掌握這些字符串函數(shù),可以方便地進(jìn)行各種字符串操作,例如,連接用戶的姓名和email,計(jì)算用戶的姓名長(zhǎng)度,截取用戶的姓氏。1CONCAT連接字符串2LENGTH計(jì)算字符串長(zhǎng)度3SUBSTRING截取字符串4REPLACE替換字符串5UPPER/LOWER大小寫轉(zhuǎn)換常用函數(shù):日期時(shí)間函數(shù)MySQL提供了豐富的日期時(shí)間函數(shù),包括now、date、time、year、month、day、date_format等。now函數(shù)用于獲取當(dāng)前日期時(shí)間。date函數(shù)用于獲取日期。time函數(shù)用于獲取時(shí)間。year函數(shù)用于獲取年份。month函數(shù)用于獲取月份。day函數(shù)用于獲取天。date_format函數(shù)用于格式化日期時(shí)間。掌握這些日期時(shí)間函數(shù),可以方便地進(jìn)行各種日期時(shí)間操作,例如,獲取用戶的注冊(cè)日期,計(jì)算用戶的年齡。NOW當(dāng)前日期時(shí)間DATE日期TIME時(shí)間YEAR/MONTH/DAY年月日DATE_FORMAT格式化常用函數(shù):聚合函數(shù)MySQL提供了豐富的聚合函數(shù),包括count、sum、avg、max、min等。count函數(shù)用于統(tǒng)計(jì)數(shù)量。sum函數(shù)用于求和。avg函數(shù)用于求平均值。max函數(shù)用于獲取最大值。min函數(shù)用于獲取最小值。聚合函數(shù)通常與GROUPBY子句一起使用。掌握這些聚合函數(shù),可以方便地進(jìn)行各種統(tǒng)計(jì)分析,例如,統(tǒng)計(jì)用戶數(shù)量,計(jì)算用戶的平均年齡,獲取用戶的最大年齡。函數(shù)作用count統(tǒng)計(jì)數(shù)量sum求和avg求平均值max獲取最大值min獲取最小值連接查詢:內(nèi)連接連接查詢用于查詢多個(gè)表的數(shù)據(jù),內(nèi)連接(innerjoin)只返回兩個(gè)表中都滿足連接條件的數(shù)據(jù)。內(nèi)連接的SQL語句是select列名from表1innerjoin表2on表1.列名=表2.列名。例如,select,order.order_idfromuserinnerjoinorderonuser.id=order.user_id。內(nèi)連接可以方便地查詢多個(gè)表的數(shù)據(jù),例如,查詢用戶的姓名和訂單ID,只返回有訂單的用戶。INNERJOIN返回兩個(gè)表中都滿足連接條件的數(shù)據(jù)連接查詢:外連接外連接(outerjoin)包括左外連接(leftouterjoin)、右外連接(rightouterjoin)和全外連接(fullouterjoin)。左外連接返回左表的所有數(shù)據(jù)和右表中滿足連接條件的數(shù)據(jù),如果右表中沒有滿足連接條件的數(shù)據(jù),則返回null。右外連接返回右表的所有數(shù)據(jù)和左表中滿足連接條件的數(shù)據(jù),如果左表中沒有滿足連接條件的數(shù)據(jù),則返回null。全外連接返回左表和右表的所有數(shù)據(jù),如果某個(gè)表中沒有滿足連接條件的數(shù)據(jù),則返回null。外連接可以方便地查詢多個(gè)表的數(shù)據(jù),例如,查詢所有用戶和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題開題報(bào)告:成人教育與繼續(xù)教育比較研究
- 課題開題報(bào)告:不同行業(yè)在職人員繼續(xù)教育制度和激勵(lì)機(jī)制研究
- 醫(yī)務(wù)室機(jī)器人企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 公對(duì)公匯款合同模板(2025年度)-跨境貿(mào)易結(jié)算
- 醫(yī)學(xué)級(jí)護(hù)腳膏制造行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 二零二五年度企業(yè)個(gè)人借款合同執(zhí)行監(jiān)督及反饋機(jī)制
- 二零二五年度大型商場(chǎng)消防安全評(píng)估與設(shè)計(jì)合同
- 學(xué)校健康機(jī)器人行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 二零二五年度農(nóng)村公共服務(wù)設(shè)施補(bǔ)貼協(xié)議
- 2025年度環(huán)保企業(yè)技術(shù)人員勞動(dòng)合同終止及環(huán)保項(xiàng)目交接合同
- 《社保知識(shí)培訓(xùn)》教學(xué)課件
- 肌力與肌張力課件
- 學(xué)生檔案登記表
- is620p系列伺服用戶手冊(cè)-v0.2綜合版
- 電信渠道管理人員考核管理辦法
- 勘察工作內(nèi)容及方案
- 八年級(jí)數(shù)學(xué)(上冊(cè))整式計(jì)算題練習(xí)100道無答案_新人教版
- 評(píng)審會(huì)專家意見表
- 托管中心學(xué)生家長(zhǎng)接送登記表
- 橋梁施工危險(xiǎn)源辨識(shí)與防控措施
- YD 5062-1998 通信電纜配線管道圖集_(高清版)
評(píng)論
0/150
提交評(píng)論