`

Orcale操作数据库

阅读更多

操作数据库

1. 插入数据(INSERT语句)

        插入数据就是将数据记录添加到已经存在的数据表中,Oracle数据库通过INSERT语句来实现插入数据记录。该语句既可以实现向数据表中一次插入一条记录,也可以使用SELECT子句将查询结果集批量插入数据表。


插入单条数据:插入单条数据是INSERT语句最基本的用法,语法格式:


INSERT INTO table_name[(column_name1[,column_name2]…)] values(express1[,express2]…)


table_name:表示要插入的表名。
column_name1和column_name2:指定表的完全或部分列名称。
express1和express2:表示要插入的值列表。


        在INSERT语句的几种使用方式中,最常用的形式是在INSERT INTO子句中指定添加数据的列,并在VALUES子句中为各个列提供一个值。例,在dept表中,使用INSERT语句添加一条记录:

 

SQL>insert into dept(deptno,dname,loc) values(88, ‘design’, ‘beijing’);
SQL>已创建一行

 
        在INSERT INTO子句中指定添加数据的列,既可以是数据表的全部的列,也可以是部分列。在指定部分列时,需要注意,不许为空(NOT NULL)的列必须被指定出来,并且在values子句中的对应赋值也不许为NULL,否则系统显示“无法将NULL插入”的错误信息提示。在使用INSERT INTO子句为指定表的部分列添加数据时,为了防止产生不许为空值的错误,可以使用DESC命令查看数据表中的哪些列不许为空。对于可以为空的列,用户可以不指定其值。


        在向表的所有列添加数据时,也可以省略INSERT INTO子句后面的列表清单,使用这种方法时,必须根据表中定义的列的顺序,为所有的列提供数据。用户可以使用DESC命令来查看表中定义列的顺序。例,在HR模式下,使用desc命令查看jobs表的结构和列的定义顺序,然后使用insert语句插入一条记录:
 


 
       为了保证数据的完整性和唯一性,除了需要设置某些列不许为空的约束条件外,还会设置其他一些约束条件,例如定义主键约束条件,这就要求该列的值不允许重复,否则系统显示“违反唯一的约束条件”的错误提示。


 批量插入数据:INSERT语句还有一种强大的用法,就是可以一次向表中添加一组数据,也就是批量插入数据。用户可以使用SELECT语句替换掉原来的VALUES语句,这样由SELECT语句提供添加的数值,语法格式:


INSERT INTO table_name[(column_name1[,column_name2]…)] selectSubquery
table_name:表示要插入的表的名称。


column_name1和column_name2:表示指定的列名。
selectSubquery:任何合法的SELECT语句,其所选列的个数和类型要与语句中的column对应。


例,在HR模式下,创建一个与jobs表结构类似的表jobs_temp,然后将jobs表中最高工资额(max_salary)大于10000的记录插入到新表jobs_temp中:
 

 

        需要注意的是,在使用这种组合语句实现批量插入数据时,INSERT INOT子句指定的列名可以与SELECT子句指定的列名不同,但它们之间的数据类型必须是兼容的,即SELECT语句返回的数据必须满足INSERT INTO表中的列的约束。

 

2. 更新数据(UPDAT语句)

        Oracle数据库通过UPDATE语句来实现修改现在的数据记录。在更新数据时,更新的列数可以由用户自己指定,列与列之间用逗号分隔;更新的条数可以通过WHERE子句来加以限制,使用WHERE子句时,系统只更新符合WHERE条件的记录信息。语法格式:


UPDATE table_name
SET{column_name1=express1[,column_name2=express2…]
|(column1[,column2…])=(selectSubquery)}
[WHERE condition]


table_name:表示要修改的表名。
column_name1和column_name2:表示指定要更新的列名。
selectSubquery:任何合法的SELECT语句,其所选列的个数和类型要与语句中column对应。
condition:筛选条件表达式,只有符合筛选条件的记录才被更新。


例,在scott模式下,把emp表中职务是销售员(SALESMAN)的工资上调20%:

 

SQL>update emp set sal=sal*1.2 where job=‘SALESMAN’;
SQL>已更新4行


        另外,同INSERT语句一样,UPDATE语句也可以与SELECT语句组合使用来达到更新数据的目的。需要注意的是,在将UPDATE语句与SELECT语句组合使用时,必须保证SELECT语句返回单一的值,否则会出现错误信息提示。例,在scott模式下,把emp表中工资小于2000的雇员工资调整为管理者的平均工资水平:

 

SQL>update emp set sal=(select avg(sal) from emp where job=‘MANAGER’) where sal<2000;
SQL>已更新8行

 

3. 删除语句(DELETE语句和TRUNCATE语句)

        从数据库中删除记录可以使用DELETE语句和TRUNCATE语句。使用DELETE语句删除数据时,Oracle系统会产生回滚记录,所以这种操作可以使用ROLLBACK语句来撤消。


DELETE语句:DELETE语句用来删除数据库中的所有记录和指定范围的记录,若要删除指定范围的记录,同UPDATE语句一样,要通过WHERE子句进行限制,语法格式:


DELETE FROM table_name[WHERE condition]


table_name:表示要删除记录的表名。
condition:筛选条件表达式,为可选项,当筛选条件存在时,只有符合筛选条件的记录才被删除掉。


例,在HR模式下,删除jobs表中职务编号(job_id)是“PRO”的记录:

 

SQL>delete from jobs where job_id=‘PRO’;
SQL>已删除1行


TRUNCATE语句:如果用户确定要删除表中的所有记录,则除了可以使用DELETE语句之外,还可以使用TRUNCATE语句,而且Oracle本身也建议使用TRUNCATE语句。使用TURNCATE语句删除表中的所有记录要比DELETE语句快得多,这是因为使用TRUNCATE语句删除数据时,它不会产生回滚记录。当然,执行了TRUNCATE语句的操作也就无法使用ROLLBACK语句撤消。在TRUNCATE语句中还可以使用REUSE STORAGE关键字或DROP STORAGE关键字,前者表示删除记录后仍然保存记录所占用的空间;后者表示删除记录后立刻回收记录占用的空间。默认情况下TRUNCATE语句使用DROP STORAGE关键字。

 

例,在HR模式下,使用TRUNCATE语句清除自定义表jobs_temp中的所有记录:

 

SQL>truncate table jobs_temp;
SQL>表被截断
SQL>select * from jobs_temp;
SQL>未选定行

 

  • 大小: 5.3 KB
  • 大小: 6 KB
分享到:
评论

相关推荐

    C#版Oracle数据库通用操作类

    ### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...

    易语言无需安装oracle进行数据库操作

    在这种情况下,"易语言无需安装Oracle进行数据库操作"的方法提供了便利,它允许用户通过客户端与服务端交互来处理Oracle数据库,而无需在本地安装完整的Oracle环境。 易语言,全称“简易编程语言”,是中国本土开发...

    oracle示例数据库OT,oracle示例数据库 hr,SQL源码.zip.zip

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。"Oracle示例数据库OT"和"oracle示例数据库hr"是...通过实际操作和实践,你可以增强对Oracle数据库系统的理解和运用能力。

    Oracle数据库基础教程课后习题答案

    Oracle数据库的物理结构由构成数据库的操作系统文件所决定。每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。数据文件包含全部数据库数据。日志文件组用于收集数据库日志,每个数据库有一个...

    oracle操作数据库语句与数据泵使用

    oracle 用户表空间的创建,数据泵如何导入数据库

    oracle9i数据库课件

    这个"oracle9i数据库课件"包含了多个PPT文件,详细讲解了Oracle9i的相关知识,包括安装配置、基本操作、安全性、数据库恢复、应用程序开发以及数据库的体系结构等核心主题。 首先,我们来看"第2章 Oracle9i安装配置...

    VB访问Oracle远程数据库方法与实现.pdf

    使用 VB 访问 Oracle 远程数据库的优点包括可以快速访问 Oracle 数据库、可以使用 VB 语言对 Oracle 数据库进行控制和操作等。使用 VB 访问 Oracle 远程数据库的缺点包括需要安装 Oracle 客户端软件、需要配置 ODBC ...

    易语言连接Oracle数据库

    数据库连接组件用于建立与Oracle数据库的物理连接,而记录集组件则负责在程序中操作数据,如查询、插入、更新和删除记录。 1. 数据库连接组件: - 在易语言中,设置数据库连接通常涉及以下参数: - 数据源(DSN)...

    oracle数据库操作手册

    本操作手册将深入探讨Oracle数据库的核心概念、安装配置、管理维护以及SQL查询等多个方面,帮助用户全面理解和掌握Oracle数据库的操作。 1. **Oracle数据库核心概念** - **数据库实例与数据库**:Oracle数据库实例...

    OracleDBA数据库操作手册

    这份"Oracle DBA数据库操作手册"是针对Oracle 11g版本的专业指南,它包含了数据库管理员在工作中所需的各种技术和实践知识。 手册首先可能详细介绍了Oracle 11g的基本概念,包括数据库的架构、数据存储原理以及...

    oracle数据库日志查看方法

    本文将详细介绍如何查看Oracle数据库中的各种日志文件,并提供具体的步骤和示例,帮助读者更好地理解和操作。 #### 二、Oracle数据库日志类型 Oracle数据库中有多种类型的日志文件,包括但不限于: 1. **后台进程...

    Oracle 12c数据库体系结构图文详解手册

    Oracle 12c数据库体系结构图文详解手册是 Oracle 12c数据库管理系统的核心组件之一,该手册详细介绍了 Oracle 12c数据库的体系结构、实例、数据库、内存结构、后台进程、控制文件、重做日志文件、数据文件等概念。...

    Oracle9i数据库管理实务讲座pdf+Oracle9i数据库管理员指南+Oracle培训教材

    2. **SQL语言**:SQL是Structured Query Language的缩写,是用于管理和操作数据库的标准编程语言。在Oracle 9i中,SQL用于创建、更新、查询和删除数据库对象,如表、视图、索引等。理解DML(数据操纵语言)如INSERT,...

    oracle示例数据库OT_oracle数据库

    这个压缩包包含了一些关键文件,帮助用户了解Oracle数据库的结构、数据操作以及用户管理。 1. **ot_data.sql**: 这个文件通常包含了示例数据库的初始数据。当你在新的Oracle环境中导入此脚本时,它会填充各种表和...

    如何备份还原oracle数据库

    在IT领域中,Oracle数据库因其高性能、可靠性及可扩展性被广泛应用于企业级应用之中。对于Oracle数据库管理员而言,掌握如何高效地进行数据库备份与恢复是一项至关重要的技能。本文将根据给定的信息“如何备份还原...

    Oracle数据库基础教程[孙风栋等编著][习题解答

    本教程《Oracle数据库基础教程》由孙风栋等编著,旨在帮助初学者系统地理解和掌握Oracle数据库的基本概念、操作以及应用。 教程中的习题解答部分是学习过程中的重要辅助资料,它可以帮助读者检验自己的理解程度,...

    Oracle数据库大作业

    总的来说,这个“Oracle数据库大作业”是一个综合性的学习资源,涵盖了数据库设计理论、实践操作和问题解决,对于想深入了解Oracle数据库在实际项目中应用的学生或者开发者来说,是非常有价值的参考资料。...

    labview 调用oracle数据库

    总结,LabVIEW调用Oracle数据库涉及的关键点有:使用ODBC连接数据库、构建和执行SQL命令、创建和操作数据库表。理解这些概念和步骤,将有助于在LabVIEW环境中有效地管理和操作Oracle数据库。在实际应用中,还要考虑...

    Oracle9i 数据库安装

    Oracle9i 数据库安装是一个复杂的过程,涉及到多个步骤和配置选项。在开始安装之前,确保你的操作系统和硬件环境满足Oracle9i的要求。在这个例子中,操作系统是SuSE Linux 7.2,已经安装了Oracle9i Enterprise ...

    access数据库MDB数据文件导入oracle数据库操作步骤.pdf

    Access 数据库 MDB 数据文件导入 Oracle 数据库操作步骤 Access 数据库 MDB 文件是 Microsoft Access 应用程序的数据库文件格式,而 Oracle 数据库是关系数据库管理系统。将 Access 数据库 MDB 文件导入 Oracle ...

Global site tag (gtag.js) - Google Analytics