項目三 操作數(shù)據(jù)庫_第1頁
項目三 操作數(shù)據(jù)庫_第2頁
項目三 操作數(shù)據(jù)庫_第3頁
項目三 操作數(shù)據(jù)庫_第4頁
項目三 操作數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三操作數(shù)據(jù)庫目錄3.2【任務2】創(chuàng)建數(shù)據(jù)庫3.1【任務1】安裝MySql3.3【任務3】查詢數(shù)據(jù)3.4【任務4】創(chuàng)建索引案例分析3MySQL是一種關系數(shù)據(jù)庫管理系統(tǒng),所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用的標準化語言,其特點為體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,在Web應用方面,MySQL是最好的關系數(shù)據(jù)庫管理系統(tǒng)應用軟件之一。本任務是通過下載MySQL免安裝版為例,安裝配置MySQL軟件。需求描述案例分析4進入MySQL官網(wǎng),進行免安裝版軟件下載。配置MySQL。驗證是否配置成功。設計思路任務一安裝MySql5案例展示知識點講解60102MySQL數(shù)據(jù)庫概述概述概述關系數(shù)據(jù)庫概述在客觀世界中,一組數(shù)據(jù)可以用于標識一個客觀實體,這組數(shù)據(jù)就被稱為數(shù)據(jù)實體。在數(shù)據(jù)庫中,有些數(shù)據(jù)實體之間存在著某種關聯(lián),人們采用數(shù)據(jù)模型來描述數(shù)據(jù)實體間關聯(lián)的形式。在數(shù)據(jù)庫中,有三種經(jīng)典的數(shù)據(jù)模型,分別是層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型、關系數(shù)據(jù)模型。其中:層次數(shù)據(jù)模型,采用樹型結構描述數(shù)據(jù)實體間的關聯(lián);網(wǎng)狀數(shù)據(jù)模型,采用網(wǎng)狀結構描述數(shù)據(jù)實體間的關聯(lián);關系數(shù)據(jù)模型,采用二維表結構描述數(shù)據(jù)實體間的關聯(lián)。7概述關系數(shù)據(jù)庫概述關系數(shù)據(jù)模型因其具有較高的數(shù)據(jù)獨立性和較嚴格的數(shù)據(jù)理論基礎,并具有結構簡單和提供非過程性語言等優(yōu)點,因而得到了較大規(guī)模的應用。采用關系數(shù)據(jù)模型構造的數(shù)據(jù)庫系統(tǒng),被稱為關系數(shù)據(jù)庫系統(tǒng)(RDBS,RelationDataBaseSystem)。關系模型就是一張二維表,如圖所示,因而一個關系型數(shù)據(jù)庫就是若干個二維表的集合。8概述關系數(shù)據(jù)庫語言SQL介紹結構化查詢語言SQL(StructuredQueryLanguage)是最重要的關系數(shù)據(jù)庫操作語言,經(jīng)過多年的發(fā)展,SQL語言已成為關系數(shù)據(jù)庫的標準語言。SQL語言不同于Java、Python等程序設計語言,它是只能被數(shù)據(jù)庫識別的指令,但在程序設計中,可以利用其他編程語言組織SQL語句發(fā)送給數(shù)據(jù)庫,數(shù)據(jù)庫再執(zhí)行相應的操作。根據(jù)功能劃分,SQL語言主要由以下四個部分組成。DML(DataManipulationLanguage,數(shù)據(jù)操縱語言):用來插入、修改和刪除數(shù)據(jù)庫中的數(shù)據(jù),主要包括INSERT、UPDATE、DELETE命令。DDL(DataDefinitionLanguage,數(shù)據(jù)定義語言):用來建立數(shù)據(jù)庫、建立表等,主要包括CREATEDATABASE、CREATETABLE等。DQL(DataQueryLanguage,數(shù)據(jù)查詢語言):用來對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢,使用SELECT命令完成查詢。DCL(DataControlLanguage,數(shù)據(jù)控制語言):用來控制數(shù)據(jù)庫組件的存取許可、存取權限等,主要包括GRANT、REVODE命令。9MySQL數(shù)據(jù)庫概述MySQL數(shù)據(jù)庫簡介MySQL數(shù)據(jù)庫由瑞典

