Oracle数据库删除语句DELETE的一般性用法

语法与其它的sql数据库教程是一样的,如下
DELETE FROM COURSES
WHERE  COURSE_DESIGNATER = 'Java110'

按条件比较复杂的操作方法

DELETE FROM CLASSCONVENINGS
WHERE      CLASSES_NUM_FK      > 4 
  AND CLASS_CONVENE_DATE = TO_DATE('2006-02-15 00:00:00',
                                   'YYYY-MM-DD HH24:MI:SS')
  AND CLASS_LOCATION_FK   = 'Seattle-Training Room 1'
 

下面来看个详细的实例

SQL> -- create demo table
SQL> create table Employee(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    First_Name         VARCHAR2(10 BYTE),
  4    Last_Name          VARCHAR2(10 BYTE),
  5    Start_Date         DATE,
  6    End_Date           DATE,
  7    Salary             Number(8,2),
  8    City               VARCHAR2(10 BYTE),
  9    Description        VARCHAR2(15 BYTE)
 10  )
 11  /

Table created.

SQL>
SQL> -- prepare data
SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2               values ('01','Jason',    'Martin',  to_date('19960725','YYYYMMDD'), to_date('20060725','YYYYMMDD'), 1234.56, 'Toronto',  'Programmer')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('02','Alison',   'Mathews', to_date('19760321','YYYYMMDD'), to_date('19860221','YYYYMMDD'), 6661.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('03','James',    'Smith',   to_date('19781212','YYYYMMDD'), to_date('19900315','YYYYMMDD'), 6544.78, 'Vancouver','Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('04','Celia',    'Rice',    to_date('19821024','YYYYMMDD'), to_date('19990421','YYYYMMDD'), 2344.78, 'Vancouver','Manager')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)

  2                values('05','Robert',   'Black',   to_date('19840115','YYYYMMDD'), to_date('19980808','YYYYMMDD'), 2334.78, 'Vancouver','Tester')

  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('06','Linda',    'Green',   to_date('19870730','YYYYMMDD'), to_date('19960104','YYYYMMDD'), 4322.78,'New York',  'Tester')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('07','David',    'Larry',   to_date('19901231','YYYYMMDD'), to_date('19980212','YYYYMMDD'), 7897.78,'New York',  'Manager')
  3  /

1 row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('08','James',    'Cat',     to_date('19960917','YYYYMMDD'), to_date('20020415','YYYYMMDD'), 1232.78,'Vancouver', 'Tester')
  3  /

1 row created.

SQL>
SQL>
SQL>
SQL> -- display data in the table
SQL> select * from Employee
  2  /

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer
02   Alison     Mathews    21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester
03   James      Smith      12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester
04   Celia      Rice       24-OCT-82 21-APR-99    2344.78 Vancouver  Manager
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester
06   Linda      Green      30-JUL-87 04-JAN-96    4322.78 New York   Tester
07   David      Larry      31-DEC-90 12-FEB-98    7897.78 New York   Manager

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester

8 rows selected.

SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> -- delete command with conditions
SQL>
SQL> delete from Employee where Salary > 3000;

4 rows deleted.

SQL>
SQL> select * from Employee;

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer04   Celia      Rice       24-OCT-82 21-APR-99    2344.78 Vancouver  Manager
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester

4 rows selected.

删除指定的内容

SQL> CREATE TABLE project (
  2    pro_id              NUMBER(4),
  3    pro_name            VARCHAR2(40),
  4    budget          NUMBER(9,2),
  5    CONSTRAINT project_pk   PRIMARY KEY (pro_id)
  6  );

Table created.

SQL>
SQL>
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1001, 'A',1912000);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1002, 'ERP',9999999);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1003, 'SQL',897000);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1004, 'CRM',294000);

1 row created.

SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1005, 'VPN',415000);

1 row created.

SQL>
SQL>
SQL> SET ECHO ON
SQL> DELETE
  2  FROM project
  3  WHERE pro_id = 1006
  4

时间: 2024-08-19 08:39:15

Oracle数据库删除语句DELETE的一般性用法的相关文章

