MySQL數據庫基礎與實例教程(第2版 微課版)
茹蓓 孔祥盛
相關主題
商品描述
本書以項目案例為導向,內容講解循序漸進、深入細致,通過項目案例,系統地介紹了MySQL知識在數據庫開發中的實際應用。全書采用“案例先行--->實驗驅動--->增設場景---->步驟詳細---->實現案例”的閉環編寫理念,各個章節采用“理論知識鋪墊-->劃分若幹實驗-->對比實驗結果-->得出實驗結論-->驗證理論知識”的閉環編寫理念,各個實驗“目的明確--->環境具體--->步驟詳細---->結果重現---->結論可得”。全書共2個部分,第一部分理論篇,共10章,內容涵蓋數據庫設計、數據庫規範化、MySQL安裝配置、中文字符亂碼問題及解決方案、系統變量、數據庫及數據庫表的操作、索引操作、子查詢、中文全文檢索、視圖、臨時表、派生表、MySQL編程基礎、自定義函數、存儲過程、觸發器、錯誤處理機制、事務機制和鎖機制、事務的隔離級別、備份和還原等知識。第二部分實驗篇,共9章,為第一部分第2章-第10章對應的實驗。 本書內容豐富、適用於初級、中級MySQL用戶,可以作為各類院校計算機相關專業的教材,也可作為廣大MySQL愛好者的實用參考書。
作者簡介
孔祥盛,副教授,精通Java、JavaScript、PHP、Python等編程語言,熟悉Web開發、爬蟲、自動化測試、數據分析與數據挖掘、數據可視化、數據庫等技術,擅長將抽象的理論知識具體化、生活化,善於將綜合知識融會貫通於項目案例,主編教材《PHP基礎與實例教程》 印次20余次,並獲河南省普通高等教育“十四五”規劃教材立項、河南省優秀教材二等獎,主編教材《MySQL數據庫基礎與實例教程》印次近20次。
目錄大綱
目錄
理論篇
第 1章 數據庫設計概述
1.1 數據庫概述
1.1.1 數據庫管理系統、數據庫和數據庫對象
1.1.2 關系、數據庫表和電子表格
1.1.3 結構化查詢語言SQL
1.1.4 數據庫編碼規範
1.2 表結構設計的重要性
1.3 選課系統的功能需求分析
1.3.1 選課系統功能需求分析
1.3.2 定義問題域
1.3 選課系統的概念數據模型設計
1.3.2 實體
1.3.3 屬性
1.3.4 關系
1.3.5 選課系統E-R圖的設計
1.4 選課系統的物理數據模型設計
1.4.1 概念數據模型轉換為物理數據模型的步驟
1.4.2 為E-R圖中的每個實體創建一個數據庫表
1.4.3 為每個表定義一個主鍵
1.4.4 增加外鍵維持實體間的一對多關系
1.4.5 向外鍵添加唯一性約束表示一對一關系
1.4.6 創建新表維持實體間的多對多關系
1.4.7 確定選課系統的表結構
1.4.8 為字段選擇合適的數據類型
1.4.9 向字段添加約束
1.5 數據庫規範化
1.5.1 1NF
1.5.2 2NF
1.5.3 3NF
1.5.4 選課系統的數據庫規範化
1.6 課堂專題討論:冗余數據的弊與利
方案1
方案2
習 題
第 2章 MySQL安裝和配置
2.1 MySQL概述
2.1.1 MySQL的特點
2.1.2 MySQL的使用流程
2.1.3 MySQL服務器和MyQL客戶機相關概念
2.1.4 安裝MySQL
2.1.5 通過Windows系統服務管理MySQL服務
2.1.6 MySQL客戶機登錄MySQL服務器
2.2 my.ini配置文件的作用
2.2.1 演示my.ini配置文件、會話系統變量和全局系統變量之間的關系
2.2.2 端口號占用問題的解決方案
2.3 字符集與字符序
2.3.1 字符集和字符序概述
2.3.2 查看MySQL字符集
2.3.3 字符集相關的會話系統變量
2.3.4 查看MySQL字符序
2.3.5 字符序相關的會話系統變量
2.3.6 中文字符亂碼問題的避免
2.3.7 中文字符亂碼問題的解決
2.4 MySQL註釋
2.5 MySQL數據庫管理
2.5.1 查看所有可用數據庫
2.5.2 系統數據庫
2.5.3 創建數據庫
2.5.4 查看數據庫結構
2.5.5 打開數據庫
2.5.6 刪除數據庫
2.6 if exists和if not exists條件語句的作用
2.7 MySQL表管理
2.6.1 MyISAM和InnoDB存儲引擎
2.6.2 創建表結構
2.6.3 查看所有可用數據庫表
2.6.4 查看表結構
2.6.5 表記錄的管理
2.6.6 刪除表結構
2.8 SQL腳本文件
2.9 系統變量知識匯總
2.9.1 設置全局系統變量的值
2.9.2 設置會話系統變量的值
2.9.3 全局系統變量和會話系統變量的個數不同
2.10 共享表空間與獨享表空間
習 題
第3章 MySQL表管理
3.1 數據類型
3.1.1 整數類型
3.1.2 小數類型
3.1.3 字符串類型
3.1.4 日期類型
3.1.5 布爾類型
3.1.6 理解null和is [ not ] null運算符
3.1.7 選擇合適的數據類型
3.2 創建表結構
3.2.1 設置字段的約束
3.2.2 查看字段的約束
3.2.2 設置自增型字段
3.2.3 設置表的其他選項
3.3 復制表結構
3.4 修改表結構
3.4.1 表字段的添加、修改和刪除
3.4.2 添加和刪除約束
3.4.3 修改表的其他選項
3.4.4 修改表名
3.5 查看表結構和刪除表結構
3.6 索引
3.6.1 課堂專題討論—理解索引
3.6.2 課堂專題討論:索引關鍵字的選取原則
3.6.3 索引與約束的關系
3.6.4 創建索引
3.6.5 查看索引
3.6.6 刪除索引
習 題
第4章 表記錄的更新
4.1 表記錄的添加
4.1.1 使用insert語句添加一條記錄
4.1.2 使用insert語句添加多條記錄
4.1.3 使用insert…into select添加結果集
4.2 表記錄的修改
4.3 表記錄的刪除
4.3.1 使用delete刪除表記錄
4.3.2 使用truncate語句清空表記錄
4.4 表記錄的替換
4.5 課堂專題討論—更新操作與外鍵約束關系
4.6 MySQL特殊字符序列
第5章 表記錄的檢索
5.1 運算符
5.1.1 算術運算符
5.1.2 比較運算符
5.1.3.邏輯運算符
5.2 select語句概述
5.2.1 字段列表
5.2.2 distinct關鍵字
5.2.3 limit關鍵字
5.3 使用where子句指定記錄的過濾條件
5.4 explain命令
任務1:使用explain命令展示like模糊查詢的執行計劃
任務2:使用explain命令展示正則模糊查詢的執行計劃
5.5 多表查詢和多表連接
5.5.1 實現表和表之間連接的方法
5.5.2 內連接
5.5.3 左連接和右連接
5.5.4 多表連接
5.5.5 笛卡爾積
5.6 使用order by子句對結果集排序
5.7 使用聚合函數匯總結果集
5.8 使用group by子句對記錄分組統計
5.8.1 group by和聚合函數的簡單應用
5.8.2 group by子句搭配having子句一起使用
5.8.3 group by子句搭配with rollup選項
5.9 使用union合並結果集
5.10 子查詢
5.10.1 子查詢和比較運算符一起使用
5.10.2 子查詢和in運算符一起使用
5.10.3 子查詢和exists邏輯運算符一起使用
5.10.4 子查詢和any運算符一起使用
5.10.5 子查詢和all運算符一起使用
5.11 使用中文全文檢索實現模糊查詢
習 題
第6章 3種特殊表
6.1 視圖
6.1.1 創建視圖和使用視圖
6.1.2 查看視圖
6.1.3 刪除視圖
6.1.4 視圖在選課系統中的應用
6.1.5 視圖的總結
6.2 臨時表
6.2.1 臨時表的分類
6.2.2 臨時表的創建、查看與刪除
6.2.3 臨時表的簡單使用
6.2.4 臨時表在選課系統中的應用
6.2.5 臨時表的使用總結
6.3 派生表
6.3.1 創建派生表的語法格式
6.3.2 派生表在選課系統中的應用
6.4 視圖與臨時表、派生表之間的本質區別
6.5 子查詢、視圖、臨時表、派生表總結
第7章 SQL編程與MySQL函數
7.1 SQL編程介紹
7.2 用戶變量
7.2.1 使用set語句定義用戶變量並賦值
7.2.2 使用select語句定義用戶變量並賦值
7.3 begin...end語句塊
7.4 重置結束標記
7.5 自定義函數
7.5.1 創建自定義函數的語法格式
7.5.2 調用自定義函數、形參和實參
7.5.3 刪除自定義函數
7.5.4 創建和調用自定義函數的簡單案例
7.5.5 查看自定義函數
7.6 局部變量
7.6.1 定義局部變量的方法
7.6.2 局部變量數據類型的註意事項
7.6.3 局部變量的賦值
7.6.4 局部變量的作用域
7.7 用戶變量和局部變量的總結
7.8 自定義函數在選課系統中的應用-統計功能的實現
7.9 流程控制語句
7.9.1 if語句
7.9.2 case語句
7.9.3 while循環語句
7.10 內置函數
7.10.1 數學函數
7.10.2 字符串函數
7.10.3 加密函數
7.10.4 日期和時間函數
7.10.5 條件控制函數
7.10.6 其他實用函數
第8章 SQL編程進階
8.1 觸發器
8.1.1 觸發器功能
8.1.2 觸發器種類
8.1.3 創建觸發器的語法格式
8.1.4 觸發程序中的old關鍵字與new關鍵字
8.1.5 刪除觸發器
8.1.6 觸發器在選課系統中的應用-自動維護冗余字段
8.1.7 觸發器在選課系統中的應用-模擬實現檢查約束
8.1.9 查看觸發器
8.1.10 觸發器的使用總結
8.2 存儲過程
8.2.1 創建存儲過程的語法格式
8.2.2 in參數、out參數及inout參數
8.2.3 調用存儲過程
8.2.4 刪除存儲過程
8.2.5 創建和調用存儲過程的簡單案例
8.2.6 查看存儲過程
8.2.7 存儲過程在選課系統中的應用-統計功能的實現
8.2.8 存儲過程在選課系統中的應用-選課存儲過程的實現
8.3 存儲過程與自定義函數的使用總結
8.4 存儲程序的說明
8.5 錯誤處理機制
8.5.1 手動拋出錯誤
8.5.2 定義錯誤處理程序
8.5.3 定義錯誤觸發條件
8.5.4 錯誤處理程序說明
8.5.5 選課存儲過程的第 1次疊代開發(引入錯誤處理機制處理外鍵約束錯誤)
第9章 事務機制與鎖機制
9.1 MySQL事務機制
9.1.1 數據不一致問題回顧及原因分析
9.1.2 事務機制的4個功能
9.1.3 MySQL事務機制
9.1.4 事務機制在選課系統中的應用-調課存儲過程的實現
9.1.5 隱式提交
9.1.6 事務總結
9.2 鎖機制
9.2.1 重現資源競爭問題
9.2.2 鎖機制配合事務機制解決資源競爭問題
9.2.3 選課存儲過程的第 2次疊代開發(引入排它鎖解決資源競爭問題)
9.2.4 調課存儲過程的第 1次疊代開發(引入排它鎖解決資源競爭問題)
9.2.5 行級鎖
9.3 死鎖問題
9.3.1 重現死鎖問題
9.3.2 調課存儲過程的第 2次疊代開發(處理死鎖問題)
9.4 事務隔離級別
9.4.1 隔離級別種類
9.4.2 設置事務隔離級別
9.4.3 InnoDB鎖與索引之間的關系
9.5 事務機制、鎖機制和隔離級別總結
第 10章 MySQL知識與實用技巧匯總
10.1 理論知識匯總
10.1.1 概念數據模型和物理數據模型
10.1.2 數據庫範式
10.1.3 InnoDB存儲引擎與MyISAM存儲引擎的區別
10.1.4 OLTP與OLAP
10.1.5 索引
10.1.6 SQL語句分類
10.1.7 事務的四大特性(ACID)
10.1.8 鎖機制
10.1.9 事務隔離級別
10.2 MySQL實用技巧匯總
10.2.1 查找/獲取資源信息
10.2.2 創建用戶、分配權限、重置密碼
10.2.3 開啟遠程登錄功能
10.2.4 忘記root賬戶密碼的解決方案
10.3 Navicat的使用
10.4 使用mysqldump工具備份數據
10.5 使用mysql工具還原數據庫
實驗篇
第 1章上機實驗-數據庫設計概述
實驗目的
材料提交
考核方式
實驗1-1 繪制選課系統E-R圖
實驗1-2 將選課系統E-R圖轉換為物理數據模型
實驗1-3 2NF
實驗1-4 3NF
實驗1-5 課堂專題討論:冗余數據的弊與利
第 2章上機實驗-MySQL安裝和配置
實驗目的
材料提交
實驗2-1 安裝MySQL
場景1 安裝MySQL
場景2 通過Windows系統服務管理MySQL服務
場景3 MySQL客戶機登錄MySQL服務器
實驗2-2 理解my.ini配置文件的作用
場景1 演示my.ini配置文件、會話系統變量和全局系統變量之間的關系
場景2 演示端口號占用問題的解決方案
實驗2-3 字符集與字符序
場景1 查看MySQL字符集
場景2 查看MySQL字符序
實驗2-4 中文字符亂碼問題的避免和解決
場景1 準備工作
場景2 重現“2.3.6 中文字符亂碼問題的避免”第 1段描述的亂碼問題
場景3 驗證“2.3.7 中文字符亂碼問題的解決”步驟3-2方案1中“set names”命令
實驗2-5 演示三種MySQL註釋的使用
場景1 準備工作
場景2 演示三種MySQL註釋
實驗2-6 MySQL數據庫管理
場景1 準備工作
場景2 演示MySQL數據庫管理
實驗2-7 演示if exists和if not exists條件語句的作用
場景1 準備工作
場景2 演示演示if exists和if not exists條件語句的作用
實驗2-8 MySQL表管理
場景1 準備工作
場景2 認識MyISAM和InnoDB存儲引擎
場景3 MySQL表管理
實驗2-9 演示SQL腳本文件的使用
場景1 準備工作
場景2 演示SQL腳本文件的使用
場景3 重現SQL腳本文件中文字符亂碼問題
實驗2-10 演示全局系統變量和會話系統變量之間的關系
場景1 準備工作
場景2 演示全局系統變量和會話系統變量之間的關系
實驗2-11 系統變量知識匯總
場景1 驗證“全局系統變量被所有MySQL會話所共享”
場景2 驗證“會話系統變量被當前MySQL會話所獨享”
場景3 證明“會話系統變量的值受到全局系統變量的影響”
場景4 認識靜態全局系統變量以及靜態會話系統變量
場景5 在線持久化修改全局變量
實驗2-12 共享表空間與獨享表空間的對比
場景1 準備工作
場景2 演示共享表空間與獨享表空間的區別
實驗2-13 演示數據庫表和存儲引擎之間關系
場景1 準備工作
場景2 演示數據庫表和存儲引擎之間關系
實驗2-14 重現各種中文字符亂碼問題
場景1 準備工作
場景2 同一個中文字符在不同字符集中的字符編碼不同
場景3 重現錯誤代碼ERROR 1366 (HY000)
場景4 重現錯誤代碼ERROR 1406 (22001)
場景5 重現查詢結果集中文字符亂碼問題1
場景6 重現查詢結果集亂碼問題2
場景7 重現檢索不到數據問題1
場景8 重現檢索不到數據問題2
場景9 重現錯誤代碼ERROR 3854 (HY000)
場景10 重現錯誤代碼ERROR 1366 (HY000)
第3章上機實驗-MySQL表管理
實驗目的
材料提交
考核方式
環境準備
說明
實驗3-1 數據類型的使用註意事項
場景1 認識日期類型
場景2 認識布爾值true和false
場景3 理解null和is [ not ] null運算符
場景4 演示內置函數now( )與時區的關系
場景5 演示datetime與timestamp兩種數據類型的區別
場景6 演示會話系統變量explicit_defaults_for_timestamp對timestamp的默認值的影響
實驗3-2 設置約束和查看約束
實驗3-3 創建選課系統的表結構
場景1 創建選課系統的表結構
場景2 查看選課系統各個表結構
場景3 查看選課系統各個表結構的約束
場景4 查看選課系統各個表的索引
實驗3-4 復制表結構
實驗3-5 修改表結構
場景1 表字段的添加、修改和刪除
場景2 添加和刪除約束
場景3 修改表的其他選項
場景4 修改表名
實驗3-6 刪除表結構
實驗3-7 索引的操作
場景1 創建索引
場景2 為選課系統choose表添加唯一性約束索引
場景3 為選課系統course表添加全文索引
場景4 為student表的學生姓名添加前綴索引
場景5 查看索引
場景6 刪除索引
實驗3-8 演示InnoDB外鍵級聯選項功能
實驗3-9 演示MyISAM不支持外鍵級聯刪除
第4章上機實驗-表記錄的更新
實驗目的
材料提交
考核方式
環境準備
說明
實驗4-1 表記錄的添加
場景1 使用insert語句添加一條記錄
場景2 使用insert語句一次性向表添加多條記錄
場景3 使用insert into select將結果集添加到目標表中
實驗4-2 update語句的用法
實驗4-3 表記錄的刪除
場景1 delete語句的用法
場景2 演示truncate和delete的區別
實驗4-4 表記錄的替換
實驗4-5 更新操作與外鍵約束關系
實驗4-6 認識MySQL特殊字符序列
實驗4-7 更新語句綜合實驗
場景1 完成本章課後習題的最後一題
場景2 向選課系統數據庫表添加本人相關信息
第5章上機實驗-表記錄的檢索
材料提交
考核方式
環境準備
說明
實驗5-1 運算符的使用
場景1 算術運算符的使用
場景2 比較運算符的使用
場景3 邏輯運算符的使用
實驗5-2 select語句的基本使用
場景1 在select語句中使用字段列表
場景2 使用distinct關鍵字實現結果集的去重
場景3 使用limit關鍵字實現分頁查詢
實驗5-3 使用where子句指定記錄的過濾條件
實驗5-4 使用explain命令展示模糊查詢的執行計劃
實驗5-5 多表查詢和多表連接
場景1 演示內連接
場景2 演示內連接、左連接、右連接的區別
場景3 多表連接的綜合應用
實驗5-6 使用order by子句對結果集排序
實驗5-7 使用聚合函數匯總結果集
實驗5-8 使用group by子句對記錄分組統計
場景1 group by和聚合函數的簡單應用
場景2 group by子句搭配having子句一起使用
場景3 group by子句搭配with rollup選項一起使用
實驗5-9 使用union合並結果集
實驗5-10 子查詢的使用
場景1 子查詢和比較運算符一起使用
場景2 子查詢和in運算符一起使用
場景3 子查詢和exists邏輯運算符一起使用
場景4 子查詢和any運算符一起使用
場景5 子查詢和all運算符一起使用
實驗5-11 使用中文全文索引實現模糊查詢
場景1 準備工作
場景2 演示like模式匹配和正則模式匹配的全表掃描問題
場景3 演示中文全文檢索之自然語言檢索
場景4 演示中文全文檢索的查詢結果集排序問題
場景5 演示中文全文檢索之布爾檢索
場景6 演示中文全文檢索之查詢擴展檢索
場景7 了解ngram_token_size參數的意義
實驗5-12 中文全文檢索停用詞的使用
實驗5-13 選課系統的綜合查詢
實驗5-14 全文檢索在選課系統中的應用
第6章上機實驗-3種特殊表
材料提交
考核方式
環境準備
說明
實驗6-1 視圖的使用
場景1 創建視圖和使用視圖
場景2 查看視圖的定義
場景3 刪除視圖
場景4 視圖在選課系統中的應用
實驗6-2 臨時表的使用
場景1 臨時表的簡單使用
場景2 臨時表在選課系統中的應用
場景3 臨時表的使用總結
實驗6-3 派生表的使用
實驗6-4 演示視圖與臨時表、派生表之間的本質區別
第7章上機實驗-SQL編程基礎和MySQL函數
材料提交
考核方式
環境準備
說明
實驗7-1 用戶變量的定義與賦值
場景1 使用set語句定義用戶變量並賦值
場景2 使用select語句定義用戶變量並賦值
實驗7-2 重置結束標記
實驗7-3 自定義函數的創建、查看與刪除
場景1 創建和調用自定義函數的簡單案例
場景2 查看自定義函數
實驗7-4 局部變量的定義和賦值
實驗7-5 用戶變量和局部變量的總結
實驗7-6 自定義函數在選課系統中的應用-統計功能的實現
實驗7-7 流程控制語句的使用
場景1 if語句的應用
場景2 case語句的應用
場景2 while循環語句的應用
實驗7-8 內置函數的使用
場景1 數學函數的使用
場景2 字符串函數的使用
場景3 加密函數的使用
場景4 日期和時間函數的使用
場景5 條件控制函數的使用
場景5 其他實用函數的使用
第8章上機實驗-SQL編程進階
實驗目的
材料提交
考核方式
環境準備
說明
實驗8-1 觸發器在選課系統中的應用-自動維護冗余字段
實驗8-2 觸發器在選課系統中的應用-模擬實現檢查約束
實驗8-3 查看觸發器的定義
實驗8-4 使用觸發器模擬實現MyISAM表外鍵級聯刪除功能
場景1 準備工作
場景2 創建級聯刪除觸發器
場景3 測試級聯刪除觸發器
實驗8-5 驗證同事件、同時機的觸發器可以有多個
場景1 驗證前的準備工作
場景2 在同一個表創建兩個同型觸發器
場景3 測試兩個同型觸發器
實驗8-6 創建和調用存儲過程的簡單案例
實驗8-7 查看存儲過程的定義
實驗8-8 存儲過程在選課系統中的應用-統計功能的實現
實驗8-9 存儲過程在選課系統中的應用-選課存儲過程的實現
實驗8-10 以轉賬業務為例-深入理解錯誤處理機制的必要性
場景1 準備工作
場景2 創建轉賬存儲過程
場景3 測試轉賬存儲過程
實驗8-11 以轉賬業務為例-深入理解錯誤處理方式exit的執行流程
場景1 銀行轉賬的準備工作
場景2 創建轉賬存儲過程
場景3 分析exit錯誤處理方式的執行過程
實驗8-12 以轉賬業務為例-深入理解錯誤處理方式continue的執行流程
場景1 銀行轉賬的準備工作
場景2 創建轉賬存儲過程
場景3 分析continue錯誤處理方式的執行過程
實驗8-13 以轉賬業務為例-定義錯誤觸發條件
場景1 銀行轉賬的準備工作
場景2 創建轉賬存儲過程
場景3 重新分析continue錯誤處理方式的執行過程
實驗8-14 以除零錯誤為例-錯誤處理機制的綜合案例
場景1 演示signal語句可以在MySQL客戶機上運行
場景2 創建除法存儲過程
場景3 測試除法存儲過程
實驗8-15 選課存儲過程的第 1次疊代開發(引入錯誤處理機制處理外鍵約束錯誤)
第9章上機實驗-事務機制與鎖機制
實驗目的
材料提交
考核方式
環境準備
說明
實驗9-1 錯誤處理機制配合事務機制-解決轉賬業務數據不一致問題
實驗9-2 事務機制在選課系統中的應用-調課存儲過程的實現
實驗9-3 重現資源競爭問題
實驗9-4 鎖機制配合事務機制解決資源競爭問題
實驗9-5 選課存儲過程的第 2次疊代開發(引入排它鎖解決資源競爭問題)
實驗9-6 調課存儲過程的第 1次疊代開發(引入排它鎖解決資源競爭問題)
實驗9-7 死鎖問題
場景1 重現死鎖問題
場景2 調課存儲過程的第 2次疊代開發(處理死鎖問題)
實驗9-8 事務隔離級別
場景1 查看默認隔離級別
場景2 隔離級別read uncommitted與臟讀現象
場景3 隔離級別read committed與不可重復讀現象
場景4 隔離級別repeatable read和幻讀現象
場景5 serializable隔離級別可以避免幻讀現象
場景6 利用間隙鎖避免幻讀現象
實驗9-9 記錄鎖和間隙鎖
場景1 演示InnoDB記錄鎖的特點
場景2 演示InnoDB間隙鎖的特點
第 10章綜合案例-使用Python操作選課系統數據庫
實驗目的
材料提交
考核方式
環境準備
實驗10-1 使用Python調用選課存儲過程
場景1 準備工作-編寫獲取數據庫連接的Python函數
場景2 準備工作-添加教師測試數據
場景3 準備工作-添加課程測試數據
場景4 準備工作-查看table_name表所有記錄
場景5 使用Python調用選課存儲過程
場景6 收尾工作-將數據恢復原樣
實驗10-2 使用Python操作視圖
實驗10-3 使用Python調用自定義函數
場景1 準備工作-編寫調用自定義函數的Python函數
場景2 使用Python調用自定義函數
實驗10-4 使用Python演示全文檢索
場景1 準備工作-編寫全文檢索的Python函數
場景2 使用Python演示全文檢索
實驗10-5 使用Python調用調課存儲過程
場景1 準備工作-編寫調課存儲過程調用的Python函數
場景2 使用Python測試調課存儲過程
實驗10-6 使用Python調用統計功能的存儲過程
場景1 準備工作-編寫統計功能存儲過程調用的Python函數
場景2 使用Python調用統計功能存儲過程
實驗10-7 使用Python演示update語句的使用
場景1 準備工作-編寫修改課程名的Python函數
場景2 使用Python演示update語句的使用
實驗10-8 使用Python演示分頁功能的實現
場景1 準備工作-編寫分頁功能的Python函數
場景2 使用Python演示分頁功能的實現
實驗10-9 使用Python重現SQL註入問題
場景1 準備工作-編寫重現SQL註入問題的Python函數
場景2 使用Python重現SQL註入問題
實驗10-10 使用Python解決SQL註入問題
場景1 準備工作-編寫解決SQL註入問題的Python函數
場景2 使用Python解決SQL註入問題
實驗10-11 其他實驗

