MySQL講解基礎(chǔ)知識(shí)_第1頁(yè)
MySQL講解基礎(chǔ)知識(shí)_第2頁(yè)
MySQL講解基礎(chǔ)知識(shí)_第3頁(yè)
MySQL講解基礎(chǔ)知識(shí)_第4頁(yè)
MySQL講解基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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í)整理課件目錄設(shè)計(jì)數(shù)據(jù)庫(kù)1MySQL的介紹和安裝2SQL語(yǔ)句實(shí)現(xiàn)增刪改查3MySQL的應(yīng)用4整理課件層次模型面向?qū)ο竽P途W(wǎng)狀模型關(guān)系模型數(shù)據(jù)庫(kù)管理系統(tǒng)常用的數(shù)學(xué)模型

整理課件設(shè)計(jì)數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)〔Database或DB〕是存儲(chǔ)、管理數(shù)據(jù)的容器。數(shù)據(jù)永遠(yuǎn)是數(shù)據(jù)庫(kù)的核心。目前關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)已占據(jù)主導(dǎo)地位。MySQL和MicrosoftSQLServer2000也是基于關(guān)系模型的。它的主要特征是使用關(guān)系來(lái)表示實(shí)體以及實(shí)體之間的聯(lián)系。E-R圖設(shè)計(jì)的質(zhì)量直接決定了關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的質(zhì)量。整理課件

實(shí)體不是某一個(gè)具體事物,而是某一種類別所有事物的統(tǒng)稱。屬性通常用于表示實(shí)體的某種特征,也可以使用屬性表示實(shí)體間關(guān)系的特征實(shí)體屬性屬性實(shí)體和屬性整理課件

E-R圖中的關(guān)系用于表示實(shí)體間存在的聯(lián)系,在E-R圖中,實(shí)體間的關(guān)系通常使用一條線段表示。

E-R圖中實(shí)體間的關(guān)系是雙向的。關(guān)系關(guān)系關(guān)系整理課件1.為E-R圖中的每個(gè)實(shí)體建立一張表,實(shí)體命名應(yīng)唯一,實(shí)體型和聯(lián)系的屬性命名都應(yīng)唯一。2.為每張表定義一個(gè)主鍵〔如果需要,可以向表添加一個(gè)沒(méi)有實(shí)際意義的字段作為該表的主鍵〕3.增加外鍵表示一對(duì)多關(guān)系。4.建立新表表示多對(duì)多關(guān)系。5.為字段選擇適宜的數(shù)據(jù)類型。6.定義約束條件〔如果需要〕。7.評(píng)價(jià)關(guān)系的質(zhì)量,并進(jìn)行必要的改進(jìn)。關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)整理課件開(kāi)源MySQL源代碼免費(fèi)下載簡(jiǎn)單MySQL體積小,便于安裝MySQL性能足夠與商業(yè)數(shù)據(jù)庫(kù)媲美功能強(qiáng)大MySQL提供的功能足夠與商業(yè)數(shù)據(jù)庫(kù)媲美性能優(yōu)越MySQL數(shù)據(jù)庫(kù)的優(yōu)勢(shì)整理課件MySQL數(shù)據(jù)庫(kù)的優(yōu)勢(shì)性能高效MySQL是一個(gè)單進(jìn)程多線程、支持多用戶、基于客戶機(jī)/效勞器〔Client/Server簡(jiǎn)稱C/S〕的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)跨平臺(tái)支持支持多用戶開(kāi)源簡(jiǎn)單易用整理課件MySQL為關(guān)系型數(shù)據(jù)庫(kù)(RelationalDatabaseManagementSystem),這種所謂的"關(guān)系型"可以理解為"表格"的概念,一個(gè)關(guān)系型數(shù)據(jù)庫(kù)由一個(gè)或數(shù)個(gè)表格組成,如下圖的一個(gè)表格:MySQL的相關(guān)概念介紹整理課件表頭(header):每一列的名稱;列(row):具有相同數(shù)據(jù)類型的數(shù)據(jù)的集合;行(col):每一行用來(lái)描述某個(gè)人/物的具體信息;值(value):行的具體信息,每個(gè)值必須與該列的數(shù)據(jù)類型相同;鍵(key):表中用來(lái)識(shí)別某個(gè)特定的人\物的方法,鍵的值在當(dāng)前列中具有唯一性。MySQL的相關(guān)概念介紹整理課件MySQL數(shù)據(jù)庫(kù)的安裝

ThemeGalleryisaDesignDigitalContent&ContentsmalldevelopedbyGuildDesignInc.安裝到網(wǎng)上下載MySQL安裝包,按照教程進(jìn)行安裝。在cmd命令窗口中輸入“mysql-h

localhost

–u

root

