《表格模板-子项目4表数据的管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-子项目4表数据的管理 精品.ppt(49页珍藏版)》请在第一文库网上搜索。
1、子项目子项目4表数据的管理表数据的管理情景描述l 根据需求分析的要求,实验室财务管理系统采用模块化管理,当需要添加新模块时,只需要在页面增加相应模块链接锚文本即可,这样的设计可以满足系统可扩展性的需要。l 该系统进行界面设计完成后,就可以编写功能代码,通过调用SQL语句完成数据表的增添、更新、删除操作。4.1增添记录增添记录l数据表是数据库存储数据的一种逻辑结构,数据表创建好后,往往是一张空表。因此,向表是添加数据是表操作的首要步骤 4.1.1 使用图形工具添加数据使用图形工具添加数据l(1)在对象资源管理器中,选中要添加数据的表tbuserinfo,右键,在弹出的快捷菜单中选择命令“打开表”
2、,如图4-2所示。l(2)在打开的表窗口内,根据字段的意义和字段的数据类型,输入用户信息。输入完毕后,单击工具栏上的,关闭窗口。l(3)再通过“打开表”菜单,在打开的表窗口内,可以检查数据是否保存成功。4.1.2 使用使用SQL语句添加数据语句添加数据l使用图形工具向表中添加数据是比较方便的,但是也容易产生一些错误。要完成实验室财务管理系统的开发,不可能使用手动方式去完成添加数据的操作,还需要使用程序调用SQL语句,向数据表中添加数据。l鼠标右键单击数据库tbuserinfo,选择快捷菜单中的“编写表脚本为”,在弹出的二级子菜单中选择“INSERT到”,在弹出的三级子菜单中选择“新查询编辑器窗
3、口”,出现如图4-3所示的窗口。l 所产生的代码如下:l INSERT INTO FM.dbo.tbuserinfol (useridl ,usernamel ,userpwdl ,usertypel ,userflag)l VALUESl (l ,l ,l ,l ,)l插入数据的语法格式为:lINSERT INTO 表名 l (字段列表)lVALUES (相应的值列表)l 增添记录的规则如下:l 1插入指定属性列时,插入数据的顺序必须与指定列顺序一致。l 2如果INSERT语句违反约束或规则,或者是插入的数据与该列定义的数据类型不兼容,则插入操作将失败,并且数据库引擎会提示错误信息。l 3如
4、果VALUES后面的值是字符型的,必须要用单引号引起来。l 4INSERT语句后可以使用SELECT(在后面章节会讲解)语句增添多条记录,但是一旦加载的值出现违反规则或约束的情况,就会导致终止整个语句,不会插入任何行。 (1)插入一条记录l -增加用户信息l INSERT INTO tbuserinfol (userid,username,userpwd,usertype,userflag)l VALUES(15,李华, 李华,2,1)l 方法二:l -打开实验室财务管理系统l USE FMl GOl -增加用户信息l INSERT INTO tbuserinfol VALUES(15,李华,
5、 李华,2,1)(2)插入多条记录l -打开实验室财务管理系统l USE FMl GOl -新建在读学生表l CREATE TABLE dbo.在读学生表(luserid bigint NOT NULL,lusername varchar(20) NULL,luserpwd varchar(20) NULL,lusertype char(2) NULL,luserflag char(1) NULLl ) l GOl INSERT INTO 在读学生表l SELECT *l FROM tbuserinfol where userflag=1l将代码输入查询窗口中,点击“执行”按钮,就可以看到消息
6、窗口提示:有多少行受到影响,说明执行成功。通过右键“在读学生表”,如图4-5所示,可以发现所有在读学生的信息。练习l1、向tbuserinfo表中添加记录lUserid 为20,username为张荣,userpwd为zhangrong, usertype为2, userflag为14.2更新记录更新记录l 更新操作是是实验室财务管理系统中必不可少的操作,例如,实验室每年都要送走和迎来一批学生,人员的改变就涉及到权限的更改,如下图4-6所示的用户管理界面所示。用户的分为三类,分别为:经费本管理人员、财务管理人员、一般人员,下面主要以“用户管理”模块为例,来说明更新记录的语法格式和基本操作方法。
7、4.2.1 使用图形工具更新记录使用图形工具更新记录l 对数据表中更新记录的操作和添加数据过程类似,可以通过以下步骤实现:l (1)选择要更新的数据库FM,展开表节点,选中tbuserinfo,右键,在打开的快捷菜单中选择“打开表”,可参见图4-2 “打开表”命令菜单。l (2)在打开的表窗口内,修改要更新的记录,然后单击工具栏上的 ,即可。l (3)再通过“打开表”菜单,在打开的表窗口内,可以检查数据是否更新成功。4.2.2 使用使用SQL语句更新记录语句更新记录l选择需要更新的数据库FM,展开表节点,鼠标右键单击需要更新的数据表tbuserinfo,选择“编写表脚本为”选项,弹出二级子菜单
8、单击“UPDATE到”,在弹出的三级子菜单中选择“新查询编辑器窗口”,出现如图4-7所示的窗口。l 图4-7 更新数据操作l 所产生的代码如下:l UPDATE FM.dbo.tbuserinfol SET userid = l ,username = l ,userpwd = l ,usertype = l ,userflag = l WHERE l经过总结,UPDATE的语法格式如下:l UPDATE 表名l SETl 列名 = 表达式 | DEFAULT | NULL ,.n l WHERE l更新记录的规则如下:l (1)如果对行的更新违反了某个约束,可者是与数据类型不一致,则取消该语
9、句、返回错误、修改就不会发生。l (2)当UPDATE语句在表达式求值过程中遇到算术错误(溢出、被零除或域错误)时,则不进行更新。(1)更新一行记录中的某一列l 在4.1章节里,我们增加了用户“李华”的基本信息,其中,李华的用户类型为2(一般人员),由于实验室有权限为财务管理人员的学生毕业,现将财务管理人员的权限赋予李华,其中,0经费本管理人员、1财务管理人员、2一般人员。具体的实现过程为:l -打开实验室财务管理系统l USE FMl GOl -更新数据l UPDATE tbuserinfol SET usertype =1l WHERE username=李华l GO练习l使用SQL语句,
10、向tbuserinfo表中插入一普通用户,然后再将其权限变为超级用户(2)更新一行记录l 在用户信息表内插入一条数据,但是由于不小心,只插入了用户编号userid为16,现使用UPDATE语句完善用户信息。l -打开实验室财务管理系统l USE FMl GOl -增加用户信息l INSERT INTO tbuserinfo(userid)l VALUES(16)l GOl -更新数据l UPDATE tbuserinfol set username=张欣,userpwd=ZX,usertype=2,userflag=1l where userid=16练习l首先在用户表中插入userid为30
11、,然后,再更新该用户的信息,username为李刚,userpwd为:ligang,usertype为1,userflag为1(3)更新所有记录中的某一列l在用户管理模块内,有一个重置密码的功能,如下图4-11所示,用户在忘记密码时,将这一情况反映给经费本管理人员,经费本管理人员将该用户的密码设置为0。但是在系统调试好后,要把所有的用户的密码重置为0,让用户能够登录系统,然后再由用户修改密码。 l所使用的SQL语句如下:l-打开实验室财务管理系统lUSE FMlGOl-重置密码lUPDATE tbuserinfolset userpwd=0lGO任务l将tbuserinfo表中,所有userf
12、lag为1的用户的usertype设置为24.3 删除记录l随着数据库的使用和对数据的修改,表中可能存在着一些无用的数据,这些数据不仅占用存储空间,还会影响修改和查询的速度。为了提高数据库的执行效率,需要经常对数据库中的数据进行清理,对数据库中不需要或是重复的数据进行删除。 l在实验室事件模块里,如果用户在此模块新增了实验室事件,在用户还没有提交的情况下,可以修改该事件的明细,如图4-13所示。本部分将以删除事件明细和FM数据库中在4.1所创建的“在读学生表”为例,说明删除记录的语法格式和基本操作方法。4.3.1 使用图形工具删除记录使用图形工具删除记录4.3.2 使用使用SQL语句删除记录语
13、句删除记录l 所产生的代码如下:l DELETEl FROM 表名l WHERE l DELETE是删除的关键词,表明该操作的性质;FROM表示要删除行来自的表;WHERE后面跟搜索条件,作用是指定待删除的记录应当满足的条件,当WHERE子句省略时,则删除表中的所有记录。l 删除记录的规则如下:l (1)如果DELETE语句在删除数据的时候,违反了某个约束,则会导致操作失败。如果使用DELETE语句删除了多行,而在删除的行中有任何一行违反某个约束或规则,则将取消该条语句的执行,返回错误且不删除任何行。l (2)若是没有指定WHERE条件,则删除表中的所有行。l (3)如果DELETE语句存在算
14、术错误,如溢出、被零除等,数据库引擎将处理这些错误。(1)删除一条记录l 删除事件明细界面,我们可以清楚的看到要删除表tbedetail中一条记录,经过查找,该记录所对应的实验室编号(ed_id)为38,删除的SQL代码为:l -打开实验室财务管理系统l USE FMl GOl -删除数据l DELETE FROM tbedetaill WHERE ed_id=38l GO练习l删除tbedetail表中ed_id为10的事件明细(2)删除多条记录l 在“在读学生表”内存储的是还没有毕业学生的信息,他们的权限有三种:0经费本管理人员、1财务管理人员、2一般人员。现在我们要将所有一般人员删除,统计经费本管理人员和财务管理人员的信息。SQL代码如下:l -打开实验室财务管理系统l USE FMl GOl -删除数据l DELETE FROM 在读学生表l WHERE usertype=2l GO练习l删除“在读学生表”中所有权限为1的用户(3)删除表内所有数据l在统计完“在读学生表”的信息后,需要对该表进行清理,删除该表内的所有数据,具体操作如下:l -打开实验室财务管理系统l USE FMl GOl -删除数据l DELETE FROM 在读学生表练习l新建超级用户表,tbuserinfo中的所有超级用户的信息插入到该表中,然后使用删除语句将其删除