您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 06sql server表格中数据
第六章编辑维护表格数据任务的提出在本章,我们将在上一章实现的《晓灵学生管理系统》数据库和各基本表的基础上,输入各相关数据。在输入的过程中,讲解数据的插入、删除与修改的各种方法。最后我们要对晓灵学生管理系统所涉及的数据进行查询或检索,因为我们在数据库中存储数据并不是目的,我们更观注于对数据的查询和使用本节目标:Insert添加表格数据Update实现数据的修改Delete删除表格数据本节重点Insert添加表格数据Update实现数据的修改Delete删除表格数据本节难点:添加、修改、删除数据时的级联操作简单的insert语法语法:Insertinto表名values(列的值,列的值)例:insertinto学生表values(‘4001’,‘李超’,‘男’,22,‘网络','15098912449','山东济南','团员')实例1insertinto学生表values(‘4004’,‘张飞’,‘女’,30,‘网络','15098912449','山东济南','团员')说明:这个语句依然执行成功。服务器不会找到这个错误,因为这两列的数据类型一致或者相兼容。而服务器不会从字面意义上来识别错误的。由于这种错误经常出现,而且难以被发现,所以,建议在使用insert语句时最好列出插入数值列的名字。插入特定的列语法:Insertinto表名(列名,列名,列名…)values(列值,列值,列值….)例:insertinto学生表(学号,姓名,性别,年龄,专业)values('4005','徐焦','女',30,'高全')插入数据行7-1InSert[INTO]表名[列名]Values值列表INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('张青裁','上海松江',6,'ZQC@Sohu.com',0)插入数据行7-2注意事项1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('张青裁')代码错误插入数据行7-3注意事项2:每个数据值的数据类型、精度和小数位数必须与相应的列匹配;INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('张青裁','上海松江',ZQC,'ZQC@Sohu.com','ZG')代码错误实例2:标识列insertinto学生表(学号,姓名,性别,年龄,专业)values('4005','徐焦','女',30,'高全')说明:如果在一表中存在定义为标识列,那么该列再插入数据时必须省略该列的列名和列值若学号设置了标识列,则上面的语句运行错误插入数据行7-4注意事项3:不能为标识列指定值,因为它的数字是自动增长的;INSERTINTOStudents(SCode,SName,SAddress,SGrade,SEmail,SSEX)VALUES(32,'张青裁','上海松江',6,'ZQC@Sohu.com',0)代码错误实例3:非空列insertinto学生表(学号,性别,年龄,专业)values('4005','女',30,'高全')如果在一表中存在定义为notnull的数据列,那么该列的值必须要出现在values的列表中。否则,服务器会给出错误提示,操作失败。如果姓名列是非空列则上面的语句将运行错误插入数据行7-5注意事项4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据;INSERTINTOStudents(SAddress,SGrade,SEmail,SSEX)VALUES('上海松江',6,'ZQC@Sohu.com',0)代码错误实例4:数据完整性语句1、insertinto学生表(学号,姓名,性别,年龄,专业)values(‘4005’,‘周亮’,‘男’,20,'音乐')说明:如果要写入数据的表的列添加了数据完整性约束,那么要写入的数据必须符合约束的要求如果在专业表和学生表是参照关系,在专业表中没有音乐这个专业,则上面的语句错误。用户自定义约束insertinto学生表(学号,姓名,性别,年龄,专业)values(‘4005’,‘周亮’,‘男’,30,'音乐')说明:如果在用户自定义约束中定义年龄必须在15到25之间(check(年龄15and年龄25)),则上面的语句错误插入数据行7-6注意事项5:插入的数据项,要求符合检查约束的要求INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('张青裁','上海松江',6,'ZQC',0)代码错误实例5:默认值insertintostudent(sno,sname,sage,sdept)values(‘001’,‘周亮',20,'网络')说明:若某列设置了默认值,则可以省略该列名和列值如果性别设置了默认值‘女’,并且是notnull(不能为空)则上面的语句是正确的插入数据行7-7注意事项6:具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES('张青裁',DEFAULT,6,'ZQC@Sohu.com',0)小结1编写SQL语句,把你自己的信息插入到学员信息表中总结1、列值和列名的排列顺序必须一致。2、列值和列名中列的个数必须相等。3、列值和列名中列的数据类型必须一致或可转换。4、若列中含有默认值或含有标识列,则列名及其对应的列值应省略5、若存在定义为非空的数据列,那么values列表中必须写出该列的值。6、有数据完整性约束的列,一定要符合数据完整性中约束的要求使用update实现数据的修改当需要修改表中一列或多列的值时,可以使用update语句.Update表名set列名=列的值,列名=列值where条件使用update实现数据的修改例1.updatestudentsetsdept=‘高全'wheresno=‘104‘updatestudentsetsdept='清网'fromstudentwheresno=‘110'使用update实现数据的修改例2:不加where字句,update语句会修改表中的每一行数据updatestudentsetsname=‘刘晓庆’结果将学生表中所有学生的姓名都改成了刘晓庆,这种情况只是在将一列的值改为相同的值时用。一般情况下要加上条件例3一次更新表中的多个列usexinwanggoupdatestudent1setsname='小犬',sage='8',ssex='女',sdept='小日本'wheresno='102'使用delete删除表中的数据当要从表中删除数据时,最常用的方法是使用delete语句Deletefrom表名where条件没有带where子句的delete语句将会删除这个表的每一行数据使用delete删除表中的数据例1:删除一条记录useqingwanggoDeletefromstudentwheresno='102‘说明:删除学生表学号为102的记录;使用delete删除表中的数据例2:删除多条记录usexinwanggodeletefromstudent2wheressex='女'说明:删除学生表中所有的数据,使其成为一个空表另:子查询同样嵌套在delete字句中,用以执行删除操作的条件。例2:删除所有的记录usexinwanggodeletefromstudent2注意:省略where子句的delete语句将会删除这个表的每一行。所以使用delete语句要小心,因为数据将从数据库中永远的删除。删除时,当删除被参照关系的某一行时,而参照关系存在若干行,且外键列的值与主键列的值相同,这时你单独删除外键的值是删除不掉的。如果要删除外键的值有如下三种方法:1、级联删除2、受限删除3、置空值删除级联删除如果想删除主表中的数据时,要先将从表中的外键值与主表中主键值相同的行删除,再删除主表中的数据。例如:我要将学生表中学号为001的学生的基本信息删除,那么我就要先在成绩表中删除学号为001的学生的成绩,然后在学生表中删除他的信息受限删除如果要删除的主表中的数据,外键值在主表的主键值中没有。可以直接删除,否则不可以删除也就是说从表中的数据不受限制,我可以任意删除。主表中的数据受限制,删除时要先看这个值在从表中是否有相同的数据使用truncatetable清空表格Truncatetable语句可以删除表格中所有的数据,只留下一个表格定义。Truncatetable表名使用truncatetable清空表格Truncatetablestudent1例:Truncatetablestuent1注意:Truncatetable语句可以删除表格中所有的数据,只留下一个表格定义。Truncatetable和DELETE语句的区别:1、Truncatetable不记录事务日志。2、Truncatetable删除记录后,标识列重新开始计数。3、DELETE语句锁定行,Truncatetable不锁定行,只锁定表和页。4、若其它表中外键指向的该表,则不能用Truncatetable删除。使用企业管理器管理表格数据1。返回所有行2。返回指定前面的n行数据。3。在属性里面可以设置属性,如重新和设置distinct关键字4。在关系图中练习,排序。总结本节目标:Insert添加表格数据Update实现数据的修改Delete删除表格数据预习第四章:4.4数据查询(P79----P86)上机目标编写SQL语句,完成BBS数据库常见的增加、修改和删除操作教员复习表结构、讲解上机任务训练技能点为数据库表编写SQL语句增加单行数据和多行数据使用SQL语句删除数据训练要点使用InSert语句向数据库表插入数据需求说明在BBSUsers表中插入以下的数据(1-2行):阶段1用户名密码EMail生日性别等级备注注册日期状态积分火云邪神hyxs007HYXS@HotMail.com1978-7-911快…2005-8-9120000小艾xiaoai888xiaoai@hotmail.com1982-3-101我是小艾2004-8-121000东方不败fangdongdfbb@sohu.com1975-8-2113没败过2005-7-2742239SupperMastermasterspermaster@p.com1981-2-12116BBS版主2003-1-1150000阶段1演示插入的代码完成时间:15分钟INSERTINTOBBSUsers(UName,UPassword,UEmail,UBirthday,USex,UClass,UStatement,URegDate,UState,UPoint)VALUES('火云邪神','hyxs007','HYXS@HotMail.com','1978-7-9',1,1,'快…','2005-8-9',1,20000)阶段1共性问题集中讲解SQL中的豆号为英文豆号,不能是中文逗号日期数据项、字符数据,需要加英文的单引号引起来需求说明:1.编写创建版面的SQL语句2.创建的版面要求:阶段2完成时间:15分钟版块名称版主ID本版格言点击数贴子数物品交易3买卖有风险、入市请慎重00综合讨论2有话就说00上机练习1、先创建学生表编号为主键,而且是标识列姓名是非空的性别是男,女,非男非女,半男半女年龄只能是15到30专业默认为网络成绩表学生号课程号成绩学生号,课程号同为主键。学生号,课程号分别为外键上机练习插入数据:将班里学生的信息插入表中(按正确的信息输入
本文标题:06sql server表格中数据
链接地址:https://www.777doc.com/doc-1228200 .html