-p〞,接著在出現(xiàn)的提示中輸入用戶的密碼。安裝配置常用的參數(shù)是port〔默認(rèn)值是3306〕。常用的參數(shù)還有〞basedir〞,〞datadir〞,〞character-set-server〞,〞sql_mode〞,〞max_connections〞以及“default_storage_engine〞等。客戶機(jī)CMD命令提示符窗口WEB瀏覽器〔例如phpMyAdmin〕第三方客戶機(jī)程序〔例如MySQL-Front、MySQL

ManagerforMySQL等〕整理課件配置步驟:1.將下載的mysql-noinstall-5.1.69-win32.zip解壓至需要安裝的位置,如:C:\ProgramFiles;2.在安裝文件夾下找到my-small.ini配置文件,將其重命名為my.ini,翻開(kāi)進(jìn)行編輯,在[client]與[mysqld]下均添加一行:

default-character-set=gbk3.翻開(kāi)Windows環(huán)境變量設(shè)置,新建變量名MYSQL_HOME,變量值為MySQL安裝目錄路徑,這里為C:\ProgramFiles\mysql-5.1.69-win324.在環(huán)境變量的Path變量中添加

;%MYSQL_HOME%\bin;5.安裝MySQL效勞,翻開(kāi)Windows命令提示符,執(zhí)行命令:

mysqld--installMySQL--defaults-file="my.ini"

提示"Servicesuccessfullyinstalled."表示成功;Windows下MySQL的配置整理課件與常規(guī)的腳本語(yǔ)言類似,MySQL也具有一套對(duì)字符、單詞以及特殊符號(hào)的使用規(guī)定,MySQL通過(guò)執(zhí)行SQL腳本來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作,該腳本由一條或多條MySQL語(yǔ)句(SQL語(yǔ)句+擴(kuò)展語(yǔ)句)組成,保存時(shí)腳本文件后綴名一般為.sql。在控制臺(tái)下,MySQL客戶端也可以對(duì)語(yǔ)句進(jìn)行單句的執(zhí)行而不用保存為.sql文件。1、標(biāo)識(shí)符標(biāo)識(shí)符用來(lái)命名一些對(duì)象,如數(shù)據(jù)庫(kù)、表、列、變量等,以便在腳本中的其他地方引用。MySQL標(biāo)識(shí)符命名規(guī)那么稍微有點(diǎn)繁瑣,這里我們使用萬(wàn)能命名規(guī)那么:標(biāo)識(shí)符由字母、數(shù)字或下劃線(_)組成,且第一個(gè)字符必須是字母或下劃線。對(duì)于標(biāo)識(shí)符是否區(qū)分大小寫(xiě)取決于當(dāng)前的操作系統(tǒng),Windows下是不敏感的,但對(duì)于大多數(shù)linux\unix系統(tǒng)來(lái)說(shuō),這些標(biāo)識(shí)符大小寫(xiě)是敏感的。MySQL腳本的根本組成整理課件2、關(guān)鍵字:

MySQL的關(guān)鍵字眾多,這里不一一列出,這些關(guān)鍵字有自己特定的含義,盡量防止作為標(biāo)識(shí)符。

3、語(yǔ)句:

MySQL語(yǔ)句是組成MySQL腳本的根本單位,每條語(yǔ)句能完成特定的操作,他是由SQL標(biāo)準(zhǔn)語(yǔ)句+MySQL擴(kuò)展語(yǔ)句組成。

4、函數(shù):

MySQL函數(shù)用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作的一些高級(jí)功能,這些函數(shù)大致分為以下幾類:字符串函數(shù)、數(shù)學(xué)函數(shù)、日期時(shí)間函數(shù)、搜索函數(shù)、加密函數(shù)、信息函數(shù)。MySQL腳本的根本組成整理課件MySQL有三大類數(shù)據(jù)類型,分別為數(shù)字、日期\時(shí)間、字符串,這三大類中又更細(xì)致的劃分了許多子類型:數(shù)字類型

整數(shù):tinyint、smallint、mediumint、int、bigint

浮點(diǎn)數(shù):float、double、real、decimal日期和時(shí)間:date、time、datetime、timestamp、year字符串類型

字符串:char、varchar

文本:tinytext、text、mediumtext、longtext

二進(jìn)制(可用來(lái)存儲(chǔ)圖片、音樂(lè)等):tinyblob、blob、 mediumblob、longblobMySQL中的數(shù)據(jù)類型整理課件MySQL效勞的啟動(dòng)、停止與卸載在Windows命令提示符下運(yùn)行:啟動(dòng):

netstartMySQL停止:

netstopMySQL卸載:

scdeleteMySQL使用MySQL數(shù)據(jù)庫(kù)登錄到MySQL當(dāng)MySQL效勞已經(jīng)運(yùn)行時(shí),我們可以通過(guò)MySQL自帶的客戶端工具登錄到MySQL數(shù)據(jù)庫(kù)中,首先翻開(kāi)命令提示符,輸入以下格式的命名:mysql-h主機(jī)名-u用戶名-p-h:

