`

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
分享到:
评论

相关推荐

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

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

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

    C#版Oracle数据库通用操作类,包含了基础连接、执行基础语句、返回参数执行、dataset分页执行等简单oracle命令执行及哈稀表自动插入数据库等高级任务执行等。

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

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

    oracle9i数据库课件

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

    oracle数据库操作手册

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

    OracleDBA数据库操作手册

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

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

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

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

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

    Oracle数据库的安装配置方法及C#连接操作Oracle数据库技巧、通用类等资料搜集整理

    搜集整理的Oracle数据库安装与配置方法以及C#连接操作Oracle数据库的典型代码,比较管用的说。主要包括10个方面内容:1、ORACLE817安装(服务器端/客户端)。2、ORACLE817配置(服务器端)。3、ORACLE817配置...

    Oracle9i 数据库安装

    以我的系统为例:操作系统为 SuSE Linux 7.2,安装了 Oracle9i Enterprise Edition Release 9.0.1,Oracle9i 数据库的 ORACLE SID 设定为 ora901。 接着我们将经由 DBCA 建置第二个 Oracle9i 数据库,步骤如下:

    oracle官方数据库教程

    本教程针对初学者,深入浅出地介绍了Oracle的核心概念、功能和操作,旨在帮助学习者快速掌握这一强大的数据库系统。 首先,Oracle数据库的基础知识是学习的重点。这包括数据库的基本概念,如表空间、数据文件、控制...

    Oracle数据库转Mysql数据库

    Oracle 数据库转换为 Mysql 数据库 Oracle 数据库转换为 Mysql 数据库是指将 Oracle 数据库中的数据和结构转换为 Mysql 数据库中,整个过程涉及到多个步骤,包括数据库设计、数据类型转换、sequence 实现等。下面将...

    oracle数据库操作软件golden

    Oracle数据库是全球最广泛使用的...总之,Oracle数据库操作软件Golden(可能指Oracle GoldenGate)在现代企业IT环境中扮演着重要角色,它结合了Oracle数据库的强大功能,为高效、安全的数据管理提供了全面的解决方案。

    oracle数据库日志查看方法

    oracle数据库日志查看方法,排查错误。

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

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

    oracle数据库操作工具

    本压缩包提供了一款名为"Navicat8 for Oracle简体中文版.exe"的工具,这是一款专为Oracle数据库设计的图形化管理工具,具有用户友好的界面,方便用户直接操作Oracle数据库。 Navicat8是著名的数据库管理软件系列,...

    修改oracle数据库用户名及密码

    Oracle 数据库用户名及密码修改是指在 Oracle 数据库中修改现有用户名和密码的操作。该操作需要使用 sys 用户登陆数据库,然后找到需要修改的用户,修改用户名和密码,最后提交并测试连接。 知识点 1: 连接到数据库...

    oracle 数据库oracle 数据库

    Oracle数据库是一种广泛使用的商业关系型数据库管理系统...文件D33051.pdf和D33052.pdf可能包含了更深入的Oracle数据库概念、最佳实践、配置指南或案例研究,进一步的学习将有助于提升对Oracle数据库的理解和操作能力。

    Python操作Oracle数据库的简单方法和封装类实例

    本文实例讲述了Python操作Oracle数据库的简单方法和封装类。分享给大家供大家参考,具体如下: 最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的...

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

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

Global site tag (gtag.js) - Google Analytics