




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、a,1,MySQL基礎知識,a,2,目錄,a,3,層次模型,面向對象模型,網狀模型,關系模型,數據庫管理 系統(tǒng)常用的 數學模型,a,4,設計數據庫,數據庫(Database或DB)是存儲、管理數據的容器。數據永遠是數據庫的核心。,目前關系數據庫管理系統(tǒng)已占據主導地位 。MySQL和Microsoft SQL Server2000也是基于關系模型的。它的主要特征是使用關系來表示實體以及實體之間的聯系。,E-R圖設計的質量直接決定了關系數據庫設計的質量。,a,5,實體不是某一個具體事物,而是某一種類別所有事物的統(tǒng)稱。 屬性通常用于表示實體的某種特征,也可以使用屬性表示實體間關系的特征,實體,屬性,
2、屬性,實體和屬性,a,6,E-R圖中的關系用于表示實體間存在的聯系,在E-R圖中,實體間的關系通常使用一條線段表示。 E-R圖中實體間的關系是雙向的。,關系,關系,關系,a,7,1為E-R圖中的每個實體建立一張表,實體命名應唯一,實體型和聯系的屬性命名都應唯一。 2為每張表定義一個主鍵(如果需要,可以向表添加一個沒有實際意義的字 段作為該表的主鍵) 3增加外鍵表示一對多關系。 4建立新表表示多對多關系。 5為字段選擇合適的數據類型。 6定義約束條件(如果需要)。 7評價關系的質量,并進行必要的改進。,關系數據庫設計,a,8,開源,MySQL源代碼免費下載,簡單,MySQL體積小,便于安裝,My
3、SQL性能足夠與商業(yè)數據庫媲美,功能強大,MySQL提供的功能足夠與商業(yè)數據庫媲美,性能優(yōu)越,MySQL數據庫的優(yōu)勢,a,9,MySQL數據庫的優(yōu)勢,性能高效,MySQL是一個單進程多線程、支持多用戶、基于客戶機/服務器(Client/Server簡稱C/S)的關系數據庫管理系統(tǒng),跨平臺支持,支持多用戶,開源,簡單易用,a,10,MySQL 為關系型數據庫(Relational Database Management System), 這種所謂的關系型可以理解為表格的概念, 一個關系型數據庫由一個或數個表格組成, 如圖所示的一個表格:,MySQL的相關概念介紹,a,11,表頭(header):
4、 每一列的名稱; 列(row): 具有相同數據類型的數據的集合; 行(col): 每一行用來描述某個人/物的具體信息; 值(value): 行的具體信息, 每個值必須與該列的數據類型相同; 鍵(key): 表中用來識別某個特定的人物的方法, 鍵的值在當前列中具有唯一性。,MySQL的相關概念介紹,a,12,MySQL數據庫的安裝,ThemeGallery is a Design Digital Content 2. 在安裝文件夾下找到 my-small.ini 配置文件, 將其重命名為 my.ini , 打開進行編輯, 在 client 與 mysqld 下均添加一行: default-cha
5、racter-set = gbk 3. 打開 Windows 環(huán)境變量設置, 新建變量名 MYSQL_HOME , 變量值為 MySQL 安裝目錄路徑, 這里為 C:Program Filesmysql-5.1.69-win32 4. 在 環(huán)境變量 的 Path 變量中添加 ;%MYSQL_HOME%bin; 5. 安裝 MySQL 服務, 打開Windows命令提示符, 執(zhí)行命令: mysqld -install MySQL -defaults-file=my.ini 提示Service successfully installed.表示成功;,Windows下MySQL的配置,a,14,與
6、常規(guī)的腳本語言類似, MySQL 也具有一套對字符、單詞以及特殊符號的使用規(guī)定, MySQL 通過執(zhí)行 SQL 腳本來完成對數據庫的操作, 該腳本由一條或多條MySQL語句(SQL語句 + 擴展語句)組成, 保存時腳本文件后綴名一般為 .sql。在控制臺下, MySQL 客戶端也可以對語句進行單句的執(zhí)行而不用保存為.sql文件。 1、標識符 標識符用來命名一些對象, 如數據庫、表、列、變量等, 以便在腳本中的其他地方引用。MySQL標識符命名規(guī)則稍微有點繁瑣, 這里我們使用萬能命名規(guī)則: 標識符由字母、數字或下劃線(_)組成, 且第一個字符必須是字母或下劃線。 對于標識符是否區(qū)分大小寫取決于當
7、前的操作系統(tǒng), Windows下是不敏感的, 但對于大多數 linuxunix 系統(tǒng)來說, 這些標識符大小寫是敏感的。,MySQL腳本的基本組成,a,15,2、關鍵字: MySQL的關鍵字眾多, 這里不一一列出, 這些關鍵字有自己特定的含義, 盡量避免作為標識符。 3、語句: MySQL語句是組成MySQL腳本的基本單位, 每條語句能完成特定的操作, 他是由 SQL 標準語句 + MySQL 擴展語句組成。 4、函數: MySQL函數用來實現數據庫操作的一些高級功能, 這些函數大致分為以下幾類: 字符串函數、數學函數、日期時間函數、搜索函數、加密函數、信息函數。,MySQL腳本的基本組成,a,
8、16,MySQL有三大類數據類型, 分別為數字、日期時間、字符串, 這三大類中又更細致的劃分了許多子類型: 數字類型 整數: tinyint、smallint、mediumint、int、bigint 浮點數: float、double、real、decimal 日期和時間: date、time、datetime、timestamp、year 字符串類型 字符串: char、varchar 文本: tinytext、text、mediumtext、longtext 二進制(可用來存儲圖片、音樂等): tinyblob、blob、 mediumblob、longblob,MySQL中的數據類型,
9、a,17,MySQL服務的啟動、停止與卸載 在 Windows 命令提示符下運行: 啟動: net start MySQL 停止: net stop MySQL 卸載: sc delete MySQL,使用MySQL數據庫,登錄到MySQL 當 MySQL 服務已經運行時, 我們可以通過MySQL自帶的客戶端工具登錄到MySQL數據庫中, 首先打開命令提示符, 輸入以下格式的命名: mysql -h 主機名 -u 用戶名 -p -h : 該命令用于指定客戶端所要登錄的MySQL主機名, 登錄當前機器該參數可以省略; -u : 所要登錄的用戶名; -p : 告訴服務器將會使用一個密碼來登錄, 如
10、果所要登錄的用戶名密碼為空, 可以忽略此選項。,a,18,使用MySQL數據庫,以登錄剛剛安裝在本機的MySQL數據庫為例, 在命令行下輸入 mysql -u root -p 按回車確認, 如果安裝正確且MySQL正在運行, 會得到以下響應: Enter password: 若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄, 按照本文中的安裝方法, 默認 root 賬號是無密碼的。登錄成功后你將會看到 Welecome to the MySQL monitor. 的提示語。 然后命令提示符會一直以 mysql 加一個閃爍的光標等待命令的輸入, 輸入 exit 或 quit 退出登錄。 注意
11、: MySQL語句以分號(;)作為語句的結束, 若在語句結尾不添加分號時, 命令提示符會以 - 提示你繼續(xù)輸入(有個別特例, 但加分號是一定不會錯的);,a,19,結構化查詢語言SQL,4,結構化查詢語言(Structured Query Language或簡稱為SQL)是一種應用最為廣泛的關系數據庫語言。,使用MySQL命令show databases;即可查看MySQL服務實例上所有的數據庫 。,刪除student數據庫,使用SQL語句 drop database student;,a,20,結構化查詢語言SQL,4,表是數據庫中最為重要的數據庫對象。,使用SQL語句“create tab
12、le表名”即可創(chuàng)建一個數據庫表。例如: use HB_HNEMP2014; set default_storage_engine=InnoDB; create table my_table( today datetime, name char(20) );/其中HB_HNEMP2014為數據庫名,使用SQL語句:drop table table_name;即可刪除名為table_name的表。刪除表后,MySQL服務實例會自動刪除該表結構定義文件(例如second_table.frm文件),以及數據、索引信息。該命令慎用!,a,21,SQL語句現實增、刪、改、查,使用insert語句插入新記錄
13、。語法格式如下: insert into 表名 (字段列表) values (值列表) 例如:在數據庫中增加一行:,Insert into HB_HNEMP2015.SysUser( Personnel_ID ,Code ,Cname ,Password ,PasswordFormat ,PasswordSalt ,IsActive ,Description) values(SM201523380090,hello,李明明,000000,0,null,1,武漢理工大學學生),a,22,SQL語句現實增、刪、改、查,在insert語句中使用select子句可以將源表的查詢結果添加到目標表中,語法
14、格式如下: insert into 目標表名(字段列表1) select (字段列表2) from 源表 where 條件表達式 注意:字段列表1與字段列表2的字段個數必須相同,且對應字段的數據類型盡量保持一致。 如果源表與目標表的表結構完全相同,“(字段列表1)”可以省略。,a,23,SQL語句現實增、刪、改、查,使用delete刪除表記錄。語法格式如下: delete from 表名 where 條件表達式 說明:如果沒有指定where子句,那么該表的所有記錄都將被刪除,但表結構依然存在。 例如:在數據庫中刪除一行信息:,delete from SysUser where Personne
15、l_ID=SM201523380090,a,24,SQL語句現實增、刪、改、查,使用update更改表記錄。語法格式如下: update 表名 set 字段名1=值1,字段名2=值2,. ,字段名n=值n where 條件表達式 where子句指定了表中的哪些記錄需要修改。若省略了where子句,則表示修改表中的所有記錄。 set子句指定了要修改的字段以及該字段修改后的值。 例如:在數據庫中修改信息:,Update SysUser set Cname=王明明 WHERE Personnel_ID=SM201523380090,a,25,使用select語句查詢表記錄,語法格式如下: selec
16、t 字段列表 from 數據源 where條件表達式 group by 分組字段 having條件表達式 order by 排序字段 asc | desc WHERE語句在GROUP BY語句之前;SQL會在分組之前計算WHERE語句, HAVING語句在GROUP BY語句之后;SQL會在分組之后計算HAVING語句,1,2,3,使用謂詞限制記錄的行數,使用select子句指定字段列表,使用from子句指定數據源,4,多表連接,SQL語句現實增、刪、改、查,a,26,select語句的查詢結果集的排序由數據庫系統(tǒng)動態(tài)確定,往往是無序的,order by子句用于對結果集排序。在select語句
17、中添加order by子句,就可以使結果集中的記錄按照一個或多個字段的值進行排序,排序的方向可以是升序(asc)或降序(desc)。order by子句的語法格式如下。 order by 字段名1 asc|desc ,字段名n asc|desc ,SQL語句現實增、刪、改、查,a,27,SQL語句現實增、刪、改、查實例,例1:在數據庫中查詢表中一行所有信息: 例2:在數據庫中查詢某些信息: 例3:查詢一共有多少數據:,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語句現實增、刪、改、查實例,例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語句現實增、刪、改、查實例,例6:在數據庫中查找表中密碼為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子句將查詢結果按照某個字段(或多個字段)進行分組(字段值相同的記錄作為一個分組。 group by子句通常與聚合函數一起使用,語法格式如下: group by 字段列表 having條件表達式 with rollup group_concat()函數的功能是將集合中的字符串連接起來,此時group_concat()函數的功能與字符串連接函數concat()的功能相似。,1,2,3,group by子句與having子句,group by子句與聚合函數,group by子句與group_concat()函數,4,group by子句與with roll up選項,使用group by子句對記
21、錄分組統(tǒng)計,a,31,SQL語句現實增、刪、改、查實例,例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語句現實增、刪、改、查實例,例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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省常熟市重點名校2024-2025學年初三一診模擬數學試題含解析
- 忻州市保德縣2025屆三年級數學第二學期期末調研試題含解析
- 西安財經大學《中國古代文學作品選與中學語文(三)》2023-2024學年第一學期期末試卷
- 湖南醫(yī)藥學院《檢測儀表與過程控制》2023-2024學年第二學期期末試卷
- 萬科物業(yè)保潔培訓計劃
- 湛江市高三測試題(一)文綜地理試卷
- 化學產品開發(fā)流程的8個關鍵步驟
- 化學實驗室原始記錄規(guī)范
- 2025版權轉讓協議合同范本
- 雙腎囊腫護理查房
- 醫(yī)院廉潔行醫(yī)廉政教育專題課件
- 醫(yī)務人員職業(yè)健康安全健康-課件
- 安全組織機構圖
- 舊石器時代考古-基礎知識課件
- 江蘇省建設工程現場安全文明施工措施費計價管理辦法
- 病區(qū)藥品規(guī)范化管理與問題對策黃池桃
- 螺紋塞規(guī)操作規(guī)程
- 2023年北京天文館招聘筆試備考題庫及答案解析
- 應急救援隊伍單兵體能訓練項目要求
- 車輛辦理ETC委托書范文
- 成都市重污染天氣應急預案(2020年修訂)
評論
0/150
提交評論