资源描述:
《数据库的增删改查.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章数据库的增删改查回顾数据类型分哪两种类型装箱和拆箱的关系简单类型以及其字节数与范围变量命名规则声明变量方法课程目标使用insert语句向表中插入数据使用update语句更新表中数据使用delete语句删除表中数据使用select语句进行查询示例数据库:学生--课程数据库学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname)学生选课表:SC(Sno,Cno,Grade)2.1添加数据使用insert语句添加数据的一般格式:insert[into]<表名>[列
2、名]values<值列表>省略列名--指定值的顺序必须与表中的列顺序一致只有部分列包含值insertinto员工信息表(姓名,性别,职务)values(‘张三','男','经理')insertinto员工信息表values(‘张三','经理','男')insertinto员工信息表(姓名,职务)values(‘李四',null)使用selectinto语句复制表的结构和数据select*into普通职员表from员工信息表where职务='职员'selectinto和insertinto都可以添加多行数据,两者的区别inse
3、rtinto语句中用于添加数据的目标表要求已经存在selectinto语句会创建新表,要求不存在同名的表2.2更新数据update语句:可更新表中单行,行组或所有行的数据一般格式为:update表名set列名1=新值1,列名2=新值2…where条件update员工信息表set职务='职员'where姓名=‘张三’update图书信息set库存数量=库存数据+20where出版社编号=12.3删除数据使用delete语句删除行delete[from]表名where条件deletefrom教师信息表where职务isnull注
4、意:如果delete语句没有where条件,则删除表中所有行,但保留表的结构delete新职员表使用truncatetable删除表中所有行truncatetable新职员表用truncate和delete都可以删除表的所有行,两者的区别truncate语句不写日志,执行速度比delete语句快,但不可回滚数据查询是数据库中最常见的操作。SQL语言提供SELECT语句,通过查询操作可得到所需的信息。SELECT语句的一般格式为:2.4查询数据SELECT<列名>FROM<表名>[WHERE<查询条件表达式>][GROUPBY
5、<分组的列名>[HAVING<条件表达式>]][ORDERBY<排序的列名>[ASC或DESC]]SELECT语句的执行过程是:根据WHERE子句的检索条件,从FROM子句指定的基本表或视图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。如果有GROUP子句,则将查询结果按照<列名1>相同的值进行分组。如果GROUP子句后有HAVING短语,则只输出满足HAVING条件的元组。如果有ORDER子句,查询结果还要按照<列名2>的值进行排序。[例3-23]查询全体学生的学号、姓名和年龄。SELECTSNo
6、,SN,AgeFROMS[例3-24]查询学生的全部信息。SELECT*FROMS[例3-25]查询选修了课程的学生号。SELECTDISTINCTSNoFROMSC[例3-26]查询全体学生的姓名、学号和年龄。SELECTSNName,SNo,AgeFROMSSELECTSNASName,SNo,Age2.4.2条件查询运算符含义=,>,<,>=,<=,!=,<>比较大小AND,OR,NOT多重条件BETWEENAND确定范围IN确定集合LIKE字符匹配ISNULL空值2.4.2.1比较大小例2.5查询选修课程号为‘C1‘
7、的学生的学号和成绩SELECTSNO,SCOREFROMSCWHERECNO=‘C1’例2.6查询成绩高于85分的学生的学号、课程号和成绩。SELECTSNO,CNO,SCOREFROMSCWHERESCORE>852.4.2.2多重条件查询当WHERE子句需要指定一个以上的查询条件时,则需要使用逻辑运算符AND、OR和NOT将其连结成复合的逻辑表达式。其优先级由高到低为:NOT、AND、OR,用户可以使用括号改变优先级。例2.7查询选修C1或C2且分数大于等于85分学生的的学号、课程号和成绩。SELECTSNO,CNO,S
8、COREFROMSCWHERE(CNO=’C1’ORCNO=’C2’ANDSCORE>=85))2.4.2.3确定范围例2.8查询工资在1000至1500间的教师的教师号姓名及职称SELECTTNO,TN,PROFFROMTWHERESALBETWEEN1000AND1500等价于SELE