`

oracle中table表操作

阅读更多
1. scott用户示例表

  1) 部门表:dept
1DEPTNONUMBER(2)表示部门编号,由两位数字构成
2DNAMEVARCHAR2(14)部门名称,最多由14个字符所组成
3LOCVARCHAR2(13)部门所在的位置

  2) 雇员表:emp
1EMPNONUMBER(4)雇员的编号,由四位数字所组成
2ENAMEVARCHAR2(10)雇员的姓名,由10位字符所组成
3JOBVARCHAR2(9)雇员的职位
4MGRNUMBER(4)雇员对用的领导编号,领导也是雇员
5HIREDATEDATE雇员的工作日期
6SALNUMBER(7,2)基本工资,其中有两位小数,五位整数,一共七位
7COMMNUMBER(7,2)奖金,佣金
8DEPTNONUMBER(2)雇员所在的部门编号

  3) 部门表:dept
1GRADENUMBER工资的等级
2LOSALNUMBER此等级的最低工资
3HISALNUMBER此等级的最高工资

  4) 部门表:dept
1ENAMEVARCHAR2(10)雇员姓名
2JOBVARCHAR2(9)雇员职位
3SALNUMBER雇员的工资
4COMMNUMBER雇员的奖金


2. 表的操作

2.1 查询表结构
1) 查询表结构:
SQL> desc dba_users;

2) 使用user_tab_cols表查询表结构:
select column_name, data_type, data_length from user_tab_cols where table_name='DBA_USERS';


2.2 删除表
------------------------------ 
create table t_user(
  id number,
  username char(20),
  password varchar2(20)
);
------------------------------ 
1) delete命令
SQL> delete t_user;

  1.用delete删除表数据,只是删除表中的数据,表结构不会被删除!
  2.虽然也是删除整个表的数据,但是过程是系统一行一行地删,效率比truncate低。
  3.delete删除是不释放空间的。

2) truncate命令
SQL> truncate table t_user;

  1.用truncate删除表数据,只是删除表中的数据,表结构不会被删除!
  2.删除整个表的数据时,过程是系统一次性删除数据,效率比较高。
  3.truncate删除释放空间。

3) drop命令
SQL> drop table t_user;

  1.用drop删除表数据,不但会删除表中的数据,连表结构也被删除了!


3. 表的增删改查

3.1 插入insert语句
给指定列插入数据:
SQL> insert into dept(deptno,dname) values(50,'xx');

插入全部列数据:
SQL> insert into dept(deptno,dname,loc) values(60,'xx','lll'); 

插入全部列数据简写:
SQL> insert into dept values(70,'xxx','llll');

3.2 更新update语句
更新指定数据:
SQL> update dept set dname='司法部' where deptno=50;
SQL> update dept set dname='律政司', loc='china' where deptno=60;

3.3 删除delete语句
删除指定数据:
SQL> delete from dept where deptno=70;

删除指定条件的数据:
SQL> delete from dept where deptno>40;

3.4 查询select语句
------------------------------ 
create table t_user1(
  id number,
  username varchar2(20),
  password varchar2(20)
);
insert into t_user1(id, username, password) values(1, 'bill', 'bill123');
insert into t_user1(id, username, password) values(2, 'adam', 'adam123');

create table t_user2(
  id number,
  username varchar2(20),
  password varchar2(20)
);
insert into t_user2(id, username, password) values(1, 'bill', 'bill123');
insert into t_user2(id, username, password) values(2, 'bake', 'bake123');
------------------------------ 

查询所有
SQL> select * from emp;

指定字段查询
SQL> select ename, sal from emp;

加where条件
SQL> select * from emp where sal>=800;
SQL> select * from emp where sal>=1500 and job='SALESMAN';

distinct去重复记录
SQL> select distinct * from dept;

group by分组查询
SQL> select job,count(ename) as num from emp t group by job;

having过滤分组
SQL> select job,count(ename) as num from emp t group by job having count(ename)>=2;

order by排序
SQL> select * from emp order by sal desc;

子查询:查询出基本工资大于平均工资的员工
SQL> select * from emp where sal>(select avg(sal) from emp); 

联合查询、并集(去重复)
SQL> select * from t_user1 union select * from t_user2;

联合查询、并集(不重复)
SQL> select * from t_user1 union all select * from t_user2;

交集
SQL> select * from t_user1 intersect select * from t_user2;

差集(在第一集合t_user1中且不在第二个集合t_user2中)
SQL> select * from t_user1 minus select * from t_user2;

内连接
SQL> select * from emp t, dept d where t.deptno=d.deptno;
SQL> select * from emp e inner join dept d on e.deptno=d.deptno;

外连接
左外连接
SQL> select * from emp e left join dept d on e.deptno=d.deptno;
右外连接
SQL> select * from emp e right join dept d on e.deptno=d.deptno;
分享到:
评论

相关推荐

    ORACLE Rename Table的语法

    在 ORACLE 中,重命名(Rename)一个表的命令是 ALTER TABLE old_name RENAME TO new_name,而不是 RENAME old_name TO new_name。 REname 命令只是 SQL*Plus 的命令,不能在其他程序中使用,如果将其放在 Java、...

    oracle nested table demo

    本示例“Oracle Nested Table Demo”将向我们展示如何在Oracle数据库中创建、操作和使用嵌套表。 嵌套表的定义: 在Oracle中,嵌套表是由单个行组成的数据集合,这些行可以包含相同或不同的列。与传统的表不同,...

    oracle中truncate table后的数据恢复

    在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...

    利用 Oracle 系统触发器防止误删除表操作

    ### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...

    Oracle Table Form Trigger

    - bw.xls 不是Oracle相关文件,可能是备份工作表或数据分析文件,不直接关联到Oracle Table Form Trigger的主题,但可能在实际项目中用于数据分析或报表生成。 总之,Oracle Table Form Trigger是Oracle数据库应用...

    oracle查看表历史记录-Oracle查看表操作历史记录并恢复.pdf

    然而,在实际操作中,数据库管理员或开发者可能会不小心删除了重要数据,这时候如何恢复这些数据成了一个重要的问题。本文将介绍如何查看 Oracle 表的历史记录和恢复删除的数据。 一、查看表操作历史记录 要查看表...

    Oracle SQL Table name

    由于提供的【部分内容】包含了一系列Oracle表名,我们可以根据这些表名来理解Oracle数据库中表的命名约定、表的用途以及可能包含的字段类型。 例如,“ACT$TRACE”和“ACT$TRACE_DETAIL”表名暗示了这两个表可能...

    oracle create table

    根据提供的文件信息,本文将详细解释Oracle中创建表的基本语法、...通过以上对Oracle中创建表的基本语法、主键约束以及NOT NULL约束的详细介绍,我们可以更好地理解和应用这些概念,在实际操作中创建满足需求的表结构。

    Oracle数据库分区表操作方法

    Oracle数据库分区表操作方法 Oracle数据库中的分区表是将大型数据表分割成多个小表,以提高应用系统...Oracle数据库中的分区表操作方法可以提高应用系统的性能和方便数据管理,但需要根据实际情况选择合适的分区方法。

    java操作Oracle数据库——ARRAY、TABLE类型批量入库

    - **事务管理**:在批量操作中,通常需要使用事务来保证数据的一致性。确保在成功执行所有操作后提交事务,或者在遇到错误时回滚。 通过以上步骤,你可以利用Java和Oracle JDBC驱动有效地处理ARRAY和TABLE类型,...

    Oracle2表基本操作

    ### Oracle2表基本操作知识点详解 #### 一、Oracle 表的基本规则与数据类型 **1....- **必须以字母开头**:表名的第一个字符必须是字母(A-Z...通过这些基本操作,初学者可以快速掌握如何管理和操作Oracle数据库中的表。

    Oracle常用的和表(Table)相关的命令

    根据提供的文件信息,以下是从标题、描述以及部分代码示例中提炼出的关于Oracle数据库中与表(Table)操作相关的常用命令及其详细解释: ### 1. 创建表(Create Table) **命令格式**: ``` sql> create table table_...

    oracle外部表Externaltable[借鉴].pdf

    Oracle 外部表(External table)是一种特殊的表类型,它允许 Oracle 数据库将一个普通的文本格式的操作系统文件看作是一个数据库表,可以象普通表一样进行 select 操作,可以建视图,可以与其他进行连接等,但不能...

    ORACLE中临时表

    Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...

    oracle修改表结构

    在Oracle数据库管理中,对表结构进行修改是一项常见的任务,涉及到添加字段、修改字段属性、删除字段、重命名表或字段、以及...通过这些实际案例的操作,可以更加深入地理解Oracle数据库中表结构修改的灵活性和复杂性。

    通过MSQL通过视图访问ORACLE中的表

    这样,我们就可以在MySQL中创建一个视图,这个视图实际上是对Oracle数据库中表的映射。 标题“通过MySQL通过视图访问ORACLE中的表”意味着我们将探讨如何利用MySQL的视图功能,来间接访问和操作Oracle数据库中的...

    Oracle删除表中的重复数据

    然而,在实际操作中,应根据具体场景和需求调整SQL语句,比如选择合适的去重依据列、处理可能出现的事务和锁定问题等,以确保数据操作的正确性和高效性。此外,对于大型表或高并发系统,可能还需要考虑更高级的性能...

    ORACLE中查找定位表最后DML操作的时间小结

    在Oracle数据库中,如何查找,定位一张表最后一次的DML操作的时间呢? 方式有三种,不过都有一些局限性,下面简单的解析、总结一下。 1:使用ORA_ROWSCN伪列获取表最后的DML时间  ORA_ROWSCN伪列是Oracle 10g开始...

    Analyze_Oracle_Table.rar_Table_analyze orac_analyze orac_oracle

    "Analyze_Oracle_Table.rar"这个压缩包文件的主题聚焦于Oracle表的分析,目的是提升查询和执行操作的效率。Oracle的性能可能会因为各种因素而下降,例如索引未被有效利用、数据分布不均匀或者统计信息过时等。因此,...

    Oracle表类型表变量使用

    在实际操作中,可能包含如下内容: 1. 定义一个表类型,例如`CREATE TYPE MyTableType AS TABLE OF NUMBER;` 2. 声明并初始化一个表变量,如`DECLARE myVar MyTableType := MyTableType(NULL, NULL);` 3. 插入数据...

Global site tag (gtag.js) - Google Analytics