MySQLAB公司開發(fā),目前屬于

Oracle

公司旗下的產(chǎn)品。作為關系型數(shù)據(jù)庫最好的應用軟件之一,MySQL是開放源代碼的,因此任何人都可以下載并根據(jù)自己的需要對其進行修改。MySQL數(shù)據(jù)庫是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),主要有以下特點:超強的穩(wěn)定性支持大型數(shù)據(jù)庫支持多種字符集存儲可移植性好強大的查詢功能10目錄3.2【任務2】創(chuàng)建數(shù)據(jù)庫3.1【任務1】安裝MySql3.3【任務3】查詢數(shù)據(jù)3.4【任務4】創(chuàng)建索引案例分析12小張安裝完數(shù)據(jù)庫之后,開始對項目需求進行分析,發(fā)現(xiàn)確定數(shù)據(jù)字典和創(chuàng)建表是開發(fā)數(shù)據(jù)庫中必不可少的階段。本任務是創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)庫表并插入對應的數(shù)據(jù)。需求描述案例分析13根據(jù)需求確定數(shù)據(jù)字典。根據(jù)數(shù)據(jù)字典創(chuàng)建數(shù)據(jù)庫。根據(jù)提供的數(shù)據(jù)進行數(shù)據(jù)庫信息的插入。設計思路任務二創(chuàng)建數(shù)據(jù)庫14案例展示知識點講解15010203查看數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表插入表記錄創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表在建立了數(shù)據(jù)庫之后,需按照分類進行數(shù)據(jù)庫表的創(chuàng)建以及數(shù)據(jù)的存儲。其創(chuàng)建數(shù)據(jù)表的語法格式為:16createtable數(shù)據(jù)表名(字段1數(shù)據(jù)類型,字段2數(shù)據(jù)類型,……字段n數(shù)據(jù)類型);參數(shù)說明:數(shù)據(jù)表名:是需要創(chuàng)建的數(shù)據(jù)表的名字。字段名:是指數(shù)據(jù)表中的列名。數(shù)據(jù)類型:是指表中列的類型,用于指定可以存儲指定類型格式的數(shù)據(jù)。查看數(shù)據(jù)表查看所有表17創(chuàng)建完數(shù)據(jù)表之后,如果需要查看該表是否已經(jīng)成功創(chuàng)建,可以在指定的數(shù)據(jù)庫中使用查看表的SQL命令。其創(chuàng)建數(shù)據(jù)表的語法格式為“showtables;”。查看數(shù)據(jù)表查看指定表的結構信息18擁有了數(shù)據(jù)表之后,如果需要查看數(shù)據(jù)表的結構信息,可以在指定的數(shù)據(jù)庫中使用查看指定表表結構信息的SQL命令。其查看指定表的結構信息的語法格式為“describe表名;”,通常簡寫為“desc表名;”查看數(shù)據(jù)表查看指定表的定義信息19如果需要查看數(shù)據(jù)表的定義信息,可以在指定的數(shù)據(jù)庫中使用查看表定義信息的SQL命令。其查看表的定義信息的語法格式為“showcreatetable數(shù)據(jù)表名;”。插入表記錄插入單條記錄20利用insert語句插入單條記錄分為四種情況:插入完整的一條記錄、插入不完整的一條記錄、插入帶有字段默認值的記錄以及插入已存在主鍵值的記錄。其語法格式如下:insertinto<表名>[(字段名列表)]values(值列表);插入表記錄插入單條記錄21參數(shù)說明:into:用在insert關鍵字和表名之間的可選關鍵字,可以省略。字段名列表:指定要插入的字段名,可以省略。如果不寫字段名,表示要向表中的所有字段插入數(shù)據(jù);如果寫部分字段名,表示只為指定的字段插入數(shù)據(jù),多個字段名之間用逗號分隔。值列表:表示為各字段指定一個具體的值,各值之間用逗號分隔,也可以是空值NULL。在插入記錄時,如果某個字段的值想采用該列的默認值,則可以用DEFAULT來代替。值列表里的各項值的數(shù)據(jù)類型要與該列的數(shù)據(jù)類型保持一致,并且字符型值需要用單引號或雙引號括起來。目錄3.2【任務2】創(chuàng)建數(shù)據(jù)庫3.1【任務1】安裝MySql3.3【任務3】查詢數(shù)據(jù)3.4【任務4】創(chuàng)建索引案例分析23小張創(chuàng)建完數(shù)據(jù)庫和數(shù)據(jù)庫表后,想通過查詢語句查詢插入的測試數(shù)據(jù)是否插入成功,除此之外想編寫SQL語句實現(xiàn)手機銷售管理系統(tǒng)的日常業(yè)務,本任務是使用SQL語句查詢數(shù)據(jù)庫表中數(shù)據(jù)的相關信息。需求描述案例分析24使用select*from數(shù)據(jù)表查詢測試數(shù)據(jù)是否插入成功。使用select條件查詢語句查詢手機庫存信息。使用select實現(xiàn)多表查詢。設計思路任務三查詢數(shù)據(jù)25案例展示知識點講解260102聚合函數(shù)select基本查詢select基本查詢select基本查詢在MySQL中,在數(shù)據(jù)表擁有大量的數(shù)據(jù)記錄后,除了對數(shù)據(jù)表能夠完成數(shù)據(jù)更新操作外,另外需要重點考慮的是如何在數(shù)據(jù)表中查詢需要的數(shù)據(jù)。查詢數(shù)據(jù)的操作可以使用select語句來完成,使用select語句不但可以從數(shù)據(jù)庫中精確地查詢信息,而且可以模糊地查找?guī)в心稠椞卣鞯臄?shù)據(jù)。其語法格式如下:27select[all|distinct]要查詢的內(nèi)容from表名列表[where條件][groupby字段列表[having分組條件]][orderby字段列表[asc|desc]][limit[offset,]n];select基本查詢select基本查詢28參數(shù)說明:select要查詢的內(nèi)容:“要查詢的內(nèi)容”可以是一個字段、多個字段、表達式或函數(shù)。若是要查詢部分字段,需要將各字段名用逗號分隔開,各字段名在select子句中的順序決定了它們在結果中顯示的順序。用“*”表示返回所有字段。all|distinct:用來標識在查詢結果集中對相同行的處理方式,默認值為all。all表示返回查詢結果集中的所有行,包括重復行。distinct表示若查詢結果集中有相同的行,則只顯示一行。from表名列表:用于指定查詢的數(shù)據(jù)表的名稱以及它們之間的邏輯關系。where條件:用于按指定條件進行查詢。groupby字段列表:用于指定將查詢結果根據(jù)什么字段進行分組。having分組條件:用于指定對分組的過濾條件,選擇滿足條件的分組記錄。select基本查詢select基本查詢29orderby字段列表[asc|desc]:用于指定查詢結果集的排序方式,默認為升序。asc用于表示結果集按指定的字段升序排列,desc表示結果集按指定的字段以降序排列。limit[offset,]n:用于限制查詢結果的數(shù)量。limit后面可以跟兩個參數(shù),第一個參數(shù)“offset”表示偏移量,如果偏移量為0,則從查詢結果的第一條記錄開始顯示,如果偏移量為1,則從查詢結果的第二條記錄開始顯示……依此類推。offset為可選值,如果不指定具體的值,則其默認值為0。第二個參數(shù)“n”表示返回的查詢記錄的條數(shù)。聚合函數(shù)count函數(shù)聚合函數(shù)中最經(jīng)常使用的是count函數(shù),用于統(tǒng)計表中滿足條件的行數(shù)或總行數(shù)。返回select語句查詢到的行中非null值的項目,若找不到匹配的行,則返回0。其語法格式如下:30count(all|distinct表達式|*);參數(shù)說明:表達式:可以是常量、字段名、函數(shù)。all|distinct:all表示對所有值進行運算,distinct表示去除重復值,默認為all。count(*):使用count(*)函數(shù)時將返回檢索行的總數(shù)目,不論其是否包含null值。聚合函數(shù)max和min函數(shù)max和min函數(shù)分別用于統(tǒng)計表中滿足條件的所有值項的最大值和最小值。當給定的列上只有空值或者檢索出的中間結果為空時,max和min函數(shù)的值也為空。其語法格式如下:31max/min(all|distinct表達式);聚合函數(shù)sum和avg函數(shù)sum和avg函數(shù)分別用于統(tǒng)計表中滿足條件的所有值項的總和與平均值,其數(shù)據(jù)類型只能是數(shù)值型數(shù)據(jù)。其語法格式如下:32sum/avg(all|distinct表達式);目錄3.2【任務2】創(chuàng)建數(shù)據(jù)庫3.1【任務1】安裝MySql3.3【任務3】查詢數(shù)據(jù)3.4【任務4】創(chuàng)建索引案例分析34在對數(shù)據(jù)庫進行查詢之后,發(fā)現(xiàn)有些查詢速度比較慢,尤其是數(shù)據(jù)比較多時,這時就需要創(chuàng)建索引。本任務是使用SQL語句創(chuàng)建索引。需求描述案例分析35創(chuàng)建普通索引,索引名為idx_uid。設計思路任務四創(chuàng)建索引36案例展示知識點講解37010203創(chuàng)建索引索引概述刪除索引索引概述索引概述38索引帶來的檢索速度的提高也是有代價的,因為索引要占用存儲空間,而且為了維護索引的有效性,向表中插入數(shù)據(jù)或者更新數(shù)據(jù)時,數(shù)據(jù)庫還要執(zhí)行額外的操作來維護索引。如果把數(shù)據(jù)表看成一本書,則表的索引就如同書的目錄一樣,可以大大的提高查詢速度,改善數(shù)據(jù)庫的性能。其具體表現(xiàn)如下:可以加快數(shù)據(jù)的檢索速度??梢约涌毂砼c表之間的連接。在使用ORDERBY和GROUPBY子句進行數(shù)據(jù)檢索時,可以顯著減少查詢中分組和排序的時間。唯一性索引可以保證數(shù)據(jù)記錄的唯一性。索引概述索引的分類39在MySQL中,索引有很多種,主要分類如下:①普通索引(INDEX)普通索引是最基本的索引類型,允許在定義索引的字段中插入重復值或空值。創(chuàng)建普通索引的關鍵字是INDEX。②唯一索引(UNIQUE)唯一索引指索引字段的值必須唯一,但允許有空值。如果在多個字段上建立的組合索引,則字段的組合必須唯一。創(chuàng)建唯一索引的關鍵字是UNIQUE。③全文索引(FULLTEXT)全文索引指在定義索引的字段上支持值的全文查找。該索引類型允許在索引字段上插入重復值和空值,它只能在CHAR、VARCHAR或TEXT類型的字段上創(chuàng)建。④多列索引多列索引指在表中多個字段上創(chuàng)建的索引。只有在查詢條件中使用了這些字段中的第一個字段時,該索引才會被使用。例如在學生表的“學號”、“姓名”和“專業(yè)”字段上創(chuàng)建一個多列索引,那么,只有在查詢條件中使用了“學號”字段時,該索引才會被使用。創(chuàng)建索引創(chuàng)建表的同時創(chuàng)建索引40用createtable命令創(chuàng)建表的時候就創(chuàng)建索引,此方式簡單、方便。其語法格式如下:createtable表名(字段名數(shù)據(jù)類型[約束條件],字段名數(shù)據(jù)類型[約束條件],……[unique][fulltext]index|key[別名](字段名[長度][asc|desc]));創(chuàng)建索引創(chuàng)建表的同時創(chuàng)建索引41參數(shù)說明:如果不加可選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論