oracle数据库删除数据Delete语句和Truncate语句的使用比较_oracle

当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍. 一.delete语句 (1)有条件删除 语法格式:delete [from] table_name [where condition]; 如:删除users表中的userid为'001'的数据:delete from users where userid='001'; (2)无条件删除整个表数据 语法格式:delete table_name; 如:删除user

删除表-oracle数据库删除所有表的问题

问题描述 oracle数据库删除所有表的问题 在oracle数据库中如何用sql语句删除该数据库中的所有表,drop一条一条的来很费力的,700多条,删完估计要到明年了,哪位大仙给个法门? 解决方案 那还不如删掉那个数据库再重建一个数据库 解决方案二: 恩,把数据库删了重新建立一个吧,所有表,一个一个的删的确有点辛苦哈,楼主 解决方案三: select 'drop table ' || TABLE_NAME || ';' from all_tab_comments where owner='用户

oracle数据库删除所有表的问题

问题描述 oracle数据库删除所有表的问题 删除一个数据库中的所有表,我的数据库中一共将近700条table,一条一条的删,太慢了,如何用.sql脚本文件,删除所有表? 解决方案 sql文件就是每一个删除表的语句放到一行,然后执行SQL文件. 解决方案二: 你的意思时手工一句句输入麻烦? 先用下面的结果生成一个脚本,再执行脚本. select 'DROP TABLE '+TABLE_NAME+';' from user_tables 解决方案三: 二楼正解.如果删除表麻烦,就先drop表再重新

oracle 数据库 hql语句分页

问题描述 oracle 数据库 hql语句分页 库是oracle的.框架是hibernate. 现在想弄分页 如查询用户前10条 hql是from User 现在想在这个基础上加分页.不用.query.setFirst()之类的方法. 如何直接加在hql中. 谢谢 解决方案 使用rownum select * from (select * from table order by age) where rownum < 11 解决方案二: 这个我sql知道.但是我想知道hql怎么写 解决方案三:

linux oracle数据库删除操作指南_oracle

Linux操作系统下完全删除Oracle数据库详述: 1.关掉oracle server 和 background processes ps -ef | grep ora 关掉数据库 shutdown immediate 2.关掉监听 lsnrctl status 如果开启的话就执行lsnrctl stop 关掉 3.把$ORACLE_HOME下面的文件删掉 用dbca图形界面把数据库删掉 4.把/usr/local/bin 下的三个文件夹 dbhome oraenv coraenv删掉 rm

ORACLE数据库SQL语句的执行过程

SQL语句在 数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相 对应的服务端进程,之后由服务器进程执行该SQL语句,如果是SELECT语句,服务器进程还需要将执行结果回传给用户进程. SQL语句的执行过程一般如下: 解析(PARSE)-- 绑定(BIND)--执行(EXECUTE)--提取(FETCH 只有SELECT才需要这步) 解析   服务器进程接收到一个SQL语句时,首先要将其转换成执行这个S

Oracle中hint语句的30个用法

在SQL语句优化过程中,经常会用到hint,下面我们来介绍一下在SQL优化过程中常见Oracle中"HINT"的 30个用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应

oracle数据库删除和导入方法

  1.开始->运行->cmd,然后输入sqlplus / as sysdba;连上数据库; 2.删除用户:在dos窗口输入drop user eqm cascade; 3.删除tablespace:在dos窗口输入DROP TABLESPACE EQM INCLUDING CONTENTS AND DATAFILES;如果报错说有表还在使用此表空间,查出那些表然后删除,查询方法select distinct owner,segment_name, segment_type from dba_

oracle数据库删除触发器实例

请求表操作表:用户信息表(person_tab) 种类:Before delete 功能描述:关联删除所有外键指向该表的数据行,删除与人员关连的数据行 操作表: 日历提示信息表(calendarNote_tab) 公文基础信息表(documentBaseInfo_tab) AB角工作分工信息表(divideWork_tab) 公文督办基础信息表(superviseBaseInfo_tab) 人员在岗信息表(guardInfo_tab) 周工作计划信息表(planOfWeek_tab) /****