《MySQL數(shù)據(jù)庫(kù)應(yīng)用與管理(第3版)》 課件全套 魯大林 第1-12章 MySQL概述 - MySQL事務(wù)_第1頁(yè)
《MySQL數(shù)據(jù)庫(kù)應(yīng)用與管理(第3版)》 課件全套 魯大林 第1-12章 MySQL概述 - MySQL事務(wù)_第2頁(yè)
《MySQL數(shù)據(jù)庫(kù)應(yīng)用與管理(第3版)》 課件全套 魯大林 第1-12章 MySQL概述 - MySQL事務(wù)_第3頁(yè)
《MySQL數(shù)據(jù)庫(kù)應(yīng)用與管理(第3版)》 課件全套 魯大林 第1-12章 MySQL概述 - MySQL事務(wù)_第4頁(yè)
《MySQL數(shù)據(jù)庫(kù)應(yīng)用與管理(第3版)》 課件全套 魯大林 第1-12章 MySQL概述 - MySQL事務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩681頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MySQL概述

數(shù)據(jù)庫(kù)基礎(chǔ)本節(jié)內(nèi)容1.數(shù)據(jù)庫(kù)基本概念2.關(guān)系數(shù)據(jù)庫(kù)介紹3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)1.數(shù)據(jù)庫(kù)基本概念數(shù)據(jù)庫(kù)(Database,DB)是存放數(shù)據(jù)的倉(cāng)庫(kù),按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。按照數(shù)據(jù)庫(kù)類型劃分,可以分為關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。常見關(guān)系型數(shù)據(jù)庫(kù)有MySQL、SQLServer、Oracle、DB2等;常見非關(guān)系數(shù)據(jù)庫(kù)有Redis(鍵值對(duì)存儲(chǔ))、Hbase(列存儲(chǔ))、MongoDB(文檔型數(shù)據(jù)庫(kù))、InfoGrid(圖數(shù)據(jù)庫(kù))等。數(shù)據(jù)庫(kù)(DB)1.數(shù)據(jù)庫(kù)基本概念數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫(kù)的軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)能夠提供數(shù)據(jù)錄入、修改、刪除、查詢操作;具有數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)存儲(chǔ)與管理、數(shù)據(jù)維護(hù)、通信等功能,且能夠允許多用戶使用。常見的數(shù)據(jù)庫(kù)管理系統(tǒng)有MySQL、SQLServer、Oracle、DB2等。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)1.數(shù)據(jù)庫(kù)基本概念數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,DBS)包括:數(shù)據(jù)庫(kù)管理系統(tǒng)+數(shù)據(jù)庫(kù)+應(yīng)用程序+用戶(DBA、應(yīng)用程序員、終端用戶)。數(shù)據(jù)庫(kù)系統(tǒng)(DBS)2.關(guān)系數(shù)據(jù)庫(kù)介紹關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)保存在二維表格中,稱為表(TABLE)。一個(gè)關(guān)系型數(shù)據(jù)庫(kù)包含多個(gè)數(shù)據(jù)表,每個(gè)表又包含行(記錄、元組)、列(字段、屬性)。例如:學(xué)生個(gè)人信息包括“學(xué)號(hào)、姓名、性別、出生日期”,可以用二維表格顯示學(xué)生信息。關(guān)系表2.關(guān)系數(shù)據(jù)庫(kù)介紹表與表通過公共字段(鍵)建立關(guān)聯(lián),“鍵”分為主鍵和外鍵。主鍵保證表中數(shù)據(jù)的唯一性;外鍵關(guān)聯(lián)另一張表中的數(shù)據(jù),保證數(shù)據(jù)的完整性。表與表之間有以下三種類型的關(guān)系:一對(duì)一關(guān)系(1:1)、一對(duì)多關(guān)系(1:n)、多對(duì)多關(guān)系(m:n)。表之間的關(guān)系2.關(guān)系數(shù)據(jù)庫(kù)介紹A表中的一條記錄在B表中僅有一條記錄與之對(duì)應(yīng);反之,B表中的一條記錄在A表中也僅有一條記錄與之對(duì)應(yīng)。一對(duì)一關(guān)系(1:1)2.關(guān)系數(shù)據(jù)庫(kù)介紹A表中的一條記錄在B表中有多條記錄與之對(duì)應(yīng);反之,B表中的一條記錄在A表中僅有一條記錄與之對(duì)應(yīng)。一對(duì)多關(guān)系(1:n)2.關(guān)系數(shù)據(jù)庫(kù)介紹A表中的一條記錄在B表中有多條記錄與之對(duì)應(yīng);反之,B表中的一條記錄在A表中也有多條記錄與之對(duì)應(yīng)。多對(duì)多關(guān)系(m:n)數(shù)據(jù)庫(kù)設(shè)計(jì)中通過增加一張表將一個(gè)多對(duì)多的關(guān)系轉(zhuǎn)化為兩個(gè)一對(duì)多的關(guān)系。2.關(guān)系數(shù)據(jù)庫(kù)介紹關(guān)系數(shù)據(jù)庫(kù)除了包含表,還包含其他數(shù)據(jù)庫(kù)對(duì)象(索引、視圖、存儲(chǔ)過程、觸發(fā)器、用戶等)。其他數(shù)據(jù)庫(kù)對(duì)象3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)需求分析:根據(jù)需求制定任務(wù)目標(biāo),確定需要處理的數(shù)據(jù)對(duì)象及屬性,確定對(duì)象關(guān)系。概念結(jié)構(gòu)設(shè)計(jì):在需求分析基礎(chǔ)上,獲得實(shí)體關(guān)系模型,繪制E-R圖。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì):依據(jù)E-R圖,設(shè)計(jì)表格(確定表的列)。數(shù)據(jù)庫(kù)物理設(shè)計(jì):創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表格及其他數(shù)據(jù)庫(kù)對(duì)象。數(shù)據(jù)庫(kù)性能優(yōu)化:改進(jìn)讀寫性能。設(shè)計(jì)步驟3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)制定任務(wù)目標(biāo):需要維護(hù)學(xué)生信息、需要維護(hù)課程信息、需要記錄選課信息、需要記錄成績(jī)。確定需要處理的數(shù)據(jù)對(duì)象:學(xué)生、課程、選課信息。確定對(duì)象的屬性:學(xué)生(學(xué)生編號(hào)、學(xué)號(hào)、姓名、性別、出生日期、班級(jí));課程(課程編號(hào)、課程名稱、學(xué)分);選課信息(學(xué)生編號(hào)、課程編號(hào)、成績(jī))。確定對(duì)象之間的關(guān)系:一個(gè)學(xué)生選修多門課,一門課被多個(gè)學(xué)生選修,學(xué)生和課程之間存在多對(duì)多的關(guān)系。需求分析3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)體關(guān)系模型(E-R圖)是指從現(xiàn)實(shí)世界中抽象出實(shí)體類型和實(shí)體之間的聯(lián)系,描述現(xiàn)實(shí)世界中實(shí)體對(duì)象之間的關(guān)系。實(shí)體:是指要處理的數(shù)據(jù)對(duì)象,用矩形表示,矩形內(nèi)部填寫實(shí)體名(對(duì)象名稱)。屬性:指對(duì)象的屬性,用橢圓形表示,內(nèi)部填寫屬性名,并用無(wú)向邊與實(shí)體連接。關(guān)系:指實(shí)體之間的關(guān)系,用菱形表示,內(nèi)部填寫關(guān)系名,并用無(wú)向邊與實(shí)體連接,無(wú)向邊上標(biāo)注關(guān)系的類型(1:1、1:n、m:n)。實(shí)體-關(guān)系模型(E-R圖)3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)學(xué)生選課數(shù)據(jù)庫(kù)E-R圖:實(shí)體-關(guān)系模型(E-R圖)3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)表設(shè)計(jì)的原則如下:一個(gè)表描述一種實(shí)體或者實(shí)體間的關(guān)系。避免表之間出現(xiàn)重復(fù)字段。字段應(yīng)該是原始數(shù)據(jù)或者基本數(shù)據(jù)元素。表中應(yīng)該有主鍵來(lái)唯一標(biāo)識(shí)表中的記錄。用外鍵保證表之間的關(guān)系。表設(shè)計(jì)3.關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)學(xué)生選課數(shù)據(jù)庫(kù)表設(shè)計(jì):表設(shè)計(jì)謝謝MySQL概述