該命令用于指定客戶端所要登錄的MySQL主機(jī)名,登錄當(dāng)前機(jī)器該參數(shù)可以省略;-u:

所要登錄的用戶名;-p:

告訴效勞器將會(huì)使用一個(gè)密碼來(lái)登錄,如果所要登錄的用戶名密碼為空,可以忽略此選項(xiàng)。整理課件使用MySQL數(shù)據(jù)庫(kù)以登錄剛剛安裝在本機(jī)的MySQL數(shù)據(jù)庫(kù)為例,在命令行下輸入mysql-uroot-p按回車確認(rèn),如果安裝正確且MySQL正在運(yùn)行,會(huì)得到以下響應(yīng):Enterpassword:假設(shè)密碼存在,輸入密碼登錄,不存在那么直接按回車登錄,按照本文中的安裝方法,默認(rèn)root賬號(hào)是無(wú)密碼的。登錄成功后你將會(huì)看到WelecometotheMySQLmonitor...的提示語(yǔ)。然后命令提示符會(huì)一直以mysql>加一個(gè)閃爍的光標(biāo)等待命令的輸入,輸入exit或quit退出登錄。注意:

MySQL語(yǔ)句以分號(hào)(;)作為語(yǔ)句的結(jié)束,假設(shè)在語(yǔ)句結(jié)尾不添加分號(hào)時(shí),命令提示符會(huì)以->提示你繼續(xù)輸入(有個(gè)別特例,但加分號(hào)是一定不會(huì)錯(cuò)的);整理課件結(jié)構(gòu)化查詢語(yǔ)言SQL

4結(jié)構(gòu)化查詢語(yǔ)言〔StructuredQueryLanguage或簡(jiǎn)稱為SQL〕是一種應(yīng)用最為廣泛的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言。使用MySQL命令showdatabases;即可查看MySQL效勞實(shí)例上所有的數(shù)據(jù)庫(kù)。刪除student數(shù)據(jù)庫(kù),使用SQL語(yǔ)句dropdatabasestudent;整理課件結(jié)構(gòu)化查詢語(yǔ)言SQL

4表是數(shù)據(jù)庫(kù)中最為重要的數(shù)據(jù)庫(kù)對(duì)象。使用SQL語(yǔ)句“createtable表名〞即可創(chuàng)立一個(gè)數(shù)據(jù)庫(kù)表。例如:useHB_HNEMP2021;setdefault_storage_engine=InnoDB;createtablemy_table(todaydatetime,namechar(20));//其中HB_HNEMP2021為數(shù)據(jù)庫(kù)名使用SQL語(yǔ)句:droptabletable_name;即可刪除名為table_name的表。刪除表后,MySQL效勞實(shí)例會(huì)自動(dòng)刪除該表結(jié)構(gòu)定義文件〔例如second_table.frm文件〕,以及數(shù)據(jù)、索引信息。該命令慎用!整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查使用insert語(yǔ)句插入新記錄。語(yǔ)法格式如下:insertinto表名〔字段列表〕values〔值列表〕例如:在數(shù)據(jù)庫(kù)中增加一行:InsertintoHB_HNEMP2021.SysUser(Personnel_ID,Code,Cname,Password,PasswordFormat,PasswordSalt,IsActive,Description)values('SM202123380090','hello','李明明','000000','0',null,'1','武漢理工大學(xué)學(xué)生')整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查在insert語(yǔ)句中使用select子句可以將源表的查詢結(jié)果添加到目標(biāo)表中,語(yǔ)法格式如下: insertinto目標(biāo)表名[(字段列表1)] select(字段列表2)from源表where條件表達(dá)式注意:字段列表1與字段列表2的字段個(gè)數(shù)必須相同,且對(duì)應(yīng)字段的數(shù)據(jù)類型盡量保持一致。如果源表與目標(biāo)表的表結(jié)構(gòu)完全相同,“(字段列表1)〞可以省略。整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查使用delete刪除表記錄。語(yǔ)法格式如下:deletefrom表名[where條件表達(dá)式]

說(shuō)明:如果沒(méi)有指定where子句,那么該表的所有記錄都將被刪除,但表結(jié)構(gòu)依然存在。例如:在數(shù)據(jù)庫(kù)中刪除一行信息:deletefromSysUserwherePersonnel_ID='SM202123380090'整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查使用update更改表記錄。語(yǔ)法格式如下:update表名set字段名1=值1,字段名2=值2,…..,字段名n=值n[where條件表達(dá)式] where子句指定了表中的哪些記錄需要修改。假設(shè)省略了where子句,那么表示修改表中的所有記錄。 set子句指定了要修改的字段以及該字段修改后的值。例如:在數(shù)據(jù)庫(kù)中修改信息:UpdateSysUsersetCname=‘王明明'WHEREPersonnel_ID='SM202123380090'整理課件使用select語(yǔ)句查詢表記錄,語(yǔ)法格式如下:select字段列表from數(shù)據(jù)源[where條件表達(dá)式][groupby分組字段

