




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.課程回mysql
mysql結構:數據庫->表->數 sql語createdatabasedefaultcharacterdropdatabase數據庫alterdatabasedefaultcharactershowdatabasesshowcreatedatabase數據庫選擇數據庫:use數據庫增加:createtable表(字段名1字段類型,字段名2字段類 droptable表;管理數據
添加字段:altertable表add[column]字段名字段類型; altertable表drop[column]字段名;altertablemodify修改字段名稱:altertable表change舊字段名新字段名字段類型; altertable表rename[to]新表名;show descinsertinto表(12,values(12.deletefromwhere條件updateset1=12=2where條件;4.1)所有字段:select*from表;4.2)select1,2from表;4.3)select1asfrom表4.4select1+2from表4.5)selectdistinctfrom表;a)邏輯條件:and(與 select*fromwhere1and/or比較條件:> betweenand(在。之間)select*from表whereservlet>=90;判斷null:is isnot判斷空字符串:='' d)模糊條件:like 分頁查詢:limit起始行,0orderbyasc/descasc:正序,順序分組查詢:groupby:havingSQLDDLcreatedropalterinsertdeleteupdatetruncateDQL:數據查詢語言:select/
mysql數據約什么數據約默認1.11.1idINT,NAME --默認)--當字段沒有插入值的時候,mysqlINSERTINSERTINTOstudent(id,NAME)--非1.2--gender1.2--gender字段必須有值(null)CREATETABLEstudent(idNAMEgenderVARCHAR(2NOTNULL--)--INSERTINTOstudent(id,NAME)-- 唯1.3idINTUNIQUE,--NAME)INSERTINTOstudent(id,NAME)INSERTINTOstudent(id,NAME)VALUES(1,'lisi');--ERROR1062(23000):Duplicateentry'1'forkeyINSERTINTOstudent(id,NAME)主+唯一1.4主鍵(非空+1.4主鍵(非空+唯一idINTPRIMARYKEY,--NAME)INSERTINTOstudent(id,NAME) INSERTINTOstudent(id,NAME) --INSERTINTOstudent(id,NAME) ');-Duplicateentry1forkey--insertintostudent(name)');-ERROR1048(23000)Column'idcannotbe自增1.5idINT(4ZEROFILLPRIMARYKEYAUTO_INCREMENT,--0開始ZEROFILLNAME)--INSERTINTOstudent(NAME)VALUES('');INSERTINTOstudent(NAME)VALUES('SELECT*FROM--DELETEFROM--外例如:員工表和部門表IDID字段值ID----部門表(主表idINTPRIMARYdeptName)--修改員工表(副表/從表idINTPRIMARYempNamedeptIdINT,-- 外 )
1.6--idINTPRIMARYempNamedeptNameVARCHAR(20)--)INSERTINTOemployee INSERTINTOemployeeVALUES(2,' INSERTINTOemployee ','應 SELECT*FROM--INSERTINTOemployee ----idINTPRIMARYdeptName)--idINTPRIMARYempNamedeptIdINT,-- CONSTRAINTemlyee_dept_fkFOREIGNKEY(deptId)REFERENCESdept(id)ONUPDATECASCADEONDELETE --ONCASCADEUPDATE:級聯修改 外 )INSERTINTOdept(id,deptName)VALUES(1,'軟件開發部');INSERTINTOdept(id,deptName)VALUES(2,'應用部');INSERTINTOdept(id,deptName)VALUES(3,'部');INSERTINTOemployeeVALUES(1,'',1);INSERTINTOemployeeVALUES(2,'',1);INSERTINTOemployeeVALUES(3,'',2);INSERTINTOemployeeVALUES(4,'--問題:INSERTINTOemployeeVALUES(5,' ',4) fails(`day16`.`employee`,CONSTRAINT`emlyee_dept_fk`FOREIGNKEY(`deptId`)REFERENCES`dept`(`id`))1)2)3)--修改部門(不能直接修改主表)UPDATEdeptSETid=4WHEREid=3;----UPDATEemployeeSETdeptId=2WHERE--DELETEFROMdeptWHERE--DELETEFROMemployeeWHERESELECT*FROMdept;SELECT*FROMemployee;級聯操ONUPDATEONDELETEidINTPRIMARYempNamedeptIdINT,-- CONSTRAINTemlyee_dept_fkFOREIGNKEY(deptId)REFERENCESdept(id)ONUPDATECASCADEONDELETE --ONCASCADEUPDATE:級聯修改 外 )--級聯修改(修改--UPDATEdeptSETid=5WHERE----DELETEFROMdeptWHERE數據庫設引--->學生模型:學號,學生號碼角色:學生老師,管理需求設計-->實體模型(javac++類)內存classBook{name,bookNo,author}數據庫設計業務模型/->(硬盤
三大范 --第一范式 :name 狗娃employee(員工):員工編號員工部門名稱 訂單名稱--第二范式員工表:員工編號員工部門名稱訂單表:訂單編號訂單名 --符合第二范第三范式:在第二范式基礎,要求每張表的主鍵之外的其他字段都只能和主鍵有直接決定依賴關系。員工表:員工編號(主鍵)員工部門編號部門名--符合第二范式,第三范式員工表:員工編號(主鍵)員工部門編號 部門表:部門編號部門名關聯查詢(多表查詢 --需求:查詢員工及其所在部門(顯示員 --2.1交叉連接查詢(不推薦。產生 乘積現象:4*4=16,有些是重復記錄)SELECTempName,deptNameFROMemployee,dept;--需求:查詢員工及其所在部門(顯示員 --多表查詢規則:1)確定查詢哪些表 --2.2內連接查詢:只有滿足條件的結果才會顯示(使用最頻繁)SELECTempName,deptName --2)確定哪些哪些字段FROM WHERE ----SELECTempName,deptNameFROMemployeeINNERJOINON--SELECTe.empName,d.deptNameFROMemployeeeINNERJOINdeptdONe.deptId=d.id;---- 應 總經 --2.2左[外]null--(SELECTd.deptName,e.empNameFROMdeptdLEFTLEFTOUTERJOINemployeeeONd.id=e.deptId;2.3右[外]連接查詢:使用右邊表的數據去匹配左邊表的數據,如果符合連接條件的結果則顯示,如果不符合連接條件則顯示null--SELECTd.deptName,e.empNameFROMemployeeeRIGHTOUTERJOINdeptON2.4---- SELECTe.empName,b.empNameFROMemployeeeLEFTOUTERJOINemployeebONe.bo 5過什么是過sql之前的sql沒有條件判斷,沒有循環 過程特過程語----DELIMITER ----sql語句SELECT*FROMsql語句+END ---- -- OUT:表示輸出參數,可以 ----過程 --創 過--sql語句;SELECT*FROMemployee;END----3.1帶有輸入參數 過--id,查詢員工信息DELIMITER$ IN:SELECT*FROMemployeeWHEREid=eid;END$--3.2 OUT--SETstr=' END$--刪 過DROPPROCEDURE----***mysql的變量 :mysql--show--select@@--set變量名= mysql-- --定義會話變量set@變量=--select@--局部變量: --1)定義一個會話變量name,2)使用name會話變量接 --SELECT--3.3帶有輸入輸出參數 過 INOUT--查看變量SELECTn;SETn=500;END--SETCALLpro_testInOut(@n);SELECT@n;--3.4帶有條件判斷 過--CREATEPROCEDUREpro_testIf(INnumINT,OUTstrVARCHAR(20))IFnum=1SETstr='星期一';ELSEIFnum=2THENSETstr='星期二';ELSEIFnum=3THENSETstr='星期三
SETstr='輸入錯誤ENDIF;END$SELECT@str;--3.5帶有循環功能 過--1001-100CREATEPROCEDUREpro_testWhile(INnumINT,OUTresultINT)--定義一個局部變量DECLAREiINTDEFAULT1;DECLAREvsumINTDEFAULT0;WHILEi<=numSETvsum=vsum+i;SETi=i+1;ENDSETresult=vsum;END$DROPPROCEDURECALLpro_testWhile(100,@result);SELECT@result;USE3.6使用查詢的結果賦值給變量CREATEPROCEDUREpro_findById2(INeidINT,OUTvnameVARCHAR(20))SELECTempNameINTOvnameFROMemployeeWHEREid=eid;END$SELECTSELECT觸發觸發器作--mysql--創建觸發器(添加CREATETRIGGERtri_empAddAFTERINSERTONemployeeFOREACH--mysql--創建觸發器(添加CREATETRIGGERtri_empAddAFTERINSERTONemployeeFOREACH --)--INSERTINTOemployee(id,empName,deptId)VALUES(7,'--創建觸發器(修改CREATETRIGGERtri_empUpdAFTERUPDATEONemployeeFOREACH --)----創建觸發器(刪除CREATETRIGGERtri_empDelAFTERDELETEONemployeeFOREACH --)--DELETEFROMemploye
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 刀具套裝供貨合同樣本
- 出庫材料采購合同范例
- 會務攝影合同標準文本
- 農業托管分紅合同樣本
- 辦理消防資料合同樣本
- 債務物品抵消合同樣本
- 辦理消防驗收合同樣本
- 劇本殺員工合同樣本
- 刺猬紫檀沙發合同標準文本
- 辦證合同范例范例
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
- 新安法下怎樣做到「盡職免責」
- 2022年10月自考00830現代語言學試題及答案含解析
- 三年級下冊數學計算去括號練習400道及答案
- 2024年四川蓬安相如旅游開發有限責任公司招聘筆試參考題庫含答案解析
- 統編版語文四年級下冊第二單元 快樂讀書吧:十萬個為什么 整書閱讀 課件
- 保安員心理測試題及答案
- YY/T 0489-2023一次性使用無菌引流導管及輔助器械
- 中醫藥適宜技術頸椎病課件
- 幼小銜接視野下大班幼兒學習習慣的現狀調查及養成策略研究
- 中職電子商務班級建設方案
評論
0/150
提交評論