MySQL數(shù)據(jù)庫(kù)軟件安裝本節(jié)內(nèi)容1.MySQL簡(jiǎn)介2.獲取MySQL數(shù)據(jù)庫(kù)軟件3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),是一個(gè)真正多用戶、多線程的結(jié)構(gòu)化查詢語(yǔ)言(SQL)數(shù)據(jù)庫(kù)服務(wù)器,其所使用的SQL語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL運(yùn)行速度快、執(zhí)行效率與穩(wěn)定性高、操作簡(jiǎn)單、非常易于使用,是目前最流行的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件之一。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),是中小型網(wǎng)站開發(fā)首選的數(shù)據(jù)庫(kù)管理系統(tǒng)。1.MySQL簡(jiǎn)介MySQL數(shù)據(jù)庫(kù)軟件安裝MySQL的官方網(wǎng)站是/,在該網(wǎng)站上可以免費(fèi)下載其最新版本和各種技術(shù)資料,目前MySQL發(fā)布的最新版本是8.0.35。在MySQL官網(wǎng)的社區(qū)版下載頁(yè)面(/downloads/)中,選擇MySQLInstallerforWindows,進(jìn)入MySQL數(shù)據(jù)庫(kù)軟件下載頁(yè)面。2.獲取MySQL數(shù)據(jù)庫(kù)軟件MySQL數(shù)據(jù)庫(kù)軟件安裝2.獲取MySQL數(shù)據(jù)庫(kù)軟件MySQL數(shù)據(jù)庫(kù)軟件安裝以在Windows10操作系統(tǒng)中安裝MySQL8.0.35版本為例:選擇安裝類型界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝確認(rèn)安裝界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝安裝完成界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝產(chǎn)品配置界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝配置服務(wù)器類型和網(wǎng)絡(luò)界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝身份驗(yàn)證方法界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝設(shè)置賬戶和角色界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝設(shè)置Windows服務(wù)界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝設(shè)置服務(wù)器文件權(quán)限界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝執(zhí)行配置界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝MySQL安裝成功界面3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝運(yùn)行環(huán)境配置:“系統(tǒng)屬性”及“環(huán)境變量”對(duì)話框3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝運(yùn)行環(huán)境配置:“環(huán)境編輯變量”對(duì)話框3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝運(yùn)行環(huán)境配置:“環(huán)境編輯變量”對(duì)話框3.MySQL安裝與配置MySQL數(shù)據(jù)庫(kù)軟件安裝運(yùn)行環(huán)境配置:測(cè)試運(yùn)行環(huán)境配置效果3.MySQL安裝與配置謝謝MySQL概述

MySQL常見操作

本節(jié)內(nèi)容1.MySQL服務(wù)器的啟動(dòng)與停止2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用命令行窗口程序啟動(dòng)和停止服務(wù)器語(yǔ)法格式如下:

netstart服務(wù)名稱

netstop服務(wù)名稱1.MySQL服務(wù)器的啟動(dòng)與停止MySQL常見操作使用Windows中的“服務(wù)”啟動(dòng)和停止啟動(dòng)服務(wù)器1.MySQL服務(wù)器的啟動(dòng)與停止MySQL常見操作使用命令行窗口程序連接和關(guān)閉服務(wù)器連接MySQL服務(wù)器使用mysql命令,其語(yǔ)法格式如下:

mysql–h服務(wù)器主機(jī)地址–u用戶名–p用戶密碼2.MySQL服務(wù)器的連接與關(guān)閉操作案例知識(shí)點(diǎn)概述示例1-1mysql–uroot–p使用管理員賬號(hào)“root”通過命令行窗口連接本機(jī)的MySQL服務(wù)器。MySQL常見操作使用命令行窗口程序連接和關(guān)閉服務(wù)器在控制臺(tái)中輸入exit或者quit命令,可以用來(lái)關(guān)閉MySQL服務(wù)器。執(zhí)行后當(dāng)出現(xiàn)“Bye”提示語(yǔ)時(shí),表示正確關(guān)閉數(shù)據(jù)庫(kù)連接。2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器MySQL圖形化管理工具有很多,例如:Navicat、MySQLWorkbench、SQLyog、phpMyAdmin等。Navicat是一套專為MySQL設(shè)計(jì)的強(qiáng)大數(shù)據(jù)庫(kù)管理及開發(fā)工具,這個(gè)功能齊備的前端軟件為數(shù)據(jù)庫(kù)管理、開發(fā)和維護(hù)提供了直觀而強(qiáng)大的圖形界面,給MySQL新手以及專業(yè)人士提供了一組全面的工具。2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器使用Navicat連接MySQL服務(wù)器的操作步驟:2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器使用Navicat連接MySQL服務(wù)器的操作步驟:2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器使用Navicat連接MySQL服務(wù)器的操作步驟:2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器使用Navicat關(guān)閉MySQL服務(wù)器的操作步驟:2.MySQL服務(wù)器的連接與關(guān)閉MySQL常見操作使用圖形化管理工具連接和關(guān)閉服務(wù)器使用Navicat關(guān)閉MySQL服務(wù)器的操作步驟:2.MySQL服務(wù)器的連接與關(guān)閉謝謝數(shù)據(jù)庫(kù)的創(chuàng)建和管理

數(shù)據(jù)庫(kù)概述

本節(jié)內(nèi)容1.MySQL數(shù)據(jù)庫(kù)文件2.MySQL數(shù)據(jù)庫(kù)分類3.MySQL的字符集和校對(duì)規(guī)則數(shù)據(jù)庫(kù)概述在數(shù)據(jù)庫(kù)服務(wù)器中可以存儲(chǔ)多個(gè)數(shù)據(jù)庫(kù)文件,每個(gè)數(shù)據(jù)庫(kù)有唯一的數(shù)據(jù)庫(kù)文件名作為與其它數(shù)據(jù)庫(kù)區(qū)別的標(biāo)識(shí)。數(shù)據(jù)庫(kù)可以看成是一個(gè)存儲(chǔ)數(shù)據(jù)對(duì)象的容器,這些數(shù)據(jù)對(duì)象包括表、視圖、觸發(fā)器、存儲(chǔ)過程等,其中,表是最基本的數(shù)據(jù)對(duì)象,用以存放數(shù)據(jù)庫(kù)的數(shù)據(jù)的,一個(gè)數(shù)據(jù)庫(kù)包括多個(gè)數(shù)據(jù)表。MySQL的數(shù)據(jù)庫(kù)的各種數(shù)據(jù)以文件的形式保存在系統(tǒng)中;每個(gè)數(shù)據(jù)庫(kù)的文件保存在以數(shù)據(jù)庫(kù)名命名的文件夾中。MySQL配置文件(my.ini)中的datadir參數(shù)指定了數(shù)據(jù)庫(kù)文件的存儲(chǔ)位置。1.MySQL數(shù)據(jù)庫(kù)文件數(shù)據(jù)庫(kù)概述MySQL數(shù)據(jù)庫(kù)包含系統(tǒng)數(shù)據(jù)庫(kù)和用戶數(shù)據(jù)庫(kù)兩類。MySQL安裝后,系統(tǒng)自動(dòng)創(chuàng)建的數(shù)據(jù)庫(kù)稱為系統(tǒng)數(shù)據(jù)庫(kù)。用戶數(shù)據(jù)庫(kù)是用戶根據(jù)實(shí)際應(yīng)用需求創(chuàng)建的數(shù)據(jù)庫(kù)。例如,學(xué)生管理數(shù)據(jù)庫(kù)、商品銷售數(shù)據(jù)庫(kù)、財(cái)務(wù)管理數(shù)據(jù)庫(kù)等。2.MySQL數(shù)據(jù)庫(kù)分類數(shù)據(jù)庫(kù)概述系統(tǒng)數(shù)據(jù)庫(kù)2.MySQL數(shù)據(jù)庫(kù)分類數(shù)據(jù)庫(kù)概述字符集(CharacterSet),即字符以及字符的編碼;校對(duì)規(guī)則(Collation),即比較字符的規(guī)則??梢允褂枚喾N字符集存儲(chǔ)字符串,也允許使用多種校對(duì)規(guī)則來(lái)比較字符串。系統(tǒng)可用的字符集和默認(rèn)校對(duì)規(guī)則可以使用SHOWCHARACTERSET、SHOWCOLLATION命令查看。常見的字符集有:utf8mb4(默認(rèn)字符集)、utf8、gbk、gb2312、big5。其中utf8mb4支持最長(zhǎng)4個(gè)字節(jié)的UTF-8字符,utf8支持最長(zhǎng)3個(gè)字節(jié)的UTF-8字符,utf8mb4兼容utf8,且比utf8能表示更多的字符。3.MySQL的字符集和校對(duì)規(guī)則謝謝數(shù)據(jù)庫(kù)的創(chuàng)建和管理

創(chuàng)建數(shù)據(jù)庫(kù)

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)庫(kù)2.使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)以創(chuàng)建學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)為例,操作步驟如下:打開Navicat控制臺(tái),打開連接對(duì)象“LDL”,可查看到數(shù)據(jù)庫(kù)列表。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)在“LDL”上點(diǎn)擊鼠標(biāo)右鍵,選擇“新建數(shù)據(jù)庫(kù)…”菜單,顯示“新建數(shù)據(jù)庫(kù)”對(duì)話框。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)在以上對(duì)話框中,可指定“數(shù)據(jù)庫(kù)名”、“字符集”和“排序規(guī)則”。點(diǎn)擊“確定”按鈕,即可完成數(shù)據(jù)庫(kù)的創(chuàng)建。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)若需要把“stuInfo”數(shù)據(jù)庫(kù)指定為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù),則雙擊“stuInfo”數(shù)據(jù)庫(kù)即可。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)使用CREATEDATABASE語(yǔ)句,其語(yǔ)法格式如下:CREATEDATABASE[IFNOTEXISTS]<數(shù)據(jù)庫(kù)名> [DEFAULTCHARACTERSET<字符集名>] [DEFAULTCOLLATE<排序規(guī)則名>]2.使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)如果所創(chuàng)建的數(shù)據(jù)庫(kù)已存在、且沒有指定IFNOTEXISTS,則會(huì)出現(xiàn)錯(cuò)誤。操作案例知識(shí)點(diǎn)概述示例2-1(1)在Navicat控制臺(tái)中使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù),運(yùn)行結(jié)果如下:使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)“webInfo”,默認(rèn)字符集為utf8mb4,排序規(guī)則為utf8mb4_general_ci。操作案例知識(shí)點(diǎn)概述示例2-1(2)在命令行程序窗口中使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù),運(yùn)行結(jié)果如下:使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)“webInfo”,默認(rèn)字符集為utf8mb4,排序規(guī)則為utf8mb4_general_ci。創(chuàng)建數(shù)據(jù)庫(kù)顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器下的所有數(shù)據(jù)庫(kù)列表:顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器下的所有數(shù)據(jù)庫(kù)列表使用SHOWDATABASES語(yǔ)句,常用來(lái)查看某一個(gè)數(shù)據(jù)庫(kù)是否存在。其語(yǔ)法格式如下:SHOWDATABASES2.使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)操作案例知識(shí)點(diǎn)概述示例2-2運(yùn)行結(jié)果如下

