版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 用SQL语句操作数据建立数据库表之间的主外键关系是为了维护数据库的哪种完整性?年龄信息、性别信息分别采用哪种数据类型存储比较合适?限制年龄在18-40岁之间的检查约束表达式如何写?完整地设置数据库表的需要哪几个步骤?回顾和作业点评SQL语句的作用是什么?插入语句使用的是INSERT、UPDATE还是DELETE?TRUNCATE语句的作用是什么?预习检查学生数据库中数据的增加、修改和删除数据本章任务使用T-SQL向表中插入数据使用T-SQL更新表中数据使用T-SQL删除表中数据本章目标SQL是什么?Structured Query Language:结构化查询语言为何要使用SQL?难道
2、仅仅使用SQL Server Management Studio操作数据库?应用程序如何与数据库打交道?何时使用?对SQL Server执行所有的操作都可以程序中的增删改查怎么使用?SQL简介T-SQL :Transact-SQLT-SQL是SQL的增强版对功能进行了扩充:如变量说明、流程控制、功能函数SQL和T-SQLDML(数据操作语言)插入、删除和修改数据库中的数据DCL(数据控制语言) 用来控制存取许可、存取权限等DQL(数据查询语言)用来查询数据库中的数据DDL(数据定义语言)用来建立数据库、数据库对象和定义表的列SQL的组成INSERT、 UPDATE 、DELETE等GRANT、
3、REVOKE 等CREATE TABLE 、DROP TABLE 等SELECT 等SQL中的运算符3-1算术运算符 运算符说 明+加运算,求两个数或表达式相加的和,如6+8-减运算,求两个数或表达式相减的差 *乘运算,求两个数或表达式相乘的积 /除运算,求两个数或表达式相除的商,如5/3的值为1%取模运算,求两个数或表达式相除的余数,如:5%3的值为2 运算符一种符号,它是用来进行列间或者变量之间的比较和数学运算的 算术运算符、赋值运算符、比较运算符、逻辑运算符 SQL中的运算符3-2运算符说 明=把一个数或变量或表达式赋值给另一变量,如:Name=王华 赋值运算符运算符说 明AND当且仅当
4、两个布尔表达式都为true时,返回TRUE。OR当且仅当两个布尔表达式都为false,返回FALSE。NOT对布尔表达式的值取反 逻辑运算符SQL中的运算符3-3比较运算符运算符说 明=等于,例如:age=23 大于,例如:price100 小于 不等于=大于等于=小于等于!=不等于(非SQL-92标准 )语法检查数据库对象执行选择数据库T-SQL执行结果查询窗口的介绍调试INSERT INTO 表名 (列名) VALUES (值列表)INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁,上海松江,6, ,0)
5、 向学生表中插入一行数据插入数据行语法演示示例1:插入一条学生记录注意事项1:每次插入一行数据,不能只插入半行或者几列数据插入的数据是否有效将按照整行的完整性的要求来检验INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁) 代码错误 插入数据行注意事项3-1注意事项2:每个数据值的数据类型、精度和小数位数必须与相应的列匹配INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁,上海松江,ZQC, , ZG) 代码错误插入数据行注
6、意事项3-2注意事项3:不能为标识列指定值INSERT INTO Students (SCode,SName,SAddress,SGrade,SEmail,SSEX) VALUES (32,张青裁,上海松江,6, ,0) 代码错误注意事项4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据INSERT INTO Students (SAddress,SGrade,SEmail,SSEX) VALUES (上海松江,6, ,0) 代码错误插入数据行注意事项3-3注意事项5:插入的数据项,要求符合检查约束的要求INSERT INTO Students (SName,SAddress,SGr
7、ade,SEmail,SSEX) VALUES (张青裁,上海松江,6,ZQC,0)代码错误注意事项6:具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值INSERT INTO Students (SName,SAddress,SGrade,SEmail,SSEX) VALUES (张青裁,DEFAULT,6, ,0)指导增加学生记录2-1训练要点:使用INSERT语句向数据库表插入数据 需求说明:在Student表中使用T-SQL插入如下数据 学 号密码姓名性别年级联系电话现住址生 日电子邮件S1200902001zhangsan张三男1 解放路1990-1-1 S1200
8、902002lisi89李四男1 长江路1989-2-1S1200902003(默认值)王五男1 (默认值)1988-5-3S1200902004wanglili王丽丽女1 (默认值)1987-6-2 S1200902005(默认值)张峰男1 (默认值)1991-8-8讲解需求说明指导增加学生记录2-2难点分析默认值的插入方式、日期型数据的插入方式、允许空值的列插入方式完成时间:20分钟INSERT INTO Student (StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate)VALUES (S120090200
9、5,DEFAULT,张峰, 男,1, ,DEFAULT, 1987-6-2)INSERT INTO AddressList (姓名,地址,电子邮件) SELECT SName,SAddress,SEmailFROM StudentsINSERT INTO (列名)SELECT FROM 插入多行数据 4-1第一种方法通过INSERT SELECT语句将现有表中的数据添加到已存在的表中演示示例2:插入多条学生记录SELECT Students.SName,Students.SAddress,Students.SEmailINTO AddressList FROM StudentsSELECT (
10、列名)INTO FROM 插入多行数据 4-2第二种方法通过SELECT INTO语句将现有表中的数据添加到新表中该语句可以执行两次吗?演示示例2:插入多条学生记录INSERT STUDENTS (SName,SGrade,SSex)SELECT 张可,7,1 UNIONSELECT 李扬,4,0 UNIONSELECT 杨晓,2,0 UNIONSELECT 汤美,3,0 UNIONSELECT 苏三东,7,1 UNIONSELECT 王立岩,3,1 UNIONSELECT 张伟,7,1 UNIONSELECT 陈刚,4,1 UNIONSELECT 王娟娟,7,0INSERT INTO (列名
11、)SELECT UNIONSELECT UNION插入多行数据 4-3第三种方法通过UNION关键字合并数据进行插入演示示例2:插入多条学生记录练习创建学生通讯录需求说明:根据学生信息表Student,使用INSERT SELECT语句创建通讯录表Address_IS。根据学生信息表Student,使用SELECT INTO语句创建通讯录表Address_SI。保存T-SQL为“创建通讯录.sql” 文件。完成时间:10分钟练习增加科目需求说明:在Subject表中使用T-SQL插入如下数据 保存T-SQL为“增加科目记录.sql” 文件 完成时间:10分钟科目名称课 时所属年级Subject
12、NameClassHourGradeId走进Java编程世界401HTML和CSS网页技术601练习增加成绩信息需求说明:在Result表中使用T-SQL插入如下数据 保存T-SQL为“增加成绩记录.sql” 文件 完成时间:10分钟学 号所考科目分 数考试日期StudentNoSubjectIdStudentResultExamDateS12009020011802009-9-13S12009020021452009-9-13S12009020012902009-10-18S12009020022602009-10-18UPDATE 表名 SET 列名 = 更新值 WHERE 更新条件UPD
13、ATE Students SET SSEX = 0UPDATE Students SET SAddress =北京女子职业技术学校家政班 WHERE SAddress = 北京女子职业技术学校刺绣班UPDATE ScoresSET Scores = Scores + 5WHERE Scores = 95使用UPDATE更新数据行演示示例3:修改记录指导修改学生记录2-1训练要点:使用UPDATE语句修改数据库表中的数据 需求说明:修改学生的住址修改学生的所属年级修改某课程的学时数提高某课程分数修改某学生分数修改空值的记录 讲解需求说明指导修改学生记录2-2难点分析多条件的联合使用AND日期的比
14、较判断列是否为空 WHERE ExamDate=2009-9-13 AND SubjectId=1 AND StudentResult60 WHERE ExamDate=2009-9-13 WHERE Email IS NULL OR Email= 完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解DELETE FROM 表名 WHERE DELETE FROM Students WHERE SName =张青裁DELETE FROM 学生信息表 WHERE 学号 =0010012运行错误河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜00
15、10014湖南新田吴兰0010013山东定陶李山0010012.地址姓名学号980010016数学810010013语文670010012语文740010013数学880010012数学.分数学号科目使用DELETE删除数据行子表中存在对应数据!演示示例4:删除学生记录以下的删除语句可以执行吗?DELETE SCode FROM Students思考不能TRUNCATE TABLE 表名TRUNCATE TABLE StudentsDELETE FROM Students=功能类似注意:1.表结构、列、约束等不被改动2.不能用于有外键约束的表 3.标识列重新开始编号使用TRUNCATE删除数据行演示示例4:删除学生记录练习删除学生记录需求说明:学校要求不允许1991年7月1日后出生的学生入学 保存T-SQL为“删除记录.sql” 文件 完成时间:5分钟导出数据操作演示:导出数据为.TXT文件导入数据操作演示:导入.xls文件数据练习导入Excel数据需求说明:将提供的素材文件Subject.xls导入到数据库表Subject中将提供的素材文件Student.xl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东交科检测有限公司招聘备考题库含答案详解
- 2026年天津市肿瘤医院健康管理中心外包岗位招聘备考题库含答案详解
- 2026年东莞市东城实业集团有限公司招聘备考题库及答案详解参考
- 2026年北部湾大学招聘体育学院专任教师备考题库完整参考答案详解
- 2026年吉林生物能源(榆树)有限公司招聘备考题库附答案详解
- 2026年广东省阳江市江城第一中学公开引进高层次(急需紧缺)人才9人备考题库完整参考答案详解
- 2026年国投颐康(北京)养老投资有限公司招聘备考题库及一套完整答案详解
- 人事股建立权利内控制度
- 市县内控制度
- 综合科内控制度
- 未分化型精神分裂症的护理查房
- 合肥机床行业现状分析
- 国家开放大学《森林保护》形考任务1-4参考答案
- GB 31604.1-2023食品安全国家标准食品接触材料及制品迁移试验通则
- 殡葬服务心得体会 殡仪馆工作心得体会
- 工控组态技术及应用-MCGS模块三MCGS模拟量组态基本知识课件
- 电力线路维护检修规程
- YC/T 405.2-2011烟草及烟草制品多种农药残留量的测定第2部分:有机氯和拟除虫菊酯农药残留量的测定气相色谱法
- 医院信息系统操作权限分级管理制度
- 养殖场管理制度
- 《红星照耀中国》教案
评论
0/150
提交评论