版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、a,1,MySQL基礎(chǔ)知識,a,2,目錄,a,3,層次模型,面向?qū)ο竽P?網(wǎng)狀模型,關(guān)系模型,數(shù)據(jù)庫管理 系統(tǒng)常用的 數(shù)學模型,a,4,設(shè)計數(shù)據(jù)庫,數(shù)據(jù)庫(Database或DB)是存儲、管理數(shù)據(jù)的容器。數(shù)據(jù)永遠是數(shù)據(jù)庫的核心。,目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)已占據(jù)主導地位 。MySQL和Microsoft SQL Server2000也是基于關(guān)系模型的。它的主要特征是使用關(guān)系來表示實體以及實體之間的聯(lián)系。,E-R圖設(shè)計的質(zhì)量直接決定了關(guān)系數(shù)據(jù)庫設(shè)計的質(zhì)量。,a,5,實體不是某一個具體事物,而是某一種類別所有事物的統(tǒng)稱。 屬性通常用于表示實體的某種特征,也可以使用屬性表示實體間關(guān)系的特征,實體,屬性,
2、屬性,實體和屬性,a,6,E-R圖中的關(guān)系用于表示實體間存在的聯(lián)系,在E-R圖中,實體間的關(guān)系通常使用一條線段表示。 E-R圖中實體間的關(guān)系是雙向的。,關(guān)系,關(guān)系,關(guān)系,a,7,1為E-R圖中的每個實體建立一張表,實體命名應(yīng)唯一,實體型和聯(lián)系的屬性命名都應(yīng)唯一。 2為每張表定義一個主鍵(如果需要,可以向表添加一個沒有實際意義的字 段作為該表的主鍵) 3增加外鍵表示一對多關(guān)系。 4建立新表表示多對多關(guān)系。 5為字段選擇合適的數(shù)據(jù)類型。 6定義約束條件(如果需要)。 7評價關(guān)系的質(zhì)量,并進行必要的改進。,關(guān)系數(shù)據(jù)庫設(shè)計,a,8,開源,MySQL源代碼免費下載,簡單,MySQL體積小,便于安裝,My
3、SQL性能足夠與商業(yè)數(shù)據(jù)庫媲美,功能強大,MySQL提供的功能足夠與商業(yè)數(shù)據(jù)庫媲美,性能優(yōu)越,MySQL數(shù)據(jù)庫的優(yōu)勢,a,9,MySQL數(shù)據(jù)庫的優(yōu)勢,性能高效,MySQL是一個單進程多線程、支持多用戶、基于客戶機/服務(wù)器(Client/Server簡稱C/S)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),跨平臺支持,支持多用戶,開源,簡單易用,a,10,MySQL 為關(guān)系型數(shù)據(jù)庫(Relational Database Management System), 這種所謂的關(guān)系型可以理解為表格的概念, 一個關(guān)系型數(shù)據(jù)庫由一個或數(shù)個表格組成, 如圖所示的一個表格:,MySQL的相關(guān)概念介紹,a,11,表頭(header):
4、 每一列的名稱; 列(row): 具有相同數(shù)據(jù)類型的數(shù)據(jù)的集合; 行(col): 每一行用來描述某個人/物的具體信息; 值(value): 行的具體信息, 每個值必須與該列的數(shù)據(jù)類型相同; 鍵(key): 表中用來識別某個特定的人物的方法, 鍵的值在當前列中具有唯一性。,MySQL的相關(guān)概念介紹,a,12,MySQL數(shù)據(jù)庫的安裝,ThemeGallery is a Design Digital Content 2. 在安裝文件夾下找到 my-small.ini 配置文件, 將其重命名為 my.ini , 打開進行編輯, 在 client 與 mysqld 下均添加一行: default-cha
5、racter-set = gbk 3. 打開 Windows 環(huán)境變量設(shè)置, 新建變量名 MYSQL_HOME , 變量值為 MySQL 安裝目錄路徑, 這里為 C:Program Filesmysql-5.1.69-win32 4. 在 環(huán)境變量 的 Path 變量中添加 ;%MYSQL_HOME%bin; 5. 安裝 MySQL 服務(wù), 打開Windows命令提示符, 執(zhí)行命令: mysqld -install MySQL -defaults-file=my.ini 提示Service successfully installed.表示成功;,Windows下MySQL的配置,a,14,與
6、常規(guī)的腳本語言類似, MySQL 也具有一套對字符、單詞以及特殊符號的使用規(guī)定, MySQL 通過執(zhí)行 SQL 腳本來完成對數(shù)據(jù)庫的操作, 該腳本由一條或多條MySQL語句(SQL語句 + 擴展語句)組成, 保存時腳本文件后綴名一般為 .sql。在控制臺下, MySQL 客戶端也可以對語句進行單句的執(zhí)行而不用保存為.sql文件。 1、標識符 標識符用來命名一些對象, 如數(shù)據(jù)庫、表、列、變量等, 以便在腳本中的其他地方引用。MySQL標識符命名規(guī)則稍微有點繁瑣, 這里我們使用萬能命名規(guī)則: 標識符由字母、數(shù)字或下劃線(_)組成, 且第一個字符必須是字母或下劃線。 對于標識符是否區(qū)分大小寫取決于當
7、前的操作系統(tǒng), Windows下是不敏感的, 但對于大多數(shù) linuxunix 系統(tǒng)來說, 這些標識符大小寫是敏感的。,MySQL腳本的基本組成,a,15,2、關(guān)鍵字: MySQL的關(guān)鍵字眾多, 這里不一一列出, 這些關(guān)鍵字有自己特定的含義, 盡量避免作為標識符。 3、語句: MySQL語句是組成MySQL腳本的基本單位, 每條語句能完成特定的操作, 他是由 SQL 標準語句 + MySQL 擴展語句組成。 4、函數(shù): MySQL函數(shù)用來實現(xiàn)數(shù)據(jù)庫操作的一些高級功能, 這些函數(shù)大致分為以下幾類: 字符串函數(shù)、數(shù)學函數(shù)、日期時間函數(shù)、搜索函數(shù)、加密函數(shù)、信息函數(shù)。,MySQL腳本的基本組成,a,
8、16,MySQL有三大類數(shù)據(jù)類型, 分別為數(shù)字、日期時間、字符串, 這三大類中又更細致的劃分了許多子類型: 數(shù)字類型 整數(shù): tinyint、smallint、mediumint、int、bigint 浮點數(shù): float、double、real、decimal 日期和時間: date、time、datetime、timestamp、year 字符串類型 字符串: char、varchar 文本: tinytext、text、mediumtext、longtext 二進制(可用來存儲圖片、音樂等): tinyblob、blob、 mediumblob、longblob,MySQL中的數(shù)據(jù)類型,
9、a,17,MySQL服務(wù)的啟動、停止與卸載 在 Windows 命令提示符下運行: 啟動: net start MySQL 停止: net stop MySQL 卸載: sc delete MySQL,使用MySQL數(shù)據(jù)庫,登錄到MySQL 當 MySQL 服務(wù)已經(jīng)運行時, 我們可以通過MySQL自帶的客戶端工具登錄到MySQL數(shù)據(jù)庫中, 首先打開命令提示符, 輸入以下格式的命名: mysql -h 主機名 -u 用戶名 -p -h : 該命令用于指定客戶端所要登錄的MySQL主機名, 登錄當前機器該參數(shù)可以省略; -u : 所要登錄的用戶名; -p : 告訴服務(wù)器將會使用一個密碼來登錄, 如
10、果所要登錄的用戶名密碼為空, 可以忽略此選項。,a,18,使用MySQL數(shù)據(jù)庫,以登錄剛剛安裝在本機的MySQL數(shù)據(jù)庫為例, 在命令行下輸入 mysql -u root -p 按回車確認, 如果安裝正確且MySQL正在運行, 會得到以下響應(yīng): Enter password: 若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄, 按照本文中的安裝方法, 默認 root 賬號是無密碼的。登錄成功后你將會看到 Welecome to the MySQL monitor. 的提示語。 然后命令提示符會一直以 mysql 加一個閃爍的光標等待命令的輸入, 輸入 exit 或 quit 退出登錄。 注意
11、: MySQL語句以分號(;)作為語句的結(jié)束, 若在語句結(jié)尾不添加分號時, 命令提示符會以 - 提示你繼續(xù)輸入(有個別特例, 但加分號是一定不會錯的);,a,19,結(jié)構(gòu)化查詢語言SQL,4,結(jié)構(gòu)化查詢語言(Structured Query Language或簡稱為SQL)是一種應(yīng)用最為廣泛的關(guān)系數(shù)據(jù)庫語言。,使用MySQL命令show databases;即可查看MySQL服務(wù)實例上所有的數(shù)據(jù)庫 。,刪除student數(shù)據(jù)庫,使用SQL語句 drop database student;,a,20,結(jié)構(gòu)化查詢語言SQL,4,表是數(shù)據(jù)庫中最為重要的數(shù)據(jù)庫對象。,使用SQL語句“create tab
12、le表名”即可創(chuàng)建一個數(shù)據(jù)庫表。例如: use HB_HNEMP2014; set default_storage_engine=InnoDB; create table my_table( today datetime, name char(20) );/其中HB_HNEMP2014為數(shù)據(jù)庫名,使用SQL語句:drop table table_name;即可刪除名為table_name的表。刪除表后,MySQL服務(wù)實例會自動刪除該表結(jié)構(gòu)定義文件(例如second_table.frm文件),以及數(shù)據(jù)、索引信息。該命令慎用!,a,21,SQL語句現(xiàn)實增、刪、改、查,使用insert語句插入新記錄
13、。語法格式如下: insert into 表名 (字段列表) values (值列表) 例如:在數(shù)據(jù)庫中增加一行:,Insert into HB_HNEMP2015.SysUser( Personnel_ID ,Code ,Cname ,Password ,PasswordFormat ,PasswordSalt ,IsActive ,Description) values(SM201523380090,hello,李明明,000000,0,null,1,武漢理工大學學生),a,22,SQL語句現(xiàn)實增、刪、改、查,在insert語句中使用select子句可以將源表的查詢結(jié)果添加到目標表中,語法
14、格式如下: insert into 目標表名(字段列表1) select (字段列表2) from 源表 where 條件表達式 注意:字段列表1與字段列表2的字段個數(shù)必須相同,且對應(yīng)字段的數(shù)據(jù)類型盡量保持一致。 如果源表與目標表的表結(jié)構(gòu)完全相同,“(字段列表1)”可以省略。,a,23,SQL語句現(xiàn)實增、刪、改、查,使用delete刪除表記錄。語法格式如下: delete from 表名 where 條件表達式 說明:如果沒有指定where子句,那么該表的所有記錄都將被刪除,但表結(jié)構(gòu)依然存在。 例如:在數(shù)據(jù)庫中刪除一行信息:,delete from SysUser where Personne
15、l_ID=SM201523380090,a,24,SQL語句現(xiàn)實增、刪、改、查,使用update更改表記錄。語法格式如下: update 表名 set 字段名1=值1,字段名2=值2,. ,字段名n=值n where 條件表達式 where子句指定了表中的哪些記錄需要修改。若省略了where子句,則表示修改表中的所有記錄。 set子句指定了要修改的字段以及該字段修改后的值。 例如:在數(shù)據(jù)庫中修改信息:,Update SysUser set Cname=王明明 WHERE Personnel_ID=SM201523380090,a,25,使用select語句查詢表記錄,語法格式如下: selec
16、t 字段列表 from 數(shù)據(jù)源 where條件表達式 group by 分組字段 having條件表達式 order by 排序字段 asc | desc WHERE語句在GROUP BY語句之前;SQL會在分組之前計算WHERE語句, HAVING語句在GROUP BY語句之后;SQL會在分組之后計算HAVING語句,1,2,3,使用謂詞限制記錄的行數(shù),使用select子句指定字段列表,使用from子句指定數(shù)據(jù)源,4,多表連接,SQL語句現(xiàn)實增、刪、改、查,a,26,select語句的查詢結(jié)果集的排序由數(shù)據(jù)庫系統(tǒng)動態(tài)確定,往往是無序的,order by子句用于對結(jié)果集排序。在select語句
17、中添加order by子句,就可以使結(jié)果集中的記錄按照一個或多個字段的值進行排序,排序的方向可以是升序(asc)或降序(desc)。order by子句的語法格式如下。 order by 字段名1 asc|desc ,字段名n asc|desc ,SQL語句現(xiàn)實增、刪、改、查,a,27,SQL語句現(xiàn)實增、刪、改、查實例,例1:在數(shù)據(jù)庫中查詢表中一行所有信息: 例2:在數(shù)據(jù)庫中查詢某些信息: 例3:查詢一共有多少數(shù)據(jù):,SELECT * FROM HB_HNEMP2015.SysUser WHERE Cname=王明明,SELECT Personnel_ID ,Code ,Cname ,Pass
18、word FROM HB_HNEMP2015.SysUser limit 3,select COUNT(*)from SysUser,a,28,SQL語句現(xiàn)實增、刪、改、查實例,例4:鏈接并查詢兩個表的列: 例5:按日期查詢:,SELECT SysUser.Personnel_ID ,Code ,Cname ,Password FROM HB_HNEMP2015.SysUser,HB_HNEMP2015.SysUserRole where LENGTH(Code)=5 and SysUser.Personnel_ID=SysUserRole.Personnel_ID,select * from
19、 Incident where FindTime2015-04-22 00:00:00.000 and FindTime2015-05-18 00:00:00.000,a,29,SQL語句現(xiàn)實增、刪、改、查實例,例6:在數(shù)據(jù)庫中查找表中密碼為jt開頭的用戶信息: 例7:將表中信息降序排列:,select Personnel_ID ,Code ,Cname ,Password from SysUser where Password=123456 and Code like jt%,select*from SysUser order by Personnel_ID desc,a,30,group
20、by子句將查詢結(jié)果按照某個字段(或多個字段)進行分組(字段值相同的記錄作為一個分組。 group by子句通常與聚合函數(shù)一起使用,語法格式如下: group by 字段列表 having條件表達式 with rollup group_concat()函數(shù)的功能是將集合中的字符串連接起來,此時group_concat()函數(shù)的功能與字符串連接函數(shù)concat()的功能相似。,1,2,3,group by子句與having子句,group by子句與聚合函數(shù),group by子句與group_concat()函數(shù),4,group by子句與with roll up選項,使用group by子句對記
21、錄分組統(tǒng)計,a,31,SQL語句現(xiàn)實增、刪、改、查實例,例8:學會用GROUP BY 和having: char_length()可以計算中文長度,而length()計算的是普通字符的長度,select SysUser.Personnel_ID ,Code ,Cname from SysUser ,SysUserRole where Code like x% and Password=123456 and SysUser.Personnel_ID=SysUserRole.Personnel_ID Group by SysUser.Personnel_ID ,Code ,Cname Having CHAR_LENGTH(Cname)3 order by SysUser.Personnel_ID desc,a,32,SQL語句現(xiàn)實增、刪、改、查實例,例9:查詢表中密碼最長的用戶:,select SysUser.Personnel_ID ,Code ,Cname ,MAX(length(Code) as length from SysUser ,SysUserRole where Code like x% and Password=123456 and SysUser.Personnel_ID=SysUserRole.Personnel_ID Group by SysUser.Pe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江經(jīng)貿(mào)職業(yè)技術(shù)學院《試驗設(shè)計》2023-2024學年第一學期期末試卷
- 中國民航大學《高等高分子化學》2023-2024學年第一學期期末試卷
- 小學學校網(wǎng)絡(luò)文明傳播志愿者考評細則及獎懲制度
- 浙江財經(jīng)大學《電子科學與技術(shù)學科前沿與進展》2023-2024學年第一學期期末試卷
- 張家口學院《新醫(yī)療技術(shù)與法》2023-2024學年第一學期期末試卷
- 缺陷分析與質(zhì)量改進流程規(guī)范
- 五年級列方程應(yīng)用題100道(有答案)
- 雙11房產(chǎn)銷售策略模板
- 生物研究月報模板
- 新蘇教版一年級數(shù)學下冊第二單元《圖形的初步認識(二)》全部教案(共3課時)
- GB/T 24476-2023電梯物聯(lián)網(wǎng)企業(yè)應(yīng)用平臺基本要求
- 初級經(jīng)濟師考試經(jīng)濟基礎(chǔ)知識講義
- 2023年安徽省公務(wù)員錄用考試《行測》真題及答案解析
- 小學數(shù)學教學3000字(優(yōu)選11篇)
- 四川水泥廠土建工程基礎(chǔ)施工方案
- 新外研版高二英語選擇性必修二Unit2重點單詞短語歸納復習檢測(精編課件)
- 圍棋初級死活常型
- GB/T 6481-2002鑿巖用錐體連接中空六角形釬桿
- GB/T 20988-2007信息安全技術(shù)信息系統(tǒng)災(zāi)難恢復規(guī)范
- (最新)信息科技風險管理辦法
- 托福閱讀小班講義
評論
0/150
提交評論