freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mysql數(shù)據(jù)庫技術(shù)教案(編輯修改稿)

2024-12-13 22:30 本頁面
 

【文章內(nèi)容簡介】 Mysql數(shù)據(jù)庫應(yīng)用 課程名稱 觸發(fā)器使用 授課教師 授課班級 授課時數(shù) 2 授課方式 理論課 授課重點、難點 創(chuàng)建觸發(fā)器 觸發(fā)器的刪除 授課內(nèi)容、教具與時間分配 為什么要用觸發(fā)器 我們在 MySQL 中包含對觸發(fā)器的支持是由于以下原因 : MySQL早期版本的用戶長期有需要觸發(fā)器的要求。 我們曾經(jīng)許諾支持所有 ANSI標(biāo)準(zhǔn)的特性。 您可以使用它來檢查或預(yù)防壞的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫。 您可以改變或者取消 INSERT, UPDATE以及 DELETE語句。 您可以在一個會話中監(jiān)視數(shù)據(jù)改變的動作。 語法 1. 語法:命名規(guī)則 CREATE TRIGGER 觸發(fā)器名稱 { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON 表名稱 FOR EACH ROW 觸發(fā)器 SQL語句 觸發(fā)器必須有名字,最多 64 個字符,可能后面會附有分隔符 .它和 MySQL 中其他對象的命名方式基本相象 . ■ trigger_name :標(biāo)識觸發(fā)器名稱,用戶自行指定; ■ trigger_time :標(biāo)識觸發(fā)時機(jī),用 before和 after替換; ■ trigger_event :標(biāo)識觸發(fā)事件,用 insert, update和 delete替換; ■ tbl_name :標(biāo)識建立 觸發(fā)器的表名,即在哪張表上建立觸發(fā)器; ■ trigger_stmt :觸發(fā)器程序體。 20 觸發(fā)器程序可以使用 begin和 end作為開始和結(jié)束,中間包含多條語句。 ② 查看觸發(fā)器 查看觸發(fā)器語法如下,如果知道觸發(fā)器所在數(shù)據(jù)庫,以及觸發(fā)器名稱等具體信息: SHOW TRIGGERS from SF_User like usermaps%。 /* 查看 SF_User庫上名稱和 usermaps%匹配的觸發(fā)器 */ 如果不了解觸發(fā)器的具體的信息,或者需要查看數(shù)據(jù)庫上所有觸發(fā)器,如下: SHOW TRIGGERS。 //查看所有觸發(fā)器 用上述方式查看觸發(fā)器可以看到數(shù)據(jù)庫的所有觸發(fā)器,不過如果一個庫上的觸發(fā)器太多,由于會刷屏,可能沒有辦法查看所有觸發(fā)器程序。 ③ 刪除觸發(fā)器 刪除觸發(fā)器語法如下: DROP TRIGGER [schema_name.]trigger_name 小結(jié) 復(fù)習(xí) 思考題 參考書 本節(jié)講述了 觸發(fā)器的使用 : 復(fù)習(xí)題目: 1. 如何創(chuàng)建觸發(fā)器 ? 教材:《 mysql實用教程 》 《 mysql入門很簡單》清華大學(xué)出版社 Mysql數(shù)據(jù)庫應(yīng)用 課程名稱 SQL查詢語句 授課教師 授 課班級 授課時數(shù) 8 授課方式 理論課 21 授課重點、難點 基本查詢語句 使用集合函數(shù)查詢 連接查詢 授課內(nèi)容、教具與時間分配 SELECT 被用來檢索從一個或多個表中精選的行。 select_expression 指出你想要檢索的列。SELECT 也可以用 來檢索不引用任何表的計算行 select*from table1。 select field1,field2 from table1。 select count(*)from table2。 select , from table1,table2 where =39。valed139。 select *from table1 where field1=39。valed139。 and fiels2=39。valed239。 orded by field1。 select*from table1 where filed1=39。valed139。 order byfiled1 desc linit n。 select *from table2 where name like 39。%$lin%39。(模糊 ) sub_selects(高級 ) select *from table1 where id In(select id from table2......)。 select ...into table...(高級 ) (可用 select...into outfile...。insert...selkect...替代 ) SELECT MAX(field1) AS field1 FROM table1 列的最大值 其中:表: table \字段: field 集合 函數(shù)查詢 對一個表中的記錄進(jìn)行數(shù)據(jù)統(tǒng)計。例如,如果你想統(tǒng)計存儲在表中的一次民意測驗的投票結(jié)果。或者你想知道一個訪問者在你的站點上平均花費了多少時間。要對表中的任何類型的數(shù)據(jù)進(jìn)行統(tǒng)計,都需要使用集合函數(shù)。你可以統(tǒng)計記錄數(shù)目,平均值,最小值,最大值, 22 或者求和。當(dāng)你使用一個集合函數(shù)時,它只返回一個數(shù),該數(shù)值代表這幾個統(tǒng)計值之一。 這些函數(shù)的最大特點就是經(jīng)常和 GROUP BY 語句配合使用,需要注意的是集合函數(shù)不能和非分組的列混合使用。 行列計數(shù) 計算查詢語句返回的記錄行數(shù) 直接計算函數(shù) COUNT(*)的 值 計算字段的平均值 需要計算這些值的平均值。使用函數(shù) AVG(),你可以返回一個字段中所有值的平均值。 SELECT AVG(vote) FROM opinion 計算字段值的和 SELECT SUM(purchase_amount) FROM orders 計算字段值的極值 求字段的極值,涉及兩個函數(shù) MAX()和 MIN()。 SELECT name,MIN(birth) FROM pet。 mysql多表連接查詢 inner join,full outer join,left join,right jion 內(nèi)部連接 inner join 兩表都滿足的組合 full outer 全連 兩表相同的組合在一起, A表有, B表沒有的數(shù)據(jù)(顯示為 null) ,同樣B表有 23 A表沒有的顯示為 (null) A表 left join B表 左連 ,以 A表為基礎(chǔ), A表的全部數(shù)據(jù), B表有的組合。沒有的為 null A表 right join B表 右連 ,以 B表為基礎(chǔ), B表的全部數(shù)據(jù), A表的有的組合。沒有的為null 一、外連接 :包括左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接 : left join 或 left outer join (1)左向外聯(lián)接的結(jié)果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值 (null)。 (2)sql 語句 select * from table1 left join table2 on = : right join 或 right outer join (1)右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接。將返回右表的所有行 。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。 (2)sql 語句 select * from table1 right join table2 on = :full join 或 full outer join (1)完整外部聯(lián)接返回左表和右表中的所有行。當(dāng)某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結(jié)果集行包含基表的數(shù)據(jù)值。 (2)sql 語句 select * from table1 full join table2 on = 二、內(nèi)連接 24 :內(nèi)聯(lián)接是用比較運算符比較要聯(lián)接列的值的聯(lián)接 : join 或 inner join 語句 select * from table1 join table2 on = 三、交叉連接 (完全 ) :沒有 WHERE 子句的交叉聯(lián)接將產(chǎn)生聯(lián)接所涉及的表的笛卡爾積。第一個表的行數(shù)乘以第二個表的行數(shù)等于笛卡爾積結(jié)果集的大小。( table1和 table2交叉連接產(chǎn)生 3*3=9條記錄) : cross join (不帶條件 where...) select * from table1 cross join table2 小結(jié) 復(fù)習(xí) 思考題 參考書 本節(jié)講述了 部分查詢操作 : 復(fù)習(xí)題目: 1. 練習(xí)表的查詢 ? 教材:《 mysql實用教程 》 《 mysql入門很簡單》清華大學(xué) 出版社 Mysql數(shù)據(jù)庫應(yīng)用 課程名稱 Mysql插入更新刪除 授課教師 授課班級 授課時數(shù) 4 授課方式 理論課 授課 Mysql的插入更新刪除方法 25 重點、難點 授課內(nèi)容、教具與時間分配 1 插入、更新和刪除記錄 1. 1 插入記錄 Insert into table_name (field_name1, field_name2, …) values (value1, value2, …)。 Insert into values (value1, value2, …)。 // 這種形式只能應(yīng)用 于值的順序與字段順序匹配的情況(可以通過調(diào)用 describe 命令來決定字段順序)。 包含引用標(biāo)志的值需要再引號 ’前面加上反斜線 \ //轉(zhuǎn)義字符 注意: into 關(guān)鍵字是可選的 也可以同時插入多個值,用逗號分開 Eg: insert table_name values (value1, value2, …), (value3, value4, …) ; 還可以不使用 insert… values 格式,而使用類似 update 語句,它使用 set 子句分別為每一列設(shè)置值。 Insert into table_name set field_name1 = value1, field_name2 = value2,… ; 使用 default 值 Create table table_name (field_name1 type default def_value not null,…)。 Insert table_name values (default,…)。 //default 關(guān)鍵字只在 以及更高版本才支持 使用 AUTOINCREMENT 字段 自動產(chǎn)生下一個序號,該字段必須被設(shè)置為主鍵 使用 UNIQUE 字段 使用 IGNORE關(guān)鍵字或者 ON DUPLICATE KEY UPDATE 子句跳過 INSERT、中斷操作或者更新舊記錄為新值。 INSERT IGNORE INTO TABLE_NAME (UNIQUE_FIELD, …) VALUES (REPEAT, …)。 如果重復(fù)記錄,則不會報告錯誤,也不會更新記錄,數(shù)據(jù)庫中的數(shù)據(jù)保持不變。 ON DUPLICATE KEY UPDATE 和 REPLACE區(qū)別:前者只把已命名的字段更新為新值,后者刪除了舊記錄,然后用新值完全替換。 Eg: insert into Menu value (null, ‘MySQL’, ‘’) on duplicate key update label=’MS SQL’, url=’’。 在這種情況下,如果 MySQL 發(fā)現(xiàn)表中已經(jīng)包含具有相同唯一鍵的記錄,則會自動更新舊的記錄為 ON DUPLICATE KEY UPDATE 從句中指定的新值。 當(dāng)有很多 insert 語句需要被順序執(zhí)行時, IGNORE 關(guān)鍵字就使操作變得很方便。這可以保證不管拿一個INSERT 包含了重復(fù)值, MySQL 都會跳過而不放棄全部 操作。 1. 2 更新記錄 UPDATE TABLE_NAME SET FIELD_NAME=VALUE, SET FIELD_ANOTHER=VALUE_ANTOHER,… WHERE … 如果省略了 where 子句,表中的每行都會收到 update 的影響而改變 精細(xì)操作:當(dāng)執(zhí)行 INSERT 或者 UPDATE 操作時,可以通過使用 LOW_PRIORITY 和 DELAYED 關(guān)鍵字使 MySQL 客戶執(zhí)行等待,知道成功完成操作或者排隊等候服務(wù)器進(jìn)行處理。 LOW_PRIORITY 關(guān)鍵字阻止語句執(zhí)行知道沒有其他線程使用這個表, 從而強(qiáng)制客戶等待,知道語句完全被執(zhí)行。在應(yīng)用中可靠性是最終要的,添加這個關(guān)鍵字可以幫助提高 SQL 事務(wù)處理以及在它上面的業(yè)務(wù)邏輯的完整性。 DELAYED 關(guān)鍵字和 LOW_PRIORITY 關(guān)鍵字相反,把要執(zhí)行的語句放在一個對壘中(在 server 的存儲 26 器內(nèi))就立即讓客戶退出。當(dāng)處理繁忙的數(shù)據(jù)庫服務(wù)時,這一點在提高應(yīng)用程序的性能方面尤其重要,意味它可以提高客戶相應(yīng)時間(但是比較冒險 ――― 如果服務(wù)器崩潰,在服務(wù)器隊列中的所有請求都會丟失)。 這兩個關(guān)鍵字不適用與 InnoDB 表。 1. 3 刪除記錄 MySQL 允許使用 delete 和 truncate 語句刪除數(shù)據(jù)。 DELETE 語句可以允許從表中刪除記錄,支持 where DELETE FROM TABLE_NAME
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1