:以root用戶登錄到MySQL控制臺(tái),使用SHOWDATABASES語(yǔ)句顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器下的所有數(shù)據(jù)庫(kù)列表。創(chuàng)建數(shù)據(jù)庫(kù)指定默認(rèn)數(shù)據(jù)庫(kù):指定一個(gè)數(shù)據(jù)庫(kù)作為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù)使用USE語(yǔ)句,其語(yǔ)法格式如下:USE<數(shù)據(jù)庫(kù)名>2.使用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)操作案例知識(shí)點(diǎn)概述示例2-3運(yùn)行結(jié)果如下

:以root用戶登錄到MySQL控制臺(tái),使用USE語(yǔ)句指定“stuInfo”數(shù)據(jù)庫(kù)作為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù)。謝謝數(shù)據(jù)庫(kù)的創(chuàng)建和管理

修改數(shù)據(jù)庫(kù)

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式修改數(shù)據(jù)庫(kù)2.使用ALTERDATABASE語(yǔ)句修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)以修改學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)為例,操作步驟如下:在Navicat控制臺(tái)中,雙擊展開“LDL”連接對(duì)象,在數(shù)據(jù)庫(kù)列表中的“stuInfo”上點(diǎn)擊鼠標(biāo)右鍵,選擇“編輯數(shù)據(jù)庫(kù)…”菜單,顯示“編輯數(shù)據(jù)庫(kù)”對(duì)話框。1.使用Navicat對(duì)話方式修改數(shù)據(jù)庫(kù)說(shuō)明:不可以修改數(shù)據(jù)庫(kù)名。修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)使用ALTERDATABASE語(yǔ)句。其語(yǔ)法格式如下:ALTERDATABASE<數(shù)據(jù)庫(kù)名>[DEFAULT]CHARACTERSET<字符集名>|[DEFAULT]COLLATE<排序規(guī)則名>]2.使用ALTERDATABASE語(yǔ)句修改數(shù)據(jù)庫(kù)操作案例知識(shí)點(diǎn)概述示例2-4運(yùn)行結(jié)果如下

:將“webInfo”數(shù)據(jù)庫(kù)的默認(rèn)字符集修改為utf8、排序規(guī)則修改為utf8_general_ci。謝謝數(shù)據(jù)庫(kù)的創(chuàng)建和管理

刪除數(shù)據(jù)庫(kù)

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式刪除數(shù)據(jù)庫(kù)2.使用DROPDATABASE語(yǔ)句刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)以刪除學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)為例,操作步驟如下:在Navicat控制臺(tái)中,雙擊展開“LDL”連接對(duì)象,在數(shù)據(jù)庫(kù)列表中的“stuInfo”上點(diǎn)擊鼠標(biāo)右鍵,選擇“刪除數(shù)據(jù)庫(kù)”菜單。在彈出的“確認(rèn)刪除”提示對(duì)話框中,點(diǎn)擊“刪除”按鈕,即可完成對(duì)學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)的刪除。1.使用Navicat對(duì)話方式刪除數(shù)據(jù)庫(kù)注意:數(shù)據(jù)庫(kù)刪除后,所有表及所有數(shù)據(jù)均從磁盤中永久刪除,需謹(jǐn)慎操作!刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)使用DROPDATABASE語(yǔ)句。其語(yǔ)法格式如下:DROPDATABASE[IFEXISTS]<數(shù)據(jù)庫(kù)名>2.使用DROPDATABASE語(yǔ)句刪除數(shù)據(jù)庫(kù)操作案例知識(shí)點(diǎn)概述示例2-5運(yùn)行結(jié)果如下

:刪除數(shù)據(jù)庫(kù)“webInfo”。謝謝數(shù)據(jù)表的創(chuàng)建和管理

數(shù)據(jù)表概述

數(shù)據(jù)表概述數(shù)據(jù)表是數(shù)據(jù)庫(kù)中一個(gè)非常重要的對(duì)象,也是其他對(duì)象的基礎(chǔ)。一個(gè)數(shù)據(jù)庫(kù)中可以包含一張或多張表,表是數(shù)據(jù)的集合,是用來(lái)存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù)的邏輯結(jié)構(gòu)。數(shù)據(jù)在表中是按照行和列的格式來(lái)組織排列的,每一行代表一條唯一的記錄,每一列代表記錄的一個(gè)屬性。數(shù)據(jù)表概述例如,一個(gè)包含學(xué)生基本信息的數(shù)據(jù)表(student),表中每一行代表一名學(xué)生,每一列分別代表該學(xué)生的信息,如學(xué)號(hào)、姓名、性別、班級(jí)等。謝謝數(shù)據(jù)表的創(chuàng)建和管理

數(shù)據(jù)類型

本節(jié)內(nèi)容1.數(shù)值類型2.字符串類型3.日期/時(shí)間類型數(shù)據(jù)類型在創(chuàng)建表結(jié)構(gòu)時(shí)需要確定表中每列的數(shù)據(jù)類型,只有這樣,系統(tǒng)才會(huì)在磁盤上開辟相應(yīng)的空間,用戶才能向表中填寫數(shù)據(jù)。MySQL的數(shù)據(jù)類型主要分為以下三大類:數(shù)值類型、字符串類型和日期/時(shí)間類型。數(shù)據(jù)類型MySQL中的數(shù)值類型分為整型和浮點(diǎn)型兩種。整型中又分為TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT五種;浮點(diǎn)型又分為FLOAT、DOUBLE、DECIMAL三種。1.數(shù)值類型數(shù)據(jù)類型整型1.數(shù)值類型數(shù)據(jù)類型浮點(diǎn)型1.數(shù)值類型數(shù)據(jù)類型說(shuō)明:在整數(shù)類型后面加上UNSIGNED屬性,表示聲明的是無(wú)符號(hào)數(shù)。例如聲明一個(gè)INTUNSIGNED的數(shù)據(jù)列,其取值從0開始。聲明浮點(diǎn)數(shù)類型時(shí),可以為它指定一個(gè)顯示寬度指示器和一個(gè)小數(shù)點(diǎn)指示器。例如FLOAT(7,2)表示顯示的值不會(huì)超過7位數(shù)字,小數(shù)點(diǎn)后面帶有2位數(shù)字,存入的數(shù)據(jù)會(huì)被四舍五入,比如3.1415存入后的結(jié)果是3.14。1.數(shù)值類型數(shù)據(jù)類型字符串類型可以用來(lái)存儲(chǔ)任何一種值,它是最基本的數(shù)據(jù)類型之一。MySQL支持以單引號(hào)或雙引號(hào)包含的字符串,例如"MySQL"、'MySQL',它們表示的是同一個(gè)字符串。2.字符串類型數(shù)據(jù)類型2.字符串類型數(shù)據(jù)類型說(shuō)明:CHAR類型是定長(zhǎng)字符串,VARCHAR類型時(shí)變長(zhǎng)字符串。CHAR(n)或VARCHAR(n)表示可以存儲(chǔ)n個(gè)字符(注意:不是n個(gè)字節(jié))。BLOB相關(guān)類型一般用來(lái)存儲(chǔ)圖片,聲音和視頻等二進(jìn)制文件。TEXT相關(guān)類型一般用來(lái)存儲(chǔ)大量的字符串,可以理解為超大的CHAR或者VARCHAR類型。2.字符串類型數(shù)據(jù)類型日期/時(shí)間類型是用來(lái)存儲(chǔ)諸如“2016-9-1”或者“12:30:00”這一類的日期/時(shí)間的值。3.日期/時(shí)間類型謝謝數(shù)據(jù)表的創(chuàng)建和管理

