




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册消防工程师之消防安全技术实务题库及答案
- 国企党支部在组织管理中的作用与挑战
- 整本书阅读对农村学生语言表达能力的提升
- 数字乡村协同发展中的生态建设与创新模式
- 建设用地扩张与农业用地减少的相互关系
- 城市集群对区域竞争力提升的贡献
- 智能驾驶零部件研发生产项目资金申请报告(参考)
- 天然气液化管道建设项目实施方案
- 二零二五版旅游项目贷款合同样本
- 思政引领下AI时代大学生就业竞争力的培养路径
- 小学金融知识小课堂课件
- 广告项目方案投标文件(技术方案)
- 美术高考协议班合同
- 渔具回收寄售合同协议
- 2024年江西省永新县事业单位公开招聘教师岗笔试题带答案
- 2025至2030中国天河石项链市场需求量调研及未来投资商机研究报告
- 《幼儿户外自我保护能力提升研究的相关概念界定与国内外文献综述》3600字
- 2025年水运工程试验检测师水运材料真题卷(附答案)
- 孩子和家长合同协议
- 销售责任心培训
- 2024秋新沪科版数学七年级上册教学课件 1.4.3 加、减混合运算
评论
0/150
提交评论