9.5 直接数据操纵范文
Lesson07_操纵数据

操纵数据使用DML语句(INSERT,UPDATE,DELETE)可以操纵表和视图的数据。
一.插入数据当给表增加数据时,可以使用INSERT语句。
使用INSERT语句既可以为表插入单行数据,也可以通过子查询将一张表的多行数据插入到另一张表。
从Oracle Database 9i开始,Oracle还提供了多表插入功能,即使用一条INSERT语句同时为多张表插入数据。
但使用INSERT语句有以下一些注意事项:●如果为数字列插入数据,则可以直接提供数字值;如果为字符列或日期列插入数据,则必须用单引号引住●当插入数据时,数据必须要满足约束规则,并且必须为主键列和NOTNULL列提供数据●当插入数据时,数据必须要与列的个数和顺序保持一致1.使用VALUES子句插入数据INSERT INTO <table> [(column[,column,…])] VALUES(value[,value,…]) ✓不使用列列表插入数据INSERT INTO dept VALUES(50,’TRAIN’,’BOSTON’)✓使用列列表插入单行数据INSERT INTO emp(empno,ename,job,hiredate)VALUES(1234,’JOHN’,’CLERK’,’01-3月-86’);✓使用特定格式插入日期值INSERT INTO emp(empno,ename,job hiredate)VALUES(1356,’MARY’,’CLERK’,to_date(‘1983-10-20’,’YYYY-MM-DD’));✓使用DEFAULT提供数据INSERT INTO dept VALUES(60,’MARKET’,DEFAULT);✓使用替代变量插入数据(建立如下的sql脚本a.sql)ACCEPT no PROMPT ‘请输入雇员号:’ACCEPT name PROMPT ‘请输入雇员名:’ACCEPT title PROMPT ‘请输入雇员岗位:’ACCEPT d_no PROMPT ‘请输入部门号:’INSERT INTO emp(empno,ename,job,hiredate,deptno)VALUES(&no,’&name’,’&title’,SYSDATE,&d_no)运行该脚本2.使用子查询插入数据INSERT INTO <table> [(column[,column,…])] subQuery✓使用子查询插入数据INSERT INTO employee(empno,ename,sal,deptno)SELECT empno,ename,sal,deptno FROM empWHERE deptno=20;✓使用子查询执行直接装载INSERT /*+APPEND*/ INTO employee (empno,ename,sal,deptno)SELECT empno,ename,sal,deptno FROM empWHERE deptno=20;说明:尽管以上两种语句执行结果一样,但第二条语句使用/*+APPEND*/表示采用直接装载方式,当装载大批量数据时,采用第二种方法装载数据的速度要远远优于第一种方法。
实验二 SQL数据操纵

实验二:练习SQL数据操纵功能一、实验目的1、熟练掌握单表查询及复杂查询2、熟练掌握嵌套查询二、实验内容及要求1.1994到1995年出生的学生姓名select sname from student where year(sbirthday)between 1994 and 1995;2.查询1994、1995年的学生学号和姓名select sname,sno from student where year(sbirthday)=1994 oryear(sbirthday)=1996;3.查询姓刘'CS'系的姓名和性别select sname,ssex from student where sdept='CS'and sname like'刘%';4.统计选课002的总人数select count(distinct sno)from SC where cno='002';5.统计选课002且成绩大于平均成绩的人数和平均成绩select count(distinct sno),avg(grade)from scwhere cno='002'and grade>(select avg(grade)from sc where cno='002');6.求各门课程的平均成绩select cno,avg(grade)from sc group by cno;7.求各成绩大于其平均成绩的学号,课程号和成绩。
select sno,cno,grade from sc xwhere grade >=(select avg(grade)from sc y where y.sno=x.sno);8.查询各系男生总人数及平均年龄,按系降序排列select sdept,count(sno),avg(sage)from studentwhere ssex ='男'group by sdept order by avg(sage)desc;9.查询成绩大于75的学生的学号,姓名,性别,课程号和成绩select student.sno,sname,ssex,cno,gradefrom student,scwhere student.sno=sc.sno and sc.grade>75;10.查询及格学生名单,并按成绩降序排列select student.sno,sname,grade from student,scwhere student.sno=sc.sno and sc.grade>=60 order by grade desc;。
实验5 SQL的数据操纵功能