創(chuàng)建數(shù)據(jù)表

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)表2.使用CREATETABLE語(yǔ)句創(chuàng)建數(shù)據(jù)表3.使用CREATETABLE…LIKE語(yǔ)句復(fù)制數(shù)據(jù)表4.使用CREATETEMPORARYTABLE語(yǔ)句創(chuàng)建臨時(shí)表創(chuàng)建數(shù)據(jù)表以在學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)中創(chuàng)建學(xué)生表(student)為例,操作步驟如下:在Navicat控制臺(tái)中,打開表結(jié)構(gòu)設(shè)計(jì)窗口。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表完成學(xué)生表的表結(jié)構(gòu)的設(shè)計(jì)。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表設(shè)置數(shù)據(jù)表的“表名”。1.使用Navicat對(duì)話方式創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表使用CREATETABLE語(yǔ)句,其語(yǔ)法格式如下:CREATETABLE[IFNOTEXISTS]<表名>(字段名1數(shù)據(jù)類型[屬性][索引],字段名2數(shù)據(jù)類型[屬性][索引],…字段名n數(shù)據(jù)類型[屬性][索引])[存儲(chǔ)引擎][表字符集]2.使用CREATETABLE語(yǔ)句創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表說(shuō)明:每一個(gè)字段可以使用屬性對(duì)其進(jìn)行限制說(shuō)明,屬性是可選的,主要包括:AUTO_INCREMENT、COMMENT等??梢允褂肞RIMARYKEY、UNIQUE、INDEX等子句為字段定義索引。MySQL支持多種存儲(chǔ)引擎,其中最重要的是MyISAM和InnoDB這兩種。默認(rèn)的存儲(chǔ)引擎為InnoDB(MySQL5.1.X之前的版本,默認(rèn)值的存儲(chǔ)引擎為MyISAM)。2.使用CREATETABLE語(yǔ)句創(chuàng)建數(shù)據(jù)表操作案例知識(shí)點(diǎn)概述示例3-1運(yùn)行結(jié)果如下:在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建學(xué)生表(student),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,sNo、sName字段不允許為空。操作案例知識(shí)點(diǎn)概述示例3-2運(yùn)行結(jié)果如下:在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建課程表(course),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,cNo、cName字段不允許為空。操作案例知識(shí)點(diǎn)概述示例3-3運(yùn)行結(jié)果如下:在數(shù)據(jù)庫(kù)stuInfo中創(chuàng)建成績(jī)表(score),其中id字段為自動(dòng)增加的無(wú)符號(hào)整數(shù)、主鍵,sId、cId、grade字段不允許為空。操作案例知識(shí)點(diǎn)概述示例3-4運(yùn)行結(jié)果如下:查看stuInfo數(shù)據(jù)庫(kù)中所有數(shù)據(jù)表。創(chuàng)建數(shù)據(jù)表復(fù)制數(shù)據(jù)表使用CREATETABLE…LIKE語(yǔ)句,其語(yǔ)法格式如下:

CREATETABLE<新表名>LIKE<舊表名>3.使用CREATETABLE…LIKE語(yǔ)句復(fù)制數(shù)據(jù)表說(shuō)明:可以把舊表的表結(jié)構(gòu)、索引、默認(rèn)值等都復(fù)制到新表中。操作案例知識(shí)點(diǎn)概述示例3-5運(yùn)行結(jié)果如下:復(fù)制學(xué)生表(student),生成一張新的數(shù)據(jù)表student_bak。創(chuàng)建數(shù)據(jù)表創(chuàng)建臨時(shí)表使用CREATETEMPORARYTABLE語(yǔ)句,其他語(yǔ)法格式與CREATETABLE語(yǔ)句相同;也可以使用CREATETEMPORARYTABLELIKE語(yǔ)句復(fù)制已有數(shù)據(jù)表,生成一張新的臨時(shí)表。創(chuàng)建的臨時(shí)表只在當(dāng)前連接可見,當(dāng)前連接關(guān)閉后,MySQL會(huì)自動(dòng)刪除所創(chuàng)建的臨時(shí)表并釋放所有空間。使用SHOWTABLES命令無(wú)法查看到所創(chuàng)建的臨時(shí)表,但可以使用INSERT、UPDAE、DELETE、SELECT等命令對(duì)它進(jìn)行操作。4.使用CREATETEMPORARYTABLE語(yǔ)句創(chuàng)建臨時(shí)表操作案例知識(shí)點(diǎn)概述示例3-6運(yùn)行結(jié)果如下:創(chuàng)建臨時(shí)表(student_temp),其字段及要求與學(xué)生表(student)一樣。說(shuō)明:當(dāng)使用SHOWTABLES命令顯示數(shù)據(jù)表列表時(shí),將無(wú)法查看到所創(chuàng)建的臨時(shí)表student_temp;但可以使用INSERT、UPDAE、DELETE、SELECT等命令對(duì)它進(jìn)行操作。謝謝數(shù)據(jù)表的創(chuàng)建和管理

查看表結(jié)構(gòu)

本節(jié)內(nèi)容1.使用DESCRIBE|DESC命令查看表結(jié)構(gòu)2.使用SHOWCREATETABLE命令查看數(shù)據(jù)表創(chuàng)建語(yǔ)句查看表結(jié)構(gòu)查看表結(jié)構(gòu)可以使用“DESCRIBE”或“DESC”命令,其語(yǔ)法格式如下:

DESCRIBE|DESC<表名>1.使用DESCRIBE|DESC命令查看表結(jié)構(gòu)操作案例知識(shí)點(diǎn)概述示例3-7運(yùn)行結(jié)果如下:以root用戶登錄到MySQL控制臺(tái),使用DESC命令查看學(xué)生表(student)的表結(jié)構(gòu)。查看表結(jié)構(gòu)查看數(shù)據(jù)表的創(chuàng)建語(yǔ)句可以使用“SHOWCREATETABLE”命令,其語(yǔ)法格式如下:

SHOWCREATETABLE<表名>2.使用SHOWCREATETABLE命令查看數(shù)據(jù)表創(chuàng)建語(yǔ)句操作案例知識(shí)點(diǎn)概述示例3-8運(yùn)行結(jié)果如下:以root用戶登錄到MySQL控制臺(tái),使用SHOWCREATETABLE命令查看學(xué)生表(student)的創(chuàng)建語(yǔ)句。說(shuō)明:在命令行程序窗口中,在執(zhí)行語(yǔ)句的最后面,使用“\G”代替“;”,可以縱向輸出執(zhí)行結(jié)果,以便于閱讀。謝謝數(shù)據(jù)表的創(chuàng)建和管理

修改表結(jié)構(gòu)

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式修改表結(jié)構(gòu)2.使用ALTERTABLE語(yǔ)句修改表結(jié)構(gòu)修改表結(jié)構(gòu)以修改學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)中的學(xué)生表(student)的表結(jié)構(gòu)為例,操作步驟如下:在Navicat控制臺(tái)中,打開學(xué)生表(student)的表結(jié)構(gòu)設(shè)計(jì)窗口。修改完成后,點(diǎn)擊工具欄上的“保存”按鈕即可。1.使用Navicat對(duì)話方式修改表結(jié)構(gòu)修改表結(jié)構(gòu)修改表結(jié)構(gòu)使用ALTERTABLE語(yǔ)句,其語(yǔ)法格式如下:ALTERTABLE<表名>

ADD字段名數(shù)據(jù)類型[屬性][索引][FIRST|AFTER字段名]| MODIFY字段名數(shù)據(jù)類型[屬性][索引]| CHANGE字段名新字段名數(shù)據(jù)類型[屬性][索引]| DROP字段名| AUTO_INCREMENT=n| RENAMEAS新表名2.使用ALTERTABLE語(yǔ)句修改表結(jié)構(gòu)修改表結(jié)構(gòu)說(shuō)明:ADD用來(lái)添加一個(gè)新的字段,如果沒有指定FIRST或AFTER,則在表的列尾添加一個(gè)字段。MODIFY用來(lái)更改指定字段的數(shù)據(jù)類型等。CHANGE也是用來(lái)更改指定字段的數(shù)據(jù)類型等,但可以同時(shí)把指定字段更改為一個(gè)新的名字。DROP用來(lái)刪除指定字段。AUTO_INCREMENT=n用來(lái)設(shè)置AUTO_INCREMENT的初始值。RENAMEAS用來(lái)給數(shù)據(jù)表重新命名。2.使用ALTERTABLE語(yǔ)句修改表結(jié)構(gòu)操作案例知識(shí)點(diǎn)概述示例3-9運(yùn)行結(jié)果如下:在學(xué)生表(student)中birthday字段的后面添加一個(gè)新的入學(xué)日期entryDate字段。操作案例知識(shí)點(diǎn)概述示例3-10運(yùn)行結(jié)果如下:將學(xué)生表(student)中entryDate字段的數(shù)據(jù)類型更改為TIMESTAMP。操作案例知識(shí)點(diǎn)概述示例3-11運(yùn)行結(jié)果如下:將學(xué)生表(student)中entryDate字段的名字更改為rxDate、數(shù)據(jù)類型更改為DATETIME。操作案例知識(shí)點(diǎn)概述示例3-12運(yùn)行結(jié)果如下:刪除學(xué)生表(student)中的rxDate字段。謝謝數(shù)據(jù)表的創(chuàng)建和管理

操作表中數(shù)據(jù)

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式操作表中數(shù)據(jù)2.使用INSERT語(yǔ)句向表中插入數(shù)據(jù)3.使用UPDATE語(yǔ)句修改表中數(shù)據(jù)4.使用DELETE語(yǔ)句刪除表中數(shù)據(jù)5.使用TRUNCATE語(yǔ)句清空表中數(shù)據(jù)操作表中數(shù)據(jù)以在學(xué)生表(student)中插入、修改、刪除數(shù)據(jù)為例,操作步驟如下:在Navicat控制臺(tái)中,打開學(xué)生表(student)。1.使用Navicat對(duì)話方式操作表中數(shù)據(jù)操作表中數(shù)據(jù)對(duì)學(xué)生表(student)進(jìn)行數(shù)據(jù)的添加、修改和刪除操作。1.使用Navicat對(duì)話方式操作表中數(shù)據(jù)操作表中數(shù)據(jù)使用INSERT語(yǔ)句可以向表中插入數(shù)據(jù),其語(yǔ)法格式如下:

INSERT[INTO]<表名>[(字段名1,字段名2,...,字段名n)] VALUES(值1,值2,...,值n)2.使用INSERT語(yǔ)句向表中插入數(shù)據(jù)操作表中數(shù)據(jù)說(shuō)明:表名后面指定的字段列表要與VALUES子句中表達(dá)式列表的值一一對(duì)應(yīng),即個(gè)數(shù)要相等,數(shù)據(jù)類型也要匹配。對(duì)于字符型或者日期/時(shí)間類型的數(shù)據(jù)需要使用單引號(hào)括起來(lái)。INSERT語(yǔ)句也可以省略字段列表,但必須插入一行完整的數(shù)據(jù),且必須按照表中定義的字段順序?yàn)槿孔侄翁峁┲怠NSERT語(yǔ)句也可以一次性插入多行數(shù)據(jù),即在VALUES子句的后面加上多個(gè)表達(dá)式列表,并以逗號(hào)隔開。2.使用INSERT語(yǔ)句向表中插入數(shù)據(jù)操作案例知識(shí)點(diǎn)概述示例3-13運(yùn)行結(jié)果如下:向?qū)W生表(student)中插入一行數(shù)據(jù)。操作案例知識(shí)點(diǎn)概述示例3-14運(yùn)行結(jié)果如下:向?qū)W生表(student)中插入多行數(shù)據(jù)。操作表中數(shù)據(jù)使用UPDATE語(yǔ)句可以對(duì)表中的一列或多列數(shù)據(jù)進(jìn)行修改,修改時(shí)必須指定需要修改的字段,并且賦予新值。其語(yǔ)法格式如下:

UPDATE<表名> SET字段名1=值1[,字段名2=值2,…,字段名n=值n] [WHERE條件]3.使用UPDATE語(yǔ)句修改表中數(shù)據(jù)操作案例知識(shí)點(diǎn)概述示例3-15運(yùn)行結(jié)果如下:修改學(xué)生表(student)中學(xué)號(hào)為“1308013103”的數(shù)據(jù)記錄,把其班級(jí)更改為“網(wǎng)絡(luò)131”、備注更改為“班長(zhǎng)”。操作表中數(shù)據(jù)使用DELETE語(yǔ)句可以刪除表中的一行或多行數(shù)據(jù)。其語(yǔ)法格式如下:

DELETEFROM<表名> [WHERE條件]4.使用DELETE語(yǔ)句刪除表中數(shù)據(jù)操作案例知識(shí)點(diǎn)概述示例3-16運(yùn)行結(jié)果如下:刪除學(xué)生表(student)中學(xué)號(hào)為“1308013105”的數(shù)據(jù)記錄。操作表中數(shù)據(jù)使用TRUNCATE[TABLE]語(yǔ)句可以刪除表中的所有行數(shù)據(jù)。其語(yǔ)法格式如下:

TRUNCATE[TABLE]<表名>5.使用TRUNCATE語(yǔ)句清空表中數(shù)據(jù)操作表中數(shù)據(jù)說(shuō)明:TRUNCATE[TABLE]語(yǔ)句在功能上與不帶WHERE子句的DELETE語(yǔ)句相同:二者均可以刪除表中的全部行。TRUNCATE[TABLE]速度更快,且使用的系統(tǒng)和事務(wù)日志資源少;并且對(duì)于具有自動(dòng)遞增值的字段,可以使其自動(dòng)恢復(fù)到默認(rèn)的初始值,起到做計(jì)數(shù)重置歸零重新計(jì)算的作用。5.使用TRUNCATE語(yǔ)句清空表中數(shù)據(jù)操作案例知識(shí)點(diǎn)概述示例3-17運(yùn)行結(jié)果如下:使用TRUNCATE語(yǔ)句清空學(xué)生表(student)中數(shù)據(jù)。謝謝數(shù)據(jù)表的創(chuàng)建和管理

刪除數(shù)據(jù)表

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式刪除數(shù)據(jù)表2.使用DROPTABLE語(yǔ)句刪除數(shù)據(jù)表刪除數(shù)據(jù)表以刪除學(xué)生管理數(shù)據(jù)庫(kù)(stuInfo)中的成績(jī)表(score)為例,操作步驟如下:在Navicat控制臺(tái)中,雙擊展開“LDL”連接對(duì)象,再次雙擊數(shù)據(jù)庫(kù)列表中的stuInfo,打開該數(shù)據(jù)庫(kù),在數(shù)據(jù)表列表中的“score”上點(diǎn)擊鼠標(biāo)右鍵,選擇“刪除表”菜單(或者點(diǎn)擊工具欄上的“刪除表”按鈕)。在彈出的“確認(rèn)刪除”提示對(duì)話框中,點(diǎn)擊“刪除”按鈕,即可完成對(duì)成績(jī)表(score)的刪除。1.使用Navicat對(duì)話方式刪除數(shù)據(jù)表修改表結(jié)構(gòu)刪除數(shù)據(jù)表使用DROPTABLE語(yǔ)句,其語(yǔ)法格式如下:DROPTABLE[IFEXISTS]<表名>2.使用DROPTABLE語(yǔ)句刪除數(shù)據(jù)表操作案例知識(shí)點(diǎn)概述示例3-18運(yùn)行結(jié)果如下:刪除課程表(course)。謝謝索引的創(chuàng)建和使用

索引概述

本節(jié)內(nèi)容1.使用索引提高查詢效率的原理2.索引的優(yōu)點(diǎn)3.索引的缺點(diǎn)4.引用索引的原則索引概述索引是一種與數(shù)據(jù)表相關(guān)的類似于目錄的一種數(shù)據(jù)結(jié)構(gòu),MySQL索引的建立對(duì)于MySQL的高效運(yùn)行是很重要的,索引可以大大提高M(jìn)ySQL的檢索速度。索引也類似一張表,該表保存了主鍵與索引字段,并指向?qū)嶓w表的記錄。索引也可以分為單列索引和組合索引,單列索引表示一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引,但這不是組合索引;組合索引表示一個(gè)索引包含多個(gè)列。索引概述索引包含由列生成的鍵值+數(shù)據(jù)頁(yè)地址的指針組成的。索引的鍵值是排序的,排序的數(shù)據(jù)可以利用各種高效的查找算法(例如,折半查找等)。1.使用索引提高查詢效率的原理索引概述提高查詢速度。提高表與表之間連接的效率。唯一性索引還可以保證數(shù)據(jù)記錄的唯一性。2.索引的優(yōu)點(diǎn)索引概述雖然索引大大提高了查詢速度,但卻會(huì)降低更新表的速度,因?yàn)樵趯?duì)數(shù)據(jù)表進(jìn)行INSERT、UPDATE、DELETE的操作時(shí),MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件。因此,索引并不是創(chuàng)建的越多越好。3.索引的缺點(diǎn)索引概述科學(xué)地設(shè)計(jì)索引,在提高查詢效率的同時(shí),應(yīng)盡量減少索引帶來(lái)的副作用??紤]設(shè)置索引的情況如下:經(jīng)常檢索的列(在WHERE子句中使用的列)。主鍵列、外鍵列(事實(shí)上,主鍵約束列、唯一性約束列會(huì)自動(dòng)創(chuàng)建索引)。經(jīng)常用于表間連接的列。4.引用索引的原則索引概述考慮不設(shè)置索引的情況如下:檢索中幾乎不涉及到的列。重復(fù)值太多的列。數(shù)據(jù)類型為text、blob的列。行數(shù)極少的表沒必要?jiǎng)?chuàng)建索引。插入、更新效率比查詢效率更重要的情況。4.引用索引的原則謝謝索引的創(chuàng)建和使用

