(专升本)《计算机网络原理》数据库_第1页
(专升本)《计算机网络原理》数据库_第2页
(专升本)《计算机网络原理》数据库_第3页
(专升本)《计算机网络原理》数据库_第4页
(专升本)《计算机网络原理》数据库_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、初识数据库:1、什么是数据库设计?数据库设计就是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。2、数据库规范设计:第一范式:原子性(官方总结:每列都是不可再分的最小单位)(大白话:每列只能存一个值)第二范式:确保表中每列都跟主键相关第三范式:确保表中每列都与主键直接相关,而不能间接相关(A\B\C三列,A列是主键,C列依赖B列,B列与A列直接相关,这就是错误的设计,因为C列不是与主键直接相关)windowsr-->services.msc二、基本sql语句1、创建数据库:createdatabase数据库名;2、查看数据库列表:showdatabases;3、使用数据库:use数据库名;4、数据类型:varchar字符串类型(对应java中的String类型)dateYYYY-MM-DD时间类型timestampYYYYMMDDHHMMSS精度为1秒例:2018年某时刻~2019年某时刻5、创建表:创建表前必须使用某个数据库createtable[ifnotexists]表名(字段1数据类型[字段属性|约束][索引][注释],字段2数据类型[字段属性|约束][索引][注释],....字段n数据类型[字段属性|约束][索引]comment"字段注释")[表类型][表字符集]comment="练习表";约束:非空约束:notnull主键约束:primarykey自动增长:auto_increment单行注释:#....多行注释:/**/6、删除数据库:dropdatabase数据库名;7、查看所有表:showtables;8、查看某个表:describe表名;9、删除表:droptable表名;10、修改表名:altertable旧表名rename新表名;11、添加字段:altertable表名add字段名数据类型(属性);12、修改字段:altertable表名change原字段名新字段名数据类型(属性);13、删除字段:altertable表名drop字段名;三、新增sql语句:1、标准写法:insertinto表名(字段1,字段2...)value(对应值,对应值....)2、简洁写法:insertinto表名value(对应值,对应值....)注:value和values都可用3、insertinto表1select(字段)from表2注:表1和表2完全相同的情况下4、insertinto表名value(值1,(从别的表查出的值))四、修改sql语句:1、修改一条记录:update表名set字段=新的值where条件2、修改多条记录:update表名set字段1=新的值,字段2=新的值,...where条件五、删除sql语句:1、删除一条记录:deletefrom表名where条件2、删除表中所有数据:truncatetable表名六:查询sql语句:1、查询表中所有数据:select*from表名2、查询表中id为1的数据:select*from表名whereid=13、查询表中某个字段,条件为id=1:select某字段from表名whereid=14、查询某个范围的记录:select*from表名where查询条件limit位置偏移量,行数注:常作用于分页查询位置偏移量:从第几行开始查询,从0开始行数:查询几行5、查询表中是否存在某条数据:selectcount(1)as别名from表where条件selectcount(*)as别名from表where条件如果存在,结果为1,否则结果为06、一堆函数:avg()---返回某字段的平均值max()---返回某字段的最大值min()---返回某字段的最小值sum()---返回某字段的和例:selectavg(某字段)from表名;7、关联查询(1)左关联:select要查询的列from表1leftjoin表2on表1.关联列=表2.关联列where条件;注:右关联:将上述sql语句中的left改成right中间关联:将上述sql语句中的left改成inner(2)、直接关联:select要查询的列from表1,表2where条件and表1.关联列=表2.关联列;8、子查询:(1)、语法:select*from表名where字段1比较运算符(子查询);例:查询成绩大于吴春雷的成绩信息select*frommarkwheregrade>(selectgradefrommarkwhereusername='wcl');(2)、语法:select*from表名where字段1in(子查询);例:查询成绩在50~61范围内的成绩信息select*frommarkwheregradein(selectgradefrommarkwheregrade<=61andgrade>=50);9、模糊查询:语法:select*from表where某字段like'%字符1%';注:查询某字段存在字符1的数据10、排序:语法:select*from表orderby字段名;注:查询某表所有数据,根据某字段进行排序,默认升序排列orderby字段名desc:为降序排列11、子查询:exists(1)、语法:select*from表whereexists(子查询)注:如果子查询成立,才能查出结果,否则结果为空(2)、语法:select*from表1whereexists(select1from表2where表1.字段=表2.字段)注:exists可用于多表关联查询,子查询语句可以直接利用主查询语句的表12、casewhen判断语句:语法:selectcase字段名when字段值1then返回值1when字段值2then返回值2....else返回值3end列别名from表名;七、事务、视图、索引1、什么是事务:事务是一种机制、一组操作序列,要么都执行,要么都不执行,是一个不可分割的逻辑元。2、事务四大属性:(1)、原子性:一组操作序列作为一个整体去提交或回滚(2)、一致性:某个正在进行的事务导致数据可能不在一致的状态,当此事务成功完成时,数据必须再次回到一致状态。(3)、隔离性:对数据进行修改的所有并发事务是彼此隔离的,事务相对都是独立的(4)、持久性:不管系统是否发生故障,事务处理的结果都是永久的3、如何执行事务(1)、开始事务:begin或starttransaction(2)、提交事务:commit(3)、回滚(撤销)事务:rollback注:查询所有进程:showprocesslist找到锁死的进程,kill锁死进程的id4、什么是视图:视图是另一种查看数据库中一个或多个表数据的方法,视图是一种虚拟表注:视图作用:(1)、筛选所要查询的行、列(2)、防止未经许可的用户访问敏感数据(3)、将多个物理数据表抽象为一个逻辑数据表使用sql创建视图:createview视图名asselect语句;5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论