实验5 SQL的数据操纵功能实验目的学会使用MS SQL SERVER 2000的查询分析器完成SQL的数据操纵功能,主要包括数据插入、删除与修改。
知识点拨:1.数据插入语法格式:2.数据修改语法格式:3.数据删除语法格式:4.SELECT … INTO…语句的使用:实验内容1.数据插入2.数据修改3.数据删除4.SELECT … INTO…语句:实验步骤1.选择数据库JX;注意:以下操作请验证结果!2.数据插入:1)向学生表加入一条记录,其学号、姓名、性别和系别分别为:(’06011’,’王文娟’,’女’,’计算机’);INSERTINTO Student(Sno,Sname,Ssex,Sdept)V ALUES('06011','陈东','女','计算机')2)向学生表加入一条记录,其姓名、性别和系别分别为:(’王娟’,’女’,’计算机’),观察运行结果;无法将NULL 值插入列'Sno',表'JX.dbo.Student';该列不允许空值。
INSERT 失败。
语句已终止。
3)创建一个与学生信息表结构完全相同的基本表CP_Student,用以存储计算机和外国语系学生信息;CREATE TABLE CP_Student(Sno char(5) Not Null,Sname varchar(10) Null,Ssex char(2) NULL,Sbirth smalldatetime Null,Sdept varchar(20) Null,Total smallint Null)4)将Student中计算机系和外国语系的学生信息插入到CP_Student;INSERTINTO CP_StudentSELECT *FROM StudentWHERE Sdept='计算机' OR Sdept='外国语'3.数据修改:1)把教师“王芳”改为“王芳龄”;UPDATE TeacherSET Tname='王芳龄'WHERE Tname='王芳'2)将职称是副教授的教师工资提高2%;UPDATE TeacherSET Tpay=Tpay*1.02WHERE Tprof='副教授'3)将计算机系和外国语系学生的考试成绩分别下调4%和增加2分;UPDATE CP_StudentSET Total=Total*0.96WHERE Sdept='计算机'UPDATE CP_StudentSET Total=Total+2WHERE Sdept='外国语'4)把李强同学的所有分数都加1分;(可使用UPDA TE。
数据操纵语言

4.2.4 DELETE语句 DELETE语句用来删除表中的数据,一次可以 删除一行或多行。 1. DELETE语句的格式 DELETE [FROM] table_name [WHERE search_conditions]
2. 格式说明 ①[FROM]是任选项,用来增加可读性。 ②table_name指出将要从哪个表中删除数据。 例如,如下语句将删除表tb_bookshort中的所 有行: DELETE FROM tb_bookshort
删除表中的所有行 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事 务日志资源少 在表中包含大字段(BLOB,CLOB)的情况下,尤其 有用。
SQL的数据修改功能:更新操作
命令
update 表名 set 列名 = 表达式 | 子查询 列名 = [,表达式 | 子查询]… [where 条件表达式] 指定对哪些列进行更新,以及更新后的值是什么
示例
老师工资上调5% update PROF set SAL = SAL * 1.05
更新操作
将D01系系主任的工资改为该系的平均工资
update PROF set SAL = (select avg(SAL) from PROF where DNO = D01) where PNO = (select DEAN from DEPT where DNO = D01)
假定有一个表tb_bookshort,其中包含三个字段,定 ,其中包含三个字段, 假定有一个表 义如下: 义如下: BookID(Char,6), Bookname(Char,30), Price(Decimal,18,2) 假 定 该 表 中 bookID 列 和 bookname 列 的 数 据 与 表 tb_bookinfo 中的相应列数据相同 tb_bookinfo中的相应列数据相同 , 而 price列的值 中的相应列数据相同, price 列的值 需按tb_bookinfo中的 中的price列修改 , 则可以使用如 列修改, 需按 中的 列修改 下语句: 下语句: UPDATE tb_bookshort SET price=tb_bookinfo.price FROM tb_bookshort JOIN tb_bookinfo ON tb_bookshort.bookID=tb_bookinfo.bookID
EXCEL上机作业5个范文

实验一EXCEL2003 基本操作一.实验目的1.掌握EXCEL2003的启动和退出操作2.熟悉EXCEL2003的窗口界面。
3.掌握工作簿的新建、打开、关闭与保存操作4.掌握不同类型数据的输入方法及填充技巧5.掌握单元格内容的编辑、清除、复制移动、查找替换操作二.实验内容1.启动EXCEL2003 。
2.认识EXCEL2003 窗口界面将工作簿窗口由最大化变为还原显示观察工作簿的文件名、工作簿窗口的控制图标及控制菜单找出当前工作簿名,当前工作表名,当前活动单元格在A5中输入429.38,观察数据编辑栏的显示。
显示或隐藏“图表”工具栏按下Home、Ctrl+Home、Ctrl+End、Ctrl+↑、Ctrl+↓、Ctrl+←、Ctrl+→组合键,观察当前单元格的变化。
3.工作簿操作创建一个新的工作簿在新工作簿的sheet1表中输入如下数据将新建的工作簿以文件名“姓名实验1”保存在E盘的班级文件夹中。
4.数据编辑打开工作簿文件:姓名实验1.xls以填充序列数的方法产生各学生的编号05001、05002、05003…、05012、05013 将工作表sheet1中的“期中成绩”改为“大学语文”,将“期末成绩”改为“平图4- 1均成绩”、D8格的889改为89在“李少波”和“黄玉梅”间插入一空行,输入一名学生的姓名及相应成绩,内容自定在工作表sheet1的A列前插入一列,在单元格A1输入“小组”,在单元格A2、A6、A10分别输入第一组、第二组、第三组。
将单元格A2中的数据复制到单元格区域A3:A5,将单元格A6中复制到单元格区域A7:A10,将单元格A11中的数据复制到单元格区域A12:A14(方法:复制粘贴法、CTRL+鼠标拖动法、填充柄拖动法)清除“平均成绩”列中的内容删除‘总评成绩’列应用序列填充将“编号”列中的内容加上前缀“机电”,即“机电05001”在第一行之前插入一行,输入:初三(1)班2005春成绩表保存文件退出EXCEL2003 。
fortran90数据文件的操作上机

0.85, 6.75; 1.62, 7.88; 3.27, 4.44; 4.44, 7.89; 5.28, 9.87; 6.11, 8.46; 7.80,21.50 【要求】 1.源程序必须放在文件MYF2.F90文件中。 2.建立数据文件MYF2.DAT,所需输入数据即从该文件中读出 3.程序运行结果存于文件MYF2.OUT中 4.数据文件的打开、使用、关闭均要求采用FORTRAN语言文 件管理语句实现 【注意】本题完成后必须将MYF2.F90、MYF2.DAT、MYF2.OUT等文件拷贝到考
tg ( x )
8x ( 2 n 1)
2 2
n0
4x
2
将上式右端编写成外部过程。当级数通项的绝对值小于 eps=1E-10时停止计算。在同一行上,x用F6.3,级数之和 及用于验证的内部函数TAN(X)用F10.5格式输出。用于计算 的数据存放在文件MYF2.DAT中,从该文件输入的x的值为: 0.358 0.593 -0.665 0.785 0.993 -1.012 1.109 【要求】 1.源程序必须放在文件MYF2.F90文件中。 2.建立数据文件MYF2.DAT,所需输入数据即从该文件中读出 3.程序运行结果存于文件MYF2.OUT中 4.数据文件的打开、使用、关闭均要求采用FORTRAN语言文 件管理语句实现 【注意】本题完成后必须将MYF2.F90、MYF2.DAT、 MYF2.OUT、MYF2.EXE等文件拷贝到考试盘的根目录下供 阅卷用。
试盘(盘符为T:)的根目录下供阅卷用。
功能:解除文件号与文件的连接关系。 写法:CLOSE(关闭信息表) 关闭信息表主要有下列说明符: UNIT=ut IOSTAT=it 为可选项
STATUS=ss。指定文件关闭后是否保留。为可选项,SS 可为KEEP或DELETE,默认除SCRATCH全部保留。
InformaticaDataQuality9.5
InformaticaDataQuality9.5Informatica Data Quality 9.5特征:数据管理收件箱和工作流功能:●交付数据管理仪表盘,推动数据相关问题的简单快速解决●提供综合的任务工作流,简化数据质量问题的解决过程优势:●有效地向全企业内的相关人员分配质量管理任务,为治理计划提供支持●实现数据所有权和责任体系●驱动业务和IT 部门合作,为治理流程提供支持●实现协调数据问题所需步骤的自动化和减少人工干预特征:可嵌入记分卡功能:●在任何web 应用程序中快速轻松地嵌入上下文数据记分卡●压缩数据(可达98%)●提供从SAP Netweaver Business Warehouse 接口对此数据的无缝访问,无需数据的恢复优势:●实现协调问题所需步骤的自动化●减少人工干预●将数据质量直接融入业务流程特征:企业发现功能:●推断企业数据内部的功能性含义●自动执行识别关键元数据元素的流程●自动执行整个企业数据环境内的数据探查流程优势:●提高对数据问题和异状的觉察能力●通过识别敏感数据降低风险●拓宽数据发现工作的范围,简化数据探查流程,加快价值实现时间●提高识别数据异常的准确性●加速数据质量和MDM 项目的价值实现时间特征:自然语言处理功能:●利用概率解析从非结构化文本中发现和提取数据实体(位置、产品等) 优势:●从以前不能使用的数据源中发现其中的含义●通过发掘新的洞察力对大数据的潜能加以利用特征:数据质量API功能:●通过Java API 执行数据质量配置文件和规则优势:●减少对Informatica 服务器的依赖●通过在全企业内使用一致的数据质量服务,对治理工作提供支持。
数据库上机实验五篇范文
数据库上机实验五篇范文第一篇:数据库上机实验创建数据表与数据输入Part I.使用SQL Server Management Studio创建数据表和输入数据 1.在SQL Server Management Studio中创建数据表 P69 1.(1)-(6)2.为数据表输入数据 P76 4.(1)-(4)3.数据浏览P771.(1)-(2)2.(1)-(3)Part II.使用SQL语句创建数据表和输入数据 1.使用SQL语句创建数据表 P72.例3-22.使用SQL语句输入数据 P82.例3.8习题:P.105(1)(2)insert 数据操作Insert、Update、DeleteP105 3.上机练习题(2)(4)Insert(100001, 1000, 2002-12-18 0:00:00)(100002, 2000, 2010-3-20 0:00:00)Update(100001, 1500, 2002-12-18 0:00:00)(100002, 2000, 2012-9-25 0:00:00)Delete Transact-SQL语句基础1 1.将teaching数据库中score 表的studentno列设置为引用表student的外键。
ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY(studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。
ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’)3.为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.5 直接数据操纵 视频精讲:光盘\video\baseVideo\09\直接数据操纵.swf 当创建了同数据库的连接之后,就可以执行SQL命令实现对数据库数据的查询、插入、更新、删除等操作。ADO.NET为开发人员提供的数据操纵主要包括两种模式:直接数据操纵模式和脱机数据操纵模式。本节主要介绍直接数据操纵模式,下一节介绍脱机数据操纵模式。 9.5.1 直接数据操作流程 同数据库交互最简单的方式是使用直接数据访问。当使用直接数据访问时,可以创建一个SQL命令,然后执行它。当使用直接数据访问查询数据时,没有将信息复制到内存中。而是在数据库连接打开时,执行数据查询,其工作在一个相对较短的时间周期内,然后关闭连接。其流程如图9-10所示。
图9-10 使用ADO.NET执行直接数据访问 为了使用直接数据查询访问数据库,需要执行如下步骤。 (1)创建Connection、Command和DataReader对象。 (2)使用DataReader对象从数据库中提取数据。 (3)关闭连接。 (4)发送数据给用户。此时,用户看到的数据和数据库中的信息没有任何连接,所有的ADO.NET对象被释放。 当需要更新数据时,执行如下步骤。 (1)创建一个新的Connection和Command对象。 (2)执行带对应SQL命令的Command对象。 Command类支持查询任何类型的SQL语句。同数据提供程序相关的Command类实现了一些标准功能,就像Connection类一样。其中IDbCommand接口定义了一些关键属性和核心方法,用于在连接打开的情况下执行命令。下面给出了SqlCommand对象的一些常用属性,如表9-3所示。 表9-3 SqlCommand对象的常用属性 名称 说明 CommandText 获取或设置要对数据源执行的Transact-SQL语句、表名或存储过程 CommandTimeout 获取或设置在终止执行命令的尝试并生成错误之前的等待时间 CommandType 获取或设置一个值,该值指示如何解释CommandText属性 Connection 获取或设置SqlCommand 的此实例使用的SqlConnection DbConnection 获取或设置此DbCommand使用的DbConnection DbParameterCollection 获取DbParameter对象的集合 DbTransaction 获取或设置将在其中执行此DbCommand对象的DbTransaction Parameters 获取SqlParameterCollection Transaction 获取或设置将在其中执行SqlCommand的SqlTransaction
下面给出了SqlCommand对象的一些常用方法,如表9-4所示。
表9-4 SqlCommand对象的常用方法 名称 说明 BeginExecuteNonQuery 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行 BeginExecuteReader 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,并从服务器中检索一个或多个结果集 BeginExecuteXmlReader 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,并将结果作为 XmlReader 对象返回 Cancel 尝试取消 SqlCommand 的执行 CreateDbParameter 创建 DbParameter 对象的新实例 CreateParameter 创建 SqlParameter 对象的新实例 EndExecuteNonQuery 完成 Transact-SQL 语句的异步执行 EndExecuteReader 完成 Transact-SQL 语句的异步执行并返回请求的 SqlDataReader EndExecuteXmlReader 完成 Transact-SQL 语句的异步执行,将请求的数据以 XML 形式返回 ExecuteDbDataReader 对连接执行命令文本 ExecuteNonQuery 对连接执行 Transact-SQL 语句并返回受影响的行数 ExecuteReader 将 CommandText 发送到 Connection 并生成一个 SqlDataReader ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行 ExecuteXmlReader 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象 Prepare 在 SQL Server 的实例上创建命令的一个准备版本 ResetCommandTimeout 将 CommandTimeout 属性重置为其默认值 下面给出了SqlDataReader对象的一些常用属性,如表9-5所示。 表9-5 SqlDataReader对象的常用属性 名称 说明 Connection 获取与 SqlDataReader 关联的 SqlConnection FieldCount 获取当前行中的列数 HasRows 获取一个值,该值指示 SqlDataReader 是否包含一行或多行 IsClosed 检索一个布尔值,该值指示是否已关闭指定的 SqlDataReader 实例 RecordsAffected 获取执行 Transact-SQL 语句所更改、插入或删除的行数
下面给出了SqlDataReader对象的一些常用方法,如表9-6所示。
表9-6 SqlDataReader对象的常用方法 名称 说明 Close 关闭 SqlDataReader 对象 GetBoolean 获取指定列的布尔值形式的值 GetByte 获取指定列的字节形式的值 GetBytes 从指定的列偏移量将字节流读入缓冲区,并将其作为从给定的缓冲区偏移量开始的数组 GetChar 获取指定列的单个字符串形式的值 GetChars 从指定的列偏移量将字符流作为数组从给定的缓冲区偏移量开始读入缓冲区 GetDataTypeName 获取一个表示指定列的数据类型的字符串 GetDateTime 获取指定列的 DateTime 对象形式的值 GetDateTimeOffset 检索指定列的 DateTimeOffset 对象形式的值 GetDbDataReader 返回被请求的列序号的 DbDataReader 对象,可以使用提供程序特定的实现对该对象进行重写 GetDecimal 获取指定列的 Decimal 对象形式的值 GetDouble 获取指定列的双精度浮点数形式的值 GetEnumerator 返回循环访问 SqlDataReader 的 IEnumerator GetFieldType 获取指定对象的数据类型的 Type GetFloat 获取指定列的单精度浮点数形式的值 GetInt16 获取指定列的 16 位有符号整数形式的值 GetInt32 获取指定列的 32 位有符号整数形式的值 GetInt64 获取指定列的 64 位有符号整数形式的值 GetLifetimeService 检索控制此实例的生存期策略的当前生存期服务对象 GetName 获取指定列的名称 GetSqlBinary 获取指定列的 SqlBinary 形式的值 GetSqlBoolean 获取指定列的 SqlBoolean 形式的值 GetSqlByte 获取指定列的 SqlByte 形式的值 GetSqlBytes 获取指定列的 SqlBytes 形式的值 GetSqlChars 获取指定列的 SqlChars 形式的值 GetSqlDateTime 获取指定列的 SqlDateTime 形式的值 GetSqlDecimal 获取指定列的 SqlDecimal 形式的值 GetSqlDouble 获取指定列的 SqlDouble 形式的值 GetSqlGuid 获取指定列的 SqlGuid 形式的值 GetSqlInt16 获取指定列的 SqlInt16 形式的值 GetSqlInt32 获取指定列的 SqlInt32 形式的值 GetSqlInt64 获取指定列的 SqlInt64 形式的值 GetSqlMoney 获取指定列的 SqlMoney 形式的值 GetSqlSingle 获取指定列的 SqlSingle 形式的值 GetSqlString 获取指定列的 SqlString 形式的值
(续表) 名称 说明 GetSqlValue 返回指定列中 SQL Server 类型的数据值 GetSqlValues 填充包含记录中所有列的值的 Object 数组,这些值表示为 SQL Server 类型 GetSqlXml 获取指定列的 XML 值形式的值 GetString 获取指定列的字符串形式的值 GetValue 获取以本机格式表示的指定列的值 GetValues 获取当前行的集合中的所有属性列 NextResult 当读取批处理 Transact-SQL 语句的结果时,使数据读取器前进到下一个结果 Read 使 SqlDataReader 前进到下一条记录 上面给出的是针对SQL Server数据提供程序的相应常用属性和方法说明。有关其他类型的Command对象和DataReader对象的属性和方法,请读者参考Visual Studio 2008 MSDN的相关介绍。本节后续内容介绍中,将使用到上述属性和方法。 9.5.2 演练:使用直接模式数据查询图书列表信息
从前面的介绍可知,使用Command对象和DataReader对象可以实现对数据的直接操纵。 在使用Command之前,首先需要选择特定的Command类型,然后设置Command的属性,并将Command对象同某个连接绑定起来。为此,可以设置Command对象的一些属性(CommandType、CommandText和Connection),或者将这些信息作为参数传递给构造函数。例如,下面的代码示例显示了如何使用默认的构造函数创建一个数据查询的Command对象并设置其属性: SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FROM User";