創(chuàng)建索引

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式創(chuàng)建索引2.在CREATETABLE語(yǔ)句中創(chuàng)建索引3.在ALTERTABLE語(yǔ)句中創(chuàng)建索引4.使用CREATEINDEX語(yǔ)句創(chuàng)建索引5.使用SHOWINDEX語(yǔ)句查看索引創(chuàng)建索引以在學(xué)生表(student)的sNo字段上創(chuàng)建唯一性索引、sName字段上創(chuàng)建普通索引為例,操作步驟如下:在Navicat控制臺(tái)中,打開表結(jié)構(gòu)設(shè)計(jì)窗口。1.使用Navicat對(duì)話方式創(chuàng)建索引創(chuàng)建索引點(diǎn)擊“索引”欄切換到索引頁(yè)面。1.使用Navicat對(duì)話方式創(chuàng)建索引創(chuàng)建索引可以使用CREATETABLE語(yǔ)句在創(chuàng)建數(shù)據(jù)表的同時(shí)創(chuàng)建索引,其語(yǔ)法格式如下:CREATETABLE<表名>( <字段名1>[,……n]|索引項(xiàng))其中索引項(xiàng)的語(yǔ)法格式為: PRIMARYKEY[<索引名>](<字段名1>[ASC|DESC][,……n])| UNIQUE[INDEX][<索引名>](<字段名1>[ASC|DESC][,……n])| INDEX|KEY[<索引名>](<字段名1>[ASC|DESC][,……n])| FULLTEXT[INDEX][<索引名>](<字段名1>[ASC|DESC][,……n])2.在CREATETABLE語(yǔ)句中創(chuàng)建索引創(chuàng)建索引說(shuō)明:PRIMARYKEY:主鍵索引。UNIQUE:唯一性索引。INDEX|KEY:普通索引,KEY通常是INDEX的同義詞,二選一即可。FULLTEXT:全文索引。2.使用CREATETABLE語(yǔ)句創(chuàng)建數(shù)據(jù)表操作案例知識(shí)點(diǎn)概述示例4-1運(yùn)行結(jié)果如下:創(chuàng)建學(xué)生表(student),在id字段上創(chuàng)建主鍵索引、在sNo字段上創(chuàng)建唯一性索引、在sName字段上創(chuàng)建普通索引。操作案例知識(shí)點(diǎn)概述示例4-2運(yùn)行結(jié)果如下:創(chuàng)建課程表(course),在id字段上創(chuàng)建主鍵索引。操作案例知識(shí)點(diǎn)概述示例4-3運(yùn)行結(jié)果如下:創(chuàng)建成績(jī)表(score),在id字段上創(chuàng)建主鍵索引。創(chuàng)建索引如果數(shù)據(jù)表已經(jīng)存在,可以使用ALTERTABLE語(yǔ)句創(chuàng)建索引,其語(yǔ)法格式如下: ALTERTABLE<表名> ADD索引項(xiàng)3.在ALTERTABLE語(yǔ)句中創(chuàng)建索引說(shuō)明:語(yǔ)法中除了多一個(gè)ADD關(guān)鍵詞,其他與在CREATETABLE語(yǔ)句中創(chuàng)建索引類似。操作案例知識(shí)點(diǎn)概述示例4-4運(yùn)行結(jié)果如下:修改課程表(course),在cNo字段上創(chuàng)建唯一性索引、在cName字段上創(chuàng)建普通索引。創(chuàng)建索引創(chuàng)建索引的語(yǔ)句使用CREATEINDEX,其語(yǔ)法格式如下: CREATE[UNIQUE]|[FULLTEXT]INDEX<索引名> ON<表名>(<字段名1>[ASC|DESC][,……n])4.使用CREATEINDEX語(yǔ)句創(chuàng)建索引說(shuō)明:若無(wú)UNIQUE、FULLTEXT關(guān)鍵詞則是創(chuàng)建普通索引。操作案例知識(shí)點(diǎn)概述示例4-5運(yùn)行結(jié)果如下:在成績(jī)表(score)的sId、cId字段上創(chuàng)建唯一性索引(組合索引)。創(chuàng)建索引查看索引使用語(yǔ)句SHOWINDEX,其語(yǔ)法格式如下: SHOWINDEXFROM<表名>[FROM<數(shù)據(jù)庫(kù)名>]5.使用SHOWINDEX語(yǔ)句查看索引操作案例知識(shí)點(diǎn)概述示例4-6運(yùn)行結(jié)果如下:查看學(xué)生表(student)中的索引。謝謝索引的創(chuàng)建和使用

刪除索引

本節(jié)內(nèi)容1.使用Navicat對(duì)話方式刪除索引2.使用DROP

INDEX語(yǔ)句刪除索引刪除索引以刪除學(xué)生表(student)中的唯一性索引和普通索引為例,操作步驟如下:在Navicat控制臺(tái)中,打開表結(jié)構(gòu)設(shè)計(jì)窗口,點(diǎn)擊“索引”欄切換到索引頁(yè)面。1.使用Navicat對(duì)話方式刪除索引創(chuàng)建索引刪除索引使用語(yǔ)句DROPINDEX,其語(yǔ)法格式如下:DROPINDEX<索引名>ON<表名>2.使用DROPINDEX語(yǔ)句刪除索引操作案例知識(shí)點(diǎn)概述示例4-7運(yùn)行結(jié)果如下:刪除課程表(course)中的索引ix_cName。謝謝索引的創(chuàng)建和使用

約束管理

本節(jié)內(nèi)容1.主鍵約束(PRIMARYKEY)2.唯一性約束(UNIQUE)3.默認(rèn)值約束(DEFAULT)4.外鍵約束(FOREIGNKEY)約束管理約束是對(duì)列進(jìn)行限制的規(guī)則,以確保輸入數(shù)據(jù)的一致性和正確性。約束是實(shí)現(xiàn)數(shù)據(jù)完整性的主要途徑。常見的約束有:主鍵約束、唯一性約束、默認(rèn)值約束、外鍵約束、非空約束等。約束可以在創(chuàng)建數(shù)據(jù)表時(shí)創(chuàng)建,也可以在修改數(shù)據(jù)表時(shí)創(chuàng)建。約束管理主鍵約束(簡(jiǎn)稱為主鍵)是MySQL中使用最為頻繁的約束,在設(shè)計(jì)數(shù)據(jù)表時(shí),一般情況下,都會(huì)要求表中設(shè)置一個(gè)主鍵。主鍵值必須唯一標(biāo)識(shí)表中的每一行,且不能為NULL值,即表中不可能存在有相同主鍵值的兩行數(shù)據(jù)。每張表只能定義一個(gè)主鍵,主鍵可以是單字段主鍵,也可以是多字段組合主鍵。創(chuàng)建主鍵約束后,會(huì)自動(dòng)創(chuàng)建一個(gè)與約束同名的主鍵索引。1.主鍵約束(PRIMARYKEY)約束管理(1)在創(chuàng)建表時(shí)設(shè)置主鍵約束在CREATETABLE語(yǔ)句中,通過PRIMARYKEY關(guān)鍵字來(lái)指定主鍵約束。在定義字段的同時(shí)指定主鍵約束,其語(yǔ)法格式如下:<字段名><數(shù)據(jù)類型>PRIMARYKEY也可以在定義完所有字段之后指定主鍵約束,其語(yǔ)法格式如下: [CONSTRAINT<約束名>]PRIMARYKEY(字段名)若是組合主鍵約束,其語(yǔ)法格式如下: [CONSTRAINT<約束名>]PRIMARYKEY(字段名1,字段名2[,…])1.主鍵約束(PRIMARYKEY)操作案例知識(shí)點(diǎn)概述示例4-8運(yùn)行結(jié)果如下:創(chuàng)建學(xué)生表(student1),設(shè)置id字段為主鍵約束。操作案例知識(shí)點(diǎn)概述示例4-9運(yùn)行結(jié)果如下:創(chuàng)建課程表(course1),設(shè)置id字段為主鍵約束。操作案例知識(shí)點(diǎn)概述示例4-10運(yùn)行結(jié)果如下:創(chuàng)建成績(jī)表(score1),設(shè)置sId、cId字段為組合主鍵約束。約束管理(2)在修改表時(shí)添加主鍵約束主鍵約束不僅可以在創(chuàng)建表的同時(shí)創(chuàng)建,也可以在修改表時(shí)添加。但是需要注意的是,設(shè)置成主鍵約束的字段中不允許有空值和重復(fù)值。在修改數(shù)據(jù)表時(shí)添加主鍵約束的語(yǔ)法格式如下:ALTERTABLE<表名> ADD[CONSTRAINT<約束名>]PRIMARYKEY(<字段名>);1.主鍵約束(PRIMARYKEY)操作案例知識(shí)點(diǎn)概述示例4-11運(yùn)行結(jié)果如下:修改學(xué)生表(student1),給id字段添加主鍵約束。說(shuō)明:首先要確保學(xué)生表(student1)中無(wú)主鍵約束,還要確保設(shè)置成主鍵約束的字段中值不能夠有重復(fù)的,并且要保證是非空的。否則,無(wú)法設(shè)置主鍵約束。約束管理(3)刪除主鍵約束當(dāng)一張表中不需要主鍵約束時(shí),就需要從表中將其刪除。刪除主鍵約束的語(yǔ)法格式如下:ALTERTABLE<表名>DROPPRIMARYKEY;說(shuō)明:由于主鍵約束在一張表中只能有一個(gè),因此不需要指定主鍵名就可以刪除一張表中的主鍵約束。1.主鍵約束(PRIMARYKEY)操作案例知識(shí)點(diǎn)概述示例4-12運(yùn)行結(jié)果如下:刪除學(xué)生表(student1)中的主鍵約束。約束管理唯一性約束與主鍵約束有相似的地方,就是它們都能夠確保列的唯一性。不同的是,唯一性約束在一張表中可以有多個(gè),并且設(shè)置唯一性約束的列允許有空值,但是只能有一個(gè)空值;而主鍵約束在一張表中只能有一個(gè),而且是不允許有空值的。2.唯一性約束(UNIQUE)約束管理(1)在創(chuàng)建表時(shí)設(shè)置唯一性約束在CREATETABLE語(yǔ)句中,通過UNIQUE關(guān)鍵字來(lái)指定唯一性約束,唯一性約束通常設(shè)置在除了主鍵以外的其它列上。在定義字段的同時(shí)指定唯一性約束,其語(yǔ)法格式如下:<字段名><數(shù)據(jù)類型>UNIQUE也可以在定義完所有字段之后指定唯一性約束,其語(yǔ)法格式如下: [CONSTRAINT<約束名>]UNIQUE(字段名)2.唯一性約束(UNIQUE)操作案例知識(shí)點(diǎn)概述示例4-13運(yùn)行結(jié)果如下:創(chuàng)建學(xué)生表(student1),設(shè)置id字段為主鍵約束、sNo字段為唯一性約束。操作案例知識(shí)點(diǎn)概述示例4-14運(yùn)行結(jié)果如下:創(chuàng)建課程表(course1),設(shè)置id字段為主鍵約束、cNo為唯一性約束。約束管理(2)在修改表時(shí)添加唯一性約束在修改數(shù)據(jù)表時(shí)添加唯一性約束的語(yǔ)法格式如下:ALTERTABLE<表名> ADD[CONSTRAINT<約束名>]UNIQUE(<字段名>);2.唯一性約束(UNIQUE)操作案例知識(shí)點(diǎn)概述示例4-15運(yùn)行結(jié)果如下:修改課程表(course1),給cName字段添加唯一性約束。約束管理(3)刪除唯一性約束刪除唯一性約束的語(yǔ)法格式如下:ALTERTABLE<表名>

