免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
06 數(shù)據(jù)庫(kù)入門(mén)學(xué)習(xí)-視圖、sql注入、事務(wù)、存儲(chǔ)過(guò)程

一、視圖

1.什么是視圖

  視圖本質(zhì)是一張?zhí)摂M的表

2.為什么要用

  為了原表的安全
  只要有兩大功能
    1.隱藏部分?jǐn)?shù)據(jù),開(kāi)放指定數(shù)據(jù)
    2.視圖可以將查詢結(jié)果保存,減少sql語(yǔ)句的次數(shù)
  特點(diǎn):
  1.視圖使用永久保存的,而且保存的僅僅是一條 as sql語(yǔ)句
  2.每次對(duì)視圖的查詢,都是再次執(zhí)行了保存的sql語(yǔ)句
  3.對(duì)于視圖的任何修改都會(huì)同步到原表

3.如何使用

  語(yǔ)法:

create view 視圖名 as select * from 原表名;

  驗(yàn)證:對(duì)視圖的任何修改會(huì)改變?cè)?/p>

 驗(yàn)證

 

 

二、sql注入

1.什么是sql注入攻擊

一些了解sql語(yǔ)法的用戶,可以輸入一些關(guān)鍵字或合法sql,來(lái)導(dǎo)致原始的sql邏輯發(fā)生變化 從而跳過(guò)登錄驗(yàn)證或者刪除數(shù)據(jù)庫(kù)


2.如何使用sql注入

案例一

 View Code


案例二

 View Code

 


3.如何預(yù)防sql注入漏洞

從客戶端入手,接受用戶輸入的數(shù)據(jù)時(shí),可以加上限制,比如不能輸:-- ' ; where 等等
但是這樣只能避免,黑客從你的客戶端軟件注入 sql,無(wú)法避免間人攻擊(在你的客戶端和服務(wù)器中間加一個(gè)中轉(zhuǎn)服務(wù)器)
中間人攻擊可以繞過(guò)了客戶端的輸入限制
可以將驗(yàn)證放到服務(wù)端

 View Code

 

三、事務(wù)

1.什么是事務(wù)

  是一組sql語(yǔ)句集合
  事務(wù)的特性:
    1.原子性:
      事務(wù)是一個(gè)整體,要么都執(zhí)行完畢,要么一個(gè)都沒(méi)執(zhí)行
    2.隔離性:
      多個(gè)事務(wù)之間一定是并發(fā)的,那么并發(fā)一定會(huì)出現(xiàn)問(wèn)題
      1.臟讀 讀取到另一個(gè)事務(wù)未提交的數(shù)據(jù)
      2.不可重復(fù)讀 兩次對(duì)同一記錄的查詢結(jié)果不一致
        一個(gè)事務(wù)在查詢 另一個(gè)事務(wù)在更新
      3.幻讀 對(duì)同一表中的查詢結(jié)果數(shù)量不一致
        一個(gè)事務(wù)在查詢 另一個(gè)事務(wù)在添加或刪除
    3.一致性:
      在這個(gè)事物執(zhí)行完成后,事務(wù)中所進(jìn)行的修改也都完成了,這樣一來(lái)就保證了數(shù)據(jù)的完整性
    4.持久性
      當(dāng)事務(wù)執(zhí)行完畢后,事務(wù)對(duì)數(shù)據(jù)的修改都是持久性的、不可恢復(fù)的

2.如何使用

#語(yǔ)法#1.開(kāi)啟一個(gè)事務(wù)start transaction#2.sql語(yǔ)句........#3.事務(wù)執(zhí)行完畢后 使用commit來(lái)提交 一旦提交就不可恢復(fù)了commit#4.在事務(wù)還未提交時(shí)我們可以使用rollback來(lái)回滾 默認(rèn)回滾到事務(wù)開(kāi)始前的狀態(tài)rollback

 

四、存儲(chǔ)過(guò)程

1.什么是存儲(chǔ)過(guò)程

你可以理解為mysql的編程語(yǔ)言

他的作用, 可以將你的程序業(yè)務(wù)邏輯放到mysql中來(lái)處理
這樣可以降低網(wǎng)絡(luò)訪問(wèn)次數(shù) 從而提高你的程序效率

既然如此,你不能把所有與數(shù)據(jù)存儲(chǔ)相關(guān)的業(yè)務(wù)邏輯全都放mysql中?
能,但是對(duì)于公司而言,需要再請(qǐng)一個(gè)mysql開(kāi)發(fā)者
對(duì)于你個(gè)人來(lái)說(shuō),提高溝通成本

 

2.三種開(kāi)發(fā)的模型

 


方案一

應(yīng)用程序: 處理邏輯,需要手動(dòng)編寫(xiě) sql語(yǔ)句

mysql:


優(yōu)點(diǎn):執(zhí)行效率高
缺點(diǎn): 開(kāi)發(fā)效率低

方案二

應(yīng)用程序:

mysql :處理邏輯,mysql開(kāi)發(fā)者來(lái)編寫(xiě),應(yīng)用程序開(kāi)發(fā)者不需要需要手動(dòng)編寫(xiě) sql語(yǔ)句

優(yōu)點(diǎn): 應(yīng)用程序開(kāi)發(fā)效率高
缺點(diǎn): 執(zhí)行效率略低,溝通成本增高

 

方案三

使用 ORM(object relation map) 對(duì)象關(guān)系映射
自動(dòng)幫你生成對(duì)應(yīng)的sql語(yǔ)句,比如你要注冊(cè)用戶,本來(lái)要寫(xiě)insert語(yǔ)句,現(xiàn)在使用orm調(diào)用save(用戶對(duì)象)
優(yōu)點(diǎn):開(kāi)發(fā)效率高
缺點(diǎn):執(zhí)行效率降低

 

3.語(yǔ)法

delimiter //#更換mysql的換行符create procedure 過(guò)程的名稱 ({in,out,inout}  參數(shù)名稱  數(shù)據(jù)類型)begin    #具體的sql代碼end//delimiter ;#參數(shù)前面需要指定參數(shù)的作用#in 表示該參數(shù)用于傳入數(shù)據(jù)#out 用于返回?cái)?shù)據(jù)#inout 即可傳入 也可返回

 

4.流程控制

if語(yǔ)句

if 條件  then    語(yǔ)句1;elseif 條件 then    語(yǔ)句2;else     語(yǔ)句3;end if;

case語(yǔ)句

你給我一個(gè)值 我對(duì)它進(jìn)行選擇 然后執(zhí)行匹配上的語(yǔ)句
case 變量名when 值1 then     語(yǔ)句1;when 值2 then     語(yǔ)句2;when 值3 then     語(yǔ)句3;else     語(yǔ)句4;end case;

 

while語(yǔ)句

WHILE 條件 DO    語(yǔ)句.....end WHILE;
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL數(shù)據(jù)庫(kù)實(shí)戰(zhàn)課程
MySql高級(jí)知識(shí)的一些總結(jié)
《MySQL必知必會(huì)》學(xué)習(xí)筆記
新熱消息:存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器
MySql高級(jí)
我必須得告訴大家的MySQL優(yōu)化原理2
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服