MySQL數據庫技術.ppt
《MySQL數據庫技術.ppt》由會員分享,可在線閱讀,更多相關《MySQL數據庫技術.ppt(37頁珍藏版)》請在裝配圖網上搜索。
第5講MySQL數據操作 課程 PHP網站開發(fā) 溫故知新 知識回顧PHP瀏覽器數據傳遞和處理 PHP表單和表單元素數據運用 用戶注冊頁面的實現(xiàn) 本節(jié)課知識要點phpMyAdmin管理使用MySQL數據庫 MySQL的增刪改查基本SQL語句綜合操作 項目導引 企業(yè)新聞發(fā)布系統(tǒng)數據庫 我們思考幾個問題 新聞發(fā)布系統(tǒng)中的新聞信息存放在什么地方 用戶的賬戶信息和發(fā)布的新聞等內容又到哪里去了 這些內容又以什么形式存放呢 以上內容按照一定的格式存放在數據庫 DataBase 中 數據庫就是存放數據的倉庫 其可以快速 安全的存儲 處理大量的數據 PHP開發(fā)網站使用數據庫 PHP可以與MySQL ACCESS SQLServer ORACAL等多種數據庫組合使用 PHP開發(fā)最常用的數據庫 在這些數據庫中 MySQL是世界上最為流行 開放源碼 完全網絡化 跨平臺的數據庫 能夠滿足多數中小型企業(yè)的需求 絕大多數PHP網站采用MySQL作為網站的數據庫 8 1數據庫概述 1 數據庫數據庫是一種專門存儲信息和維護信息的容器 嚴格地說數據庫是 按照數據結構來組織 存儲和管理信息的倉庫 外觀上 數據庫中的二維表 簡稱數據庫表 和電子表格Excel是相同的 數據庫表是由列和行構成 數據庫表中的一列稱為一個字段 每個字段用于存儲某種數據類型的數據 數據庫表中的一行稱為一條記錄 每條記錄包含表中的一條詳細信息 8 1數據庫概述 2 關系數據庫管理系統(tǒng) RDBMS 關系數據庫管理系統(tǒng) RDBMS或relationaldatabasemanagementsystem 就是管理關系數據庫的軟件系統(tǒng) 關系數據庫管理系統(tǒng)主要功能就是創(chuàng)建關系數據庫 并且在關系數據庫中創(chuàng)建各種數據庫對象 表 索引 視圖 存儲過程等 以及維護各個數據庫對象 對于初學者而言 關系數據庫管理系統(tǒng)最重要的功能莫過于創(chuàng)建數據庫 創(chuàng)建數據庫表以及完成數據庫表記錄的添加 修改 刪除和查詢等操作 8 1數據庫概述 3 結構化查詢語言SQL結構化查詢語言的英文全稱是structuredquerylanguage 簡稱SQL SQL是一種應用廣泛的關系數據庫語言 用于定義和管理關系數據庫中的各種對象 表 索引 視圖 存儲過程等 也可以用于查詢 修改和刪除數據庫表中的記錄 8 2數據庫的設計 0 預備數據庫的設計一般要從E R模型開始 之后的步驟如下 1 為每個實體建立一張表2 為每個表選擇一個主鍵 建議添加一個沒有實際意義的字段作為主鍵 3 增加外鍵以表示一對多關系4 建立新表表示多對多關系5 定義約束條件6 評價關系的質量 并進行必要的改進 關于范式等知識請參考其他數據庫書籍 7 為每個字段選擇合適的數據類型和取值范圍 8 2數據庫的設計 1 E R模型E R Entity Relationship 模型即實體 關系模型主要用于定義數據的存儲需求 該模型已經廣泛用于關系數據庫設計中 E R模型由實體 屬性和關系三個基本要素構成 8 2數據庫的設計 2 主鍵 PrimaryKey 數據庫表要求表中的每一行記錄都必須是唯一的 即在同一張表中不允許出現(xiàn)完全相同的兩條記錄 在設計數據庫時 為了保證記錄的 唯一性 最為普遍 最為推薦的做法是為表定義一個主鍵 primarykey 數據庫表中主鍵有以下兩個特征 1 表的主鍵可以由一個字段構成 也可以由多個字段構成 這種情況稱為復合主鍵 2 數據庫表中主鍵的值具有唯一性且不能取空值 NULL 當數據庫表中的主鍵由多個字段構成時 每個字段的值不能取NULL值 8 2數據庫的設計 3 實體間的關系與外鍵 ForeignKey 班級實體和班主任實體之間為一對一關系 班級實體和學生實體之間為一對多關系 學生實體和課程實體之間為多對多關系 實體間的關系可以通過外鍵來表示 如果表A中的一個字段a對應于表B的主鍵b 則字段a稱為表A的外鍵 此時存儲在表A中字段a的值 同時這個字段值也是表B主鍵b的值 8 2數據庫的設計 4 約束 constraint 常用的約束條件有六種 主鍵 primarykey 約束外鍵 foreignkey 約束唯一性 unique 約束默認值 default 約束非空 notNULL 約束檢查 check 約束 8 3數據表設計 1 數據表一個數據庫中可以有多個數據表 每個數據表的名稱必須是唯一的 表中每個字段的名稱也必須是唯一的 每個字段都有對應的數據類型和取值范圍 二維表中能唯一區(qū)分 確定不同記錄的屬性或屬性組合 稱為該表的主鍵 主鍵具有唯一性和非空性 例如 圖書編號為圖書表的主鍵 用戶編號為用戶表的主鍵 在圖書類別表中 typeid 類別編號 字段為主鍵 在圖書表中也有typeid 類別編號 字段 并且與圖書類別表中的typeid 類別編號 字段是對應關系 這里我們把typeid 類別編號 字段稱為圖書類別表的主鍵 圖書表的外鍵 8 3數據表設計 2 數據類型 1 數值類型TINYINT 占1個字節(jié) 有符號數字的范圍是 128到127 無符號的數字范圍是0到255 SMALLINT 占2個字節(jié) 有符號數字的范圍是 32768到32767 無符號數字的范圍是0到65535 MEDIUMINT 占3個字節(jié) 有符號數字的范圍是 8388608到8388607 無符號數字的范圍是0到16777215 INT 占4個字節(jié) 有符號數字的范圍是 2147483648到2147483647 無符號數字的范圍是0到4294967295 BIGINT 占8個字節(jié) 有符號數字的范圍是 9223372036854775808到9223372036854775807 無符號數字的范圍是0到18446744073709551615 8 3數據表設計 FLOAT M D 占4個字節(jié) 不能無符號 允許的值是 3 402823466E 38到 1 175494351E 38 0和1 175494351E 38到3 402823466E 38 M是顯示寬度 D是小數的位數 DOUBLE M D 占8個字節(jié) 不能無符號 允許的值是 1 7976931348623157E 308到 2 2250738585072014E 308 0和2 2250738585072014E 308到1 7976931348623157E 308 M是顯示寬度 D是小數位數 DECIMAL M D 一個未壓縮 unpack 的浮點數字 未壓縮 意味著數字作為一個字符串被存儲 值的每一位使用一個字符 小數點 并且對于負數 符號不在M中計算 如果D是0 值將沒有小數點或小數部分 DECIMAL值的最大范圍與DOUBLE相同 但是對一個給定的DECIMAL列 實際的范圍可以通過M和D的選擇被限制 如果D被省略 它被設置為0 如果M被省掉 它被設置為10 8 3數據表設計 2 日期和時間類型DATE 日期型 占3個字節(jié) 支持的范圍是 1000 01 01 到 9999 12 31 MySQL以 YYYY MM DD 格式來顯示DATE值 但是允許使用字符串或數字把值賦給DATE列 DATETIME 日期和時間組合型 占8個字節(jié) 支持的范圍是 1000 01 0100 00 00 到 9999 12 3123 59 59 MySQL以 YYYY MM DDHH MM SS 格式來顯示DATETIME值 但是允許使用字符串或數字把值賦給DATETIME的列 TIMESTAMP 時間戳 占4個字節(jié) 范圍是 1970 01 0100 00 00 到2037年的某時 TIME 時間型 占3個字節(jié) 范圍是 838 59 59 到 838 59 59 MySQL以 HH MM SS 格式來顯示TIME值 但是允許使用字符串或數字把值賦給TIME列 YEAR 2 4 2或4位數字格式的年 缺省是4位 占1個字節(jié) 允許的值是1901到2155 如果使用2位 1970 2069 70 69 MySQL以YYYY格式來顯示YEAR值 但是允許把使用字符串或數字值賦給YEAR列 8 3數據表設計 3 字符串 字符 類型CHAR M 定長字符串 當存儲時 總是用空格填滿右邊到指定的長度 M的范圍是0 255個字符 VARCHAR M 變長字符串 當值被存儲時 尾部的空格被刪除 M的范圍是0 255個字符 BLOB 二進制對象 可以保存圖片 聲音等二進制數據 BLOB類型根據其容納值的長度不同 分為TINYBLOB 最大長度255字節(jié) BLOB 最大長度65535字節(jié) MEDIUMBLOB 最大長度16777215字節(jié) 和LONGBLOB 最大長度4GB字節(jié) 類型 TEXT 文本 用來保存字符數據 TEXT類型根據其容納值的長度不同 分為TINYTEXT 最大長度255字節(jié) TEXT 最大長度65535字節(jié) MEDIUMTEXT 最大長度16777215字節(jié) 和LONGTEXT 最大長度4GB字節(jié) 類型 ENUM value1 value2 枚舉 一個僅有一個值的字符串對象 這個值選自值列表 value1 value2 或NULL 值列表最多能有65535不同的值 SET value1 value2 集合 有零個或多個值的一個字符串對象 其中每一個必須從值列表 value1 value2 選出 一個SET最多能有64個成員 8 3數據表設計 3 新聞發(fā)布系統(tǒng)數據庫設計依據 新聞發(fā)布系統(tǒng) 的需求分析 網站主要包含tb users 用戶表 tb news 新聞信息表 tb category 新聞類別表 等 8 4項目實施 通過前面的學習我們知道商城數據庫都有哪些表組成了 那么我們該如何創(chuàng)建數據庫呢 對MySQL數據庫的創(chuàng)建管理主要包括兩種方式 一種是通過圖形管理工具創(chuàng)建管理數據庫 第二種是通過MySQL的客戶端程序創(chuàng)建管理數據庫 客戶端程序的管理是通過SQL語句來實現(xiàn) MySQL常用的圖形化管理工具有phpMyAdmin MySQLDumper Navicat MySQLGUITools MySQLODBCConnector等 這些工具需要安裝之后才能使用 phpMyAdmin是一個用PHP開發(fā)的基于Web方式的MySQL管理工具 它的官方網站是 PHP集成開發(fā)環(huán)境WampServer中包含有phpMyAdmin組件 8 4 1phpMyAdmin數據庫 圖4 4phpMyAdmin主界面 1 創(chuàng)建數據庫在主界面中可以創(chuàng)建數據庫 創(chuàng)建數據庫需要指定數據庫的名字和編碼方式 新聞發(fā)布系統(tǒng) 數據庫名稱為db news 采用utf 8的編碼方式 如圖4 5所示 單擊 創(chuàng)建 按鈕完成數據庫的創(chuàng)建 圖4 5創(chuàng)建數據庫 8 4 1phpMyAdmin數據庫 2 創(chuàng)建數據表數據庫創(chuàng)建后 進入創(chuàng)建數據表的頁面 如圖4 6所示 在此 輸入數據表的名稱和字段數量 例如輸入表名為 tb type 字段數量為 3 圖4 6創(chuàng)建數據表 8 4 1phpMyAdmin數據庫 單擊 執(zhí)行 按鈕 進入創(chuàng)建數據表字段的界面 如圖4 7所示 在此可以設置字段的字段名稱 數據類型 長度值 默認值 整理編碼方式 屬性 是否為空 Null 索引和自動增長 A I 等內容 設置完畢后 單擊 保存 按鈕 完成數據表結構的創(chuàng)建 圖4 7設置表字段 8 4 1phpMyAdmin數據庫 數據表創(chuàng)建成功后 進入數據表 結構 頁面 如圖4 8所示 在這里可以修改表結構 如添加字段 刪除字段 設置主鍵 索引 修改字段名稱等 單擊導航中 刪除 按鈕 可以將數據表刪除 圖4 8管理數據表 8 4 1phpMyAdmin數據庫 3 添加數據在數據表頁面 單擊 插入 按鈕 進入添加數據頁面 如圖4 9所示 輸入 值 后 單擊 執(zhí)行 按鈕 即可將數據添加到數據表中 圖4 9添加數據 8 4 1phpMyAdmin數據庫 4 運行SQL語句在數據表頁面 單擊 插入 按鈕 進入添加數據頁面 如圖4 9所示 輸入 值 后 單擊 執(zhí)行 按鈕 即可將數據添加到數據表中 圖4 10SQL語句執(zhí)行界面 8 4 1phpMyAdmin數據庫 5 數據庫的備份對于數據庫的管理經常需要備份和還原 在phpMyAdmin中我們通過導出 導入方式備份還原數據庫 選擇db shop數據 單擊導航欄中的 導出 按鈕 進入導出界面 如圖4 11所示 在此 我們可以選擇導出的數據表 選擇導出數據表的具體內容和導出的保存形式 在頁面下方指定保存的文件名 最后 將SQL文件保存到磁盤上 完成數據備份 圖4 11數據導出界面 8 4 1phpMyAdmin數據庫 6 數據庫的還原單擊導航欄中的 Import 按鈕 進入SQL文件導入界面 如圖4 12所示 單擊 瀏覽 按鈕 選擇需要導入的SQL腳本文件 然后單擊 執(zhí)行 按鈕 系統(tǒng)將執(zhí)行SQL文件中的SQL命令 完成數據還原 數據庫創(chuàng)建好之后 會保存在MySQL安裝路徑下的data文件中 每一個數據庫對應一個文件夾 通過文件夾操作也可以實現(xiàn)數據庫的備份還原 掌握phpMyAdmin的基本操作后 使用phpMyAdmin完成商城數據庫及數據表的創(chuàng)建 圖4 12數據導入部分界面 8 4 1phpMyAdmin數據庫 實驗任務1 phpMyAdmin數據庫綜合練習 8 4 2SQL之數據庫的創(chuàng)建與管理 8 4 2SQL之數據庫的創(chuàng)建與管理MySQL是基于客戶機 服務器結構的數據庫管理系統(tǒng) 通過客戶機連接服務器成功后 再通過必要的操作指令對其進行操作 這種數據庫操作指令被稱為SQL StructuredQueryLanguage 語言 即結構化查詢語言 SQL語言結構簡潔 功能強大 自IBM公司1981年推出以來 SQL語言得到了廣泛的應用 目前MySQL Oracle SQLServer Sybase DB2等數據庫都采用SQL作為查詢語言 SQL語言包含以下四部分 數據定義語言 DDL 用于定義和管理數據庫對象 包括數據庫 數據表 索引 視圖等 例如 create drop alter等語句 數據操作語言 DML 用于操作數據庫對象中所包含的具體數據 例如 insert update delete語句 數據查詢語言 DQL 用于查詢數據庫對象中的所包含的數據 例如 select語句 數據控制語言 DCL 用來管理數據庫的語言 包含管理權限及數據更改 例如 grant revoke commit rollback等語句 課堂引例 利用DML或DQL語言寫出下面幾個功能要求的SQL語句 1 向admin表加入一條記錄 admin100 123456 admin100 1 2 修改admin表中username為admin的密碼更改為123456 3 刪除admin表中一條記錄 level 0 4 查詢輸出admin表中所有記錄 根據username倒敘排序 8 4 2SQL之數據庫的創(chuàng)建與管理 8 4 2SQL之數據庫的創(chuàng)建與管理 安裝NavicatforMySQL 8 4 2SQL之數據庫的創(chuàng)建與管理 數據操作和數據查詢語言幾個簡單的基本的sql語句選擇 select fromtable1where范圍插入 insertintotable1 field1 field2 values value1 value2 刪除 deletefromtable1where范圍更新 updatetable1setfield1 value1where范圍查找 select fromtable1wherefield1like value1 like的語法很精妙 查資料 排序 select fromtable1orderbyfield1 field2 desc 總數 selectcount astotalcountfromtable1求和 selectsum field1 assumvaluefromtable1平均 selectavg field1 asavgvaluefromtable1最大 selectmax field1 asmaxvaluefromtable1最小 selectmin field1 asminvaluefromtable1 2 添加記錄向表中添加一條或多條數據記錄 使用INSERT VALUES語句實現(xiàn) 其語法格式如下 INSERT INTO tbl nameSETcol name expression col name expression INSERT INTO tbl name col name VALUES expression 例4 7 為tb type和tb book表添加記錄 注 圖書表的photo字段保存的是圖片的完整路徑 6 修改數據修改數據表中的數據可以使用UPDATE語句 其語法格式如下 UPDATEtbl nameSETcol name1 expr1 col name2 expr2 WHEREwhere definition 需要注意的是 當沒有WHERE子句指定修改條件時 則表中所有記錄的指定列都被修改 例4 8 將tb type表中類別名稱為 教育類 的名字修改為 高職教育類 8 4 2SQL之數據庫的創(chuàng)建與管理 7 刪除數據將數據表中數據刪除的語句是DELETE 其語法格式為 DELETEFROMtbl name WHEREwhere definition 需要注意的是 當沒有WHERE子句指定刪除條件時 則刪除表中所有記錄 例4 9 刪除tb type表中類別名稱為 高職教育類 的記錄 4 4 4SQL之數據庫的查詢管理數據查詢是數據庫的核心操作 用戶可以通過查詢獲得所需要的數據 查詢操作可以通過SELECT語句實現(xiàn) 該語句在執(zhí)行時會根據要求從一個或多個數據表中選取特定的行和列 形成一個臨時表傳送給用戶 其中 select expression 描述結果集的列 列與列之間用逗號分隔 FROMtable list 用于指定產生查詢結果集的數據來源的表或視圖的名稱 WHEREwhere definition 用于指定所檢索的數據應該滿足的條件 GROUPBYcol name 用于分組統(tǒng)計時指定分組的條件 8 4 2SQL之數據庫的創(chuàng)建與管理 HAVINGwhere definition 與GROUPBY子句一起使用 用于對分組統(tǒng)計的結果設置條件 進行組數據選擇 ORDERBYsorting columns ASC DESC 指定在SELECT語句返回的列中所使用的排序順序 ASC和DESC用于指定行是按升序還是按降序排列 LIMIT offset rows 用來限制SELECT語句返回的行數 需要注意 SELECT語句中的子句必須按以上語法格式的順序給出 例如 HAVING子句必須在GROUPBY子句之后 ORDERBY子句之前 1 基本查詢2 條件查詢3 排序查詢4 統(tǒng)計查詢5 連接查詢6 子查詢7 限制返回行數 8 4 2SQL之數據庫的創(chuàng)建與管理 實驗任務2 phpMyAdmin數據庫綜合練習 課堂小結 理解MySQL數據庫的創(chuàng)建與管理 數據類型及數據表的創(chuàng)建與管理 掌握數據添加 修改 刪除和查詢等SQL操作 掌握phpMyAdmin數據管理平臺和NavicatforMySQL的基本使用方法- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- MySQL 數據庫技術
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-6289758.html