DROPINDEX<唯一性約束名>;2.唯一性約束(UNIQUE)操作案例知識(shí)點(diǎn)概述示例4-16運(yùn)行結(jié)果如下:刪除課程表(course1)中的唯一性約束ux_cName。約束管理默認(rèn)約束是用來(lái)給表中某列賦予一個(gè)常量值(默認(rèn)值),當(dāng)向該表插入一條新的記錄時(shí),如果用戶沒有明確給出該列的值,MySQL會(huì)自動(dòng)為該列插入所設(shè)置的默認(rèn)值。3.默認(rèn)值約束(DEFAULT)約束管理(1)在創(chuàng)建表時(shí)設(shè)置默認(rèn)值約束在CREATETABLE語(yǔ)句中,通過DEFAULT關(guān)鍵字來(lái)指定默認(rèn)值約束,其語(yǔ)法格式如下:<字段名><數(shù)據(jù)類型>DEFAULT<默認(rèn)值>說(shuō)明:“默認(rèn)值”是指該字段所設(shè)置的默認(rèn)值,如果是字符類型,需要用單引號(hào)括起來(lái)。3.默認(rèn)值約束(DEFAULT)操作案例知識(shí)點(diǎn)概述示例4-17運(yùn)行結(jié)果如下:創(chuàng)建學(xué)生表(student1),設(shè)置sex字段設(shè)置默認(rèn)值為“男”。約束管理(2)在修改表時(shí)添加默認(rèn)值約束在修改數(shù)據(jù)表時(shí)添加默認(rèn)值約束的語(yǔ)法格式如下:ALTERTABLE<表名> MODIFY<字段名><數(shù)據(jù)類型>DEFAULT<默認(rèn)值>;3.默認(rèn)值約束(DEFAULT)操作案例知識(shí)點(diǎn)概述示例4-18運(yùn)行結(jié)果如下:修改課程表(course1),給credit字段添加默認(rèn)值“4”。約束管理(3)刪除默認(rèn)值約束刪除默認(rèn)值約束的語(yǔ)法格式如下:ALTERTABLE<表名> MODIFY<字段名><數(shù)據(jù)類型>DEFAULTNULL;3.默認(rèn)值約束(DEFAULT)操作案例知識(shí)點(diǎn)概述示例4-19運(yùn)行結(jié)果如下:刪除課程表(course1)中credit字段的默認(rèn)值約束。約束管理(4)使用Navicat對(duì)話方式創(chuàng)建默認(rèn)約束以給學(xué)生表(student)的sex字段添加默認(rèn)值“男”為例。在Navicat控制臺(tái)中,打開表結(jié)構(gòu)設(shè)計(jì)窗口。3.默認(rèn)值約束(DEFAULT)約束管理外鍵約束經(jīng)常與主鍵約束一起使用。對(duì)于兩個(gè)具有關(guān)聯(lián)關(guān)系的表而言,相關(guān)聯(lián)字段中主鍵所在的表就是主表(父表),外鍵所在的表就是從表(子表)。在MySQL中,目前只有InnoDB存儲(chǔ)引擎支持外鍵約束。外鍵用來(lái)建立主表與從表的關(guān)聯(lián)關(guān)系,為兩個(gè)表的數(shù)據(jù)建立連接,約束兩個(gè)表中數(shù)據(jù)的一致性和完整性。例如,主表刪除某條記錄時(shí),從表中與之對(duì)應(yīng)的記錄也必須有相應(yīng)的改變。一個(gè)表可以有一個(gè)或多個(gè)外鍵,外鍵可以為空值,若不為空值,則每一個(gè)外鍵的值必須等于主表中主鍵的某個(gè)值。4.外鍵約束(FOREIGNKEY)約束管理定義外鍵時(shí),需要遵守下列規(guī)則:主表必須已經(jīng)存在于數(shù)據(jù)庫(kù)中,或者是當(dāng)前正在創(chuàng)建的表。如果是后一種情況,則主表與從表是同一個(gè)表,這樣的表稱為自參照表,這種結(jié)構(gòu)稱為自參照完整性。必須為主表定義主鍵。主鍵不能包含空值,但允許在外鍵中出現(xiàn)空值。也就是說(shuō),只要外鍵的每個(gè)非空值出現(xiàn)在指定的主鍵中,這個(gè)外鍵的內(nèi)容就是正確的。在主表的表名后面指定列名或列名的組合。這個(gè)列或列的組合必須是主表的主鍵或候選鍵。外鍵列的數(shù)目必須和主表中主鍵列的數(shù)目相同;外鍵列的數(shù)據(jù)類型必須和主表中主鍵列的數(shù)據(jù)類型相同。4.外鍵約束(FOREIGNKEY)約束管理(1)在創(chuàng)建表時(shí)設(shè)置外鍵約束在CREATETABLE語(yǔ)句中,通過FOREIGNKEY關(guān)鍵字來(lái)指定外鍵約束,其語(yǔ)法格式如下:[CONSTRAINT<約束名>]FOREIGNKEY(字段名) REFERENCES<主表名>(主鍵列) [ONDELETE{RESTRICT|NOACTION|CASCADE|SETNULL}] [ONUPDATE{RESTRICT|NOACTION|CASCADE|SETNULL}]4.外鍵約束(FOREIGNKEY)約束管理(1)在創(chuàng)建表時(shí)設(shè)置外鍵約束說(shuō)明:RESTRICT:不執(zhí)行任何操作。主表的更新或者刪除企圖會(huì)被拒絕。NOACTION:與RESTRICT相同。主表的更新或者刪除企圖會(huì)被拒絕。CASCADE:從表隨主表級(jí)聯(lián)更新或級(jí)聯(lián)刪除。即,刪除或更新主表中的行,同時(shí)自動(dòng)地刪除或更新從表中對(duì)應(yīng)匹配的行。SETNULL:從表的外鍵列設(shè)置為NULL,即,刪除或更新主表中的行,同時(shí)將從表中的外鍵列設(shè)置為NULL。注意,只有在從表的外鍵列沒有被設(shè)為NOTNULL時(shí)才有效。4.外鍵約束(FOREIGNKEY)操作案例知識(shí)點(diǎn)概述示例4-20運(yùn)行結(jié)果如下:創(chuàng)建成績(jī)表(score1),設(shè)置sId字段為外鍵約束,參考的是學(xué)生表(student1)中的id字段(不執(zhí)行任何操作)。約束管理(2)在修改表時(shí)添加外鍵約束在修改數(shù)據(jù)表時(shí)添加外鍵約束的語(yǔ)法格式如下:ALTERTABLE<表名> ADD[CONSTRAINT<約束名>]FOREIGNKEY(字段名) REFERENCES<主表名>(主鍵列) [ONDELETE{RESTRICT|NOACTION|CASCADE|SETNULL}] [ONUPDATE{RESTRICT|NOACTION|CASCADE|SETNULL}];4.外鍵約束(FOREIGNKEY)操作案例知識(shí)點(diǎn)概述示例4-21運(yùn)行結(jié)果如下:修改成績(jī)表(score1),給cId字段添加外鍵約束,參考的是課程表(course1)中的id字段(不執(zhí)行任何操作)。約束管理(3)刪除外鍵約束刪除外鍵約束的語(yǔ)法格式如下:ALTERTABLE<表名>

DROPFOREIGNKEY<外鍵約束名>;4.外鍵約束(FOREIGNKEY)操作案例知識(shí)點(diǎn)概述示例4-22運(yùn)行結(jié)果如下:刪除成績(jī)表(score1)中的外鍵約束fk_course1_score1。約束管理(4)使用Navicat對(duì)話方式創(chuàng)建外鍵約束以給成績(jī)表(score)中的sId字段和cId字段添加外鍵約束為例。在Navicat控制臺(tái)中,打開表結(jié)構(gòu)設(shè)計(jì)窗口,點(diǎn)擊“外鍵”欄切換到外鍵頁(yè)面。4.外鍵約束(FOREIGNKEY)約束管理(4)使用Navicat對(duì)話方式創(chuàng)建外鍵約束給成績(jī)表(score)創(chuàng)建了外鍵約束以后,學(xué)生表(student)、課程表(course)、成績(jī)表(score)之間的關(guān)系如下所示:4.外鍵約束(FOREIGNKEY)謝謝數(shù)據(jù)查詢

SELECT語(yǔ)句

