欢迎来到天天文库
浏览记录
ID:38850030
大小:312.50 KB
页数:92页
时间:2019-06-20
《SQL语句基础之DML》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章SQL语句基础之DML授课人:吴志霞电话:15305553060QQ:1035837738http://blog.sina.com.cn/helenmist课程目标熟练掌握及运用SQL语句,进行数据的查询及管理课程内容数据管理SQL语句数据查询SQL语句课时安排理论:4学时实践:4学时授课方法案例演示数据管理数据的插入数据的修改数据的删除数据的插入两种插入数据方式1.插入元组2.插入子查询结果插入元组语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)功能将新元组插入指定表中示例IN
2、SERINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('200215128','陈冬','男','IS',18)注意事项INTO子句属性列的顺序可与表定义中的顺序不一致没有指定属性列指定部分属性列VALUES子句提供的值必须与INTO子句匹配值的个数值的类型课堂练习[例1]插入一条课程记录(‘1’,‘计算机英语')。[例2]插入一条选课记('200215128','1')。插入子查询结果语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]子查询功能将子查询结果插入指定表中注意事项INTO子句
3、(与插入元组类似)子查询SELECT子句目标列必须与INTO子句匹配值的个数值的类型示例对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:建表CREATETABLEDept_age(SdeptCHAR(20)/*系名*/Avg_ageSMALLINT);/*学生平均年龄*/第二步:插入数据INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;修改数据语句格式UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条
4、件>]功能修改指定表中满足WHERE子句条件的元组三种修改方式1.修改某一个元组的值2.修改多个元组的值3.带子查询的修改语句示例[例]将学生200215126的年龄改为22岁UPDATEStudentSETSage=22WHERESno=‘200215126’[例]将所有学生的年龄增加1岁UPDATEStudentSETSage=Sage+1[例]将计算机科学系全体学生的成绩置零。UPDATESCSETGrade=0WHERE‘IS'=(SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno)删除数据语句格式DELE
5、TEFROM<表名>[WHERE<条件>];功能删除指定表中满足WHERE子句条件的元组WHERE子句指定要删除的元组缺省表示要删除表中的全部元组,表的定义仍在字典中三种删除方式1.删除某一个元组的值2.删除多个元组的值3.带子查询的删除语句示例[例]删除学号为200215128的学生记录。DELETEFROMStudentWHERESno=‘200215128’[例]删除所有的学生选课记录。DELETEFROMSC;[例]删除计算机科学系所有学生的选课记录。DELETEFROMSCWHERE'CS'=(SELETESdeptFROMStudentWHE
6、REStudent.Sno=SC.Sno);数据查询语句格式SELECT[ALL
7、DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC
8、DESC]];数据查询单表查询连接查询嵌套查询集合查询Select语句的一般形式单表查询查询仅涉及一个表:一、选择表中的若干列二、选择表中的若干元组三、ORDERBY子句四、聚集函数五、GROUPBY子句选择表中的若干列——查询指定列[例1]查询全体
9、学生的学号与姓名。SELECTSno,SnameFROMStudent;选择表中的若干列——查询全部列方法一:在SELECT关键字后面列出所有列名方法二:<目标列表达式>指定为*[例]查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;〈==〉SELECT*FROMStudent;选择表中的若干列——查询经过计算的值SELECT子句的<目标列表达式>可以为:算术表达式字符串常量函数列别名[例]查全体学生的姓名及其出生年份。SELECTSname,2009-Sage/*假定当年的年份为2009年*/
10、FROMStudent;选择表中的若干列——查询经过计算的值(示例)[例]查询全
此文档下载收益归作者所有