[having條件表達(dá)式]][orderby排序字段[asc|desc]]WHERE語(yǔ)句在GROUPBY語(yǔ)句之前;SQL會(huì)在分組之前計(jì)算WHERE語(yǔ)句,HAVING語(yǔ)句在GROUPBY語(yǔ)句之后;SQL會(huì)在分組之后計(jì)算HAVING語(yǔ)句123使用謂詞限制記錄的行數(shù)使用select子句指定字段列表使用from子句指定數(shù)據(jù)源4多表連接SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查整理課件select語(yǔ)句的查詢結(jié)果集的排序由數(shù)據(jù)庫(kù)系統(tǒng)動(dòng)態(tài)確定,往往是無(wú)序的,orderby子句用于對(duì)結(jié)果集排序。在select語(yǔ)句中添加orderby子句,就可以使結(jié)果集中的記錄按照一個(gè)或多個(gè)字段的值進(jìn)行排序,排序的方向可以是升序〔asc〕或降序〔desc〕。orderby子句的語(yǔ)法格式如下。orderby字段名1[asc|desc][…,字段名n[asc|desc]]SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例1:在數(shù)據(jù)庫(kù)中查詢表中一行所有信息:例2:在數(shù)據(jù)庫(kù)中查詢某些信息:例3:查詢一共有多少數(shù)據(jù):SELECT*FROMHB_HNEMP2021.SysUserWHERECname=‘王明明’SELECTPersonnel_ID,Code,Cname,PasswordFROMHB_HNEMP2021.SysUserlimit3selectCOUNT(*)fromSysUser整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例4:鏈接并查詢兩個(gè)表的列:例5:按日期查詢:SELECTSysUser.Personnel_ID,Code,Cname,PasswordFROMHB_HNEMP2021.SysUser,HB_HNEMP2021.SysUserRolewhereLENGTH(Code)>=5andSysUser.Personnel_ID=SysUserRole.Personnel_IDselect*fromIncidentwhereFindTime>'2021-04-2200:00:00.000'andFindTime<'2021-05-1800:00:00.000'整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例6:在數(shù)據(jù)庫(kù)中查找表中密碼為jt開(kāi)頭的用戶信息:例7:將表中信息降序排列:selectPersonnel_ID,Code,Cname,PasswordfromSysUserwherePassword='123456'andCodelike'jt%'select*fromSysUserorderbyPersonnel_IDdesc整理課件groupby子句將查詢結(jié)果按照某個(gè)字段〔或多個(gè)字段〕進(jìn)行分組〔字段值相同的記錄作為一個(gè)分組。groupby子句通常與聚合函數(shù)一起使用,語(yǔ)法格式如下:groupby字段列表[having條件表達(dá)式][withrollup]group_concat()函數(shù)的功能是將集合中的字符串連接起來(lái),此時(shí)group_concat()函數(shù)的功能與字符串連接函數(shù)concat()的功能相似。123groupby子句與having子句groupby子句與聚合函數(shù)groupby子句與group_concat()函數(shù)4groupby子句與withrollup選項(xiàng)使用groupby子句對(duì)記錄分組統(tǒng)計(jì)整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例8:學(xué)會(huì)用GROUPBY和having:char_length()可以計(jì)算中文長(zhǎng)度,而length()計(jì)算的是普通字符的長(zhǎng)度selectSysUser.Personnel_ID,Code,CnamefromSysUser,SysUserRolewhereCodelike'x%'andPassword='123456'andSysUser.Personnel_ID=SysUserRole.Personnel_IDGroupbySysUser.Personnel_ID,Code,CnameHavingCHAR_LENGTH(Cname)<3orderbySysUser.Personnel_IDdesc整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例9:查詢表中密碼最長(zhǎng)的用戶::selectSysUser.Personnel_ID,Code,Cname,MAX(length(Code))aslengthfromSysUser,SysUserRolewhereCodelike'x%'andPassword='123456'andSysUser.Personnel_ID=SysUserRole.Personnel_IDGroupbySysUser.Personnel_ID,Code,CnameHavingCHAR_LENGTH(Cname)<5orderbylengthDESCLIMIT0,1整理課件SQL語(yǔ)句現(xiàn)實(shí)增、刪、改、查實(shí)例例10:SELECT的嵌套,選出表中密碼長(zhǎng)度大于牛娟的密碼長(zhǎng)度的用戶:例11:將table2表中的數(shù)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論