本節(jié)內(nèi)容1.SELECT語(yǔ)句基本語(yǔ)法2.查詢示例數(shù)據(jù)庫(kù)SELECT語(yǔ)句SELECT語(yǔ)句主要用于數(shù)據(jù)的查詢檢索,是SQL語(yǔ)言的核心,也是使用頻率最高的一條語(yǔ)句。SELECT語(yǔ)句可以讓數(shù)據(jù)庫(kù)服務(wù)器根據(jù)用戶的要求,從數(shù)據(jù)庫(kù)的表中檢索出所需要的數(shù)據(jù),并按照用戶指定的格式進(jìn)行整理并返回。1.SELECT語(yǔ)句基本語(yǔ)法SELECT語(yǔ)句SELECT語(yǔ)句的語(yǔ)法格式如下:SELECT[ALL|DISTINCT]*|字段列表FROM表名[WHERE查詢條件][GROUPBY分組字段[HAVING分組條件]][ORDERBY排序字段[ASC|DESC]][LIMIT[初始位置,]記錄數(shù)]1.SELECT語(yǔ)句基本語(yǔ)法SELECT語(yǔ)句說(shuō)明:SELECT子句:用來(lái)指定查詢返回的字段。星號(hào)(*)表示返回所有字段,并按照表中定義的字段順序顯示查詢結(jié)果集;也可指定字段列表,以逗號(hào)隔開,各字段在SELECT子句中的循序決定了它們?cè)诓樵兘Y(jié)果集中的順序。使用DISTINCT關(guān)鍵字可以取消重復(fù)的數(shù)據(jù)記錄。FROM子句:用來(lái)指定數(shù)據(jù)來(lái)源的表。WHERE子句:用來(lái)限定返回行的查詢條件。GROUPBY子句:用來(lái)指定查詢結(jié)果的分組條件。ORDERBY子句:用來(lái)指定結(jié)果集的排序方式。ASC表示升序,可省略;DESC表示降序。LIMIT子句:用來(lái)限制SELECT語(yǔ)句返回的記錄數(shù)。1.SELECT語(yǔ)句基本語(yǔ)法SELECT語(yǔ)句以“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫(kù)StuInfo作為學(xué)習(xí)本章內(nèi)容的示例數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中的數(shù)據(jù)表如下:學(xué)生表(student) student(id,sNo,sName,sex,birthday,deptName,remark)課程表(course) course(id,cNo,cName,credit,remark)成績(jī)表(score) score(id,sid,cid,grade)2.查詢示例數(shù)據(jù)庫(kù)謝謝數(shù)據(jù)查詢

簡(jiǎn)單查詢

本節(jié)內(nèi)容1.選擇字段進(jìn)行查詢2.使用比較運(yùn)算符進(jìn)行查詢3.使用邏輯運(yùn)算符進(jìn)行查詢4.使用LIKE進(jìn)行模糊查詢5.使用BETWEEN…AND進(jìn)行范圍比較查詢本節(jié)內(nèi)容6.使用IN進(jìn)行范圍比對(duì)查詢7.使用空值(NULL)的判斷進(jìn)行查詢8.使用ORDERBY子句排序查詢的記錄9.使用LIMIT子句限制返回記錄的行數(shù)10.使用DISTINCT關(guān)鍵字過濾重復(fù)的記錄簡(jiǎn)單查詢(1)選擇所有字段在SELECT子句中可以使用星號(hào)(*),顯示表中所有的字段。其語(yǔ)法格式如下: SELECT*FROM表名1.選擇字段進(jìn)行查詢操作案例知識(shí)點(diǎn)概述示例5-1運(yùn)行結(jié)果如下:顯示student表中的所有信息。簡(jiǎn)單查詢(2)選擇指定字段選擇指定字段的語(yǔ)法格式如下: SELECT字段名1[,字段名2,…,字段名n]FROM表名說(shuō)明:字段的順序可以與表中定義的字段順序不同,字段與字段之間使用逗號(hào)分隔。1.選擇字段進(jìn)行查詢操作案例知識(shí)點(diǎn)概述示例5-2運(yùn)行結(jié)果如下:從student表中查詢出班級(jí)名稱(deptName),學(xué)號(hào)(sNo)、姓名(sName)、和性別(sex)的學(xué)生信息。說(shuō)明:在數(shù)據(jù)查詢時(shí),字段的顯示順序由SELECT子句指定,該順序可以和表中定義的字段順序不同,這并不影響數(shù)據(jù)在表中的存儲(chǔ)順序。簡(jiǎn)單查詢(3)定義字段別名默認(rèn)情況下返回的查詢結(jié)果以字段名作為列標(biāo)題的,可以為返回的字段指定一個(gè)新的列標(biāo)題,也可給通過計(jì)算產(chǎn)生的新列指定一個(gè)列標(biāo)題。其語(yǔ)法格式如下: SELECT字段名1[AS]列標(biāo)題1[,字段名2[AS]列標(biāo)題2,…]FROM表名說(shuō)明:AS關(guān)鍵字可以省略。1.選擇字段進(jìn)行查詢操作案例知識(shí)點(diǎn)概述示例5-3運(yùn)行結(jié)果如下:以“學(xué)號(hào)姓名性別出生日期”作為列標(biāo)題顯示學(xué)生信息。簡(jiǎn)單查詢?cè)趯?shí)際工作中,大部分查詢并不是針對(duì)表中所有數(shù)據(jù)記錄的查詢,而是要找出滿足某些條件的數(shù)據(jù)記錄。此時(shí)我們可以在SELECT語(yǔ)句中使用WHERE子句,其語(yǔ)法格式如下: SELECT*|字段列表FROM表名

WHERE查詢條件說(shuō)明:查詢條件可以是:比較表達(dá)式、邏輯表達(dá)式、以及其他一些謂詞構(gòu)成的表達(dá)式(字符串模糊匹配LIKE、數(shù)據(jù)范圍BETWEEN、列表數(shù)據(jù)IN、空值判定ISNULL等)。2.使用比較運(yùn)算符進(jìn)行查詢簡(jiǎn)單查詢WHERE子句允許使用的比較運(yùn)算符如下表所示:2.使用比較運(yùn)算符進(jìn)行查詢操作案例知識(shí)點(diǎn)概述示例5-4運(yùn)行結(jié)果如下:查詢student表中女學(xué)生的信息。操作案例知識(shí)點(diǎn)概述示例5-5運(yùn)行結(jié)果如下:查詢course表中超過4個(gè)學(xué)分(credit)的課程信息。簡(jiǎn)單查詢WHERE子句允許使用的邏輯運(yùn)算符如下表所示:3.使用邏輯運(yùn)算符進(jìn)行查詢操作案例知識(shí)點(diǎn)概述示例5-6運(yùn)行結(jié)果如下:查詢student表中1995年出生的學(xué)生信息。操作案例知識(shí)點(diǎn)概述示例5-7運(yùn)行結(jié)果如下:查詢student表中“軟件131”班級(jí)的女生、以及其他班級(jí)的男生。簡(jiǎn)單查詢?cè)赪HERE子句中,通過LIKE關(guān)鍵字與“%”和“_”兩個(gè)通配符的使用,可以對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行模糊查詢。這兩個(gè)通配符的含義如下所示:百分號(hào)(%):表示匹配0個(gè)或者任意多個(gè)字符。下劃線(_):表示匹配任意一個(gè)字符。說(shuō)明:如果需要查詢出包含下劃線“_”的數(shù)據(jù),在進(jìn)行模糊查詢時(shí),需要加一個(gè)“\”進(jìn)行轉(zhuǎn)義,表示為“\_”的形式。4.使用LIKE進(jìn)行模糊查詢操作案例知識(shí)點(diǎn)概述示例5-8運(yùn)行結(jié)果如下:從student表中檢索出所有姓“楊”的學(xué)生信息。操作案例知識(shí)點(diǎn)概述示例5-9運(yùn)行結(jié)果如下:從course表中檢索出課程名稱(cName)中包含“設(shè)計(jì)”的課程信息。操作案例知識(shí)點(diǎn)概述示例5-10運(yùn)行結(jié)果如下:從student表中檢索出姓名(sName)的第二個(gè)字是“偉”和“先”的學(xué)生信息。簡(jiǎn)單查詢?cè)赪HERE子句中,可以使用BETWEENAND關(guān)鍵字對(duì)指定字段的某一范圍內(nèi)的數(shù)據(jù)進(jìn)行比較查詢,其與使用“>=”且“<=”的功能一樣。其語(yǔ)法格式如下:

字段名[NOT]BETWEEN值1AND值2說(shuō)明:指定字段的值(不)在值1和值2之間。5.使用BETWEEN…AND進(jìn)行范圍比較查詢操作案例知識(shí)點(diǎn)概述示例5-11運(yùn)行結(jié)果如下:查詢student表中1995年出生的學(xué)生信息(使用BETWEENAND關(guān)鍵字)。操作案例知識(shí)點(diǎn)概述示例5-12運(yùn)行結(jié)果如下:從score表中查詢出成績(jī)(grade)不在60-89分之間的學(xué)生成績(jī)信息。簡(jiǎn)單查詢?nèi)绻侄蔚娜≈捣秶皇且粋€(gè)連續(xù)的區(qū)間,而是一些離散的值,可以使用IN關(guān)鍵字對(duì)指定字段進(jìn)行范圍比對(duì)查詢。其語(yǔ)法格式如下:

字段名[NOT]IN(值1[,值2,值3,…])說(shuō)明:指定字段的值(不)在括號(hào)中列出的值之中。6.使用IN進(jìn)行范圍比對(duì)查詢操作案例知識(shí)點(diǎn)概述示例5-13運(yùn)行結(jié)果如下:查詢student表中學(xué)號(hào)(sNo)為1308013101、1309122503、1312054904的學(xué)生信息。簡(jiǎn)單查詢空值(NULL)是一個(gè)特殊的值,它僅僅是一個(gè)符號(hào),不等于空字符串,也不等于0??罩蹬袛嗟恼Z(yǔ)法格式如下:

字段名IS[NOT]NULL7.使用空值(NULL)的判斷進(jìn)行查詢操作案

溫馨提示

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