Oracle 表操作(三)

增删改查  交并补  内连接  外连接

创建表:

    create table table_name(
      num int IDENTIFIED(1,1) not null,  --identified自增量
      name VARCHAR2(20) not null,       --not null不为空
      age VARCHAR2(20),
      sex VARCHAR2(2)
    )

新增列:

    alter table table_name

    add col_name data_type

删除列:

    alter  tabel table_name

    drop column col_name

修改列:

    alter table table_name

    alter column col_name data_type

插入 insert  语句

给指定列插入数据:

    insert into table_name(deptno,dname) values(50,‘xx‘);
插入全部列数据:

    insert into dept(deptno,dname,loc) values(60,‘xx‘,‘lll‘);

insert into dept values(70,‘xxx‘,‘llll‘);   插入值包含所有字段是可省略字段名

批量插入:(新表需要预先创建好)

    insert into table_name1 (col_name1,col_name2)  --表1列名

    select column1,column2                                     --表2列名

    from table_name2  where search_condition          --约束条件

使用insert······into批量插入:(新表不需要预先创建好)

    select col_name1,col_name2

    into new_table

    from table_name

    where search_condition

更新 update  语句

  更新指定数据:update table_name set col_name=‘new_data‘ where deptno=50;

删除 delete  语句

删除指定数据:delete from table_name where condition=70;

delete 删除数据库中的数据,drop删除表结构

delete删除行数据,drop删除列

查询 select  语句

查询所有:select * from emp;
指定字段查询:select col_name1,col_name2 from table_name;
加 where 条件:select * from emp where sal>=800; select * from table_name where sal>=1500 and job=‘SALESMAN‘;

Distinct 去重复记录: select distinct col_name from table_name;
Group by 分组查询:select job,count(ename) as num from EMP t group by job;
Having 过滤分组:select job,count(ename) as num from EMP t group by job having count(ename)>=2;
Order by 排序:select * from emp order by sal desc;

Order by子句一定放在所有句子的最后(不论包含多少子句)
子查询:查询出基本工资大于平均工资的员工:select * from emp where sal>(select avg(sal) from emp)

asc顺序查询   desc 逆序查询,只作用最近的列,多列逆序需要多个desc
联合查询:
并集(去重复):
    select * from t_user1
    union
    select * from t_user2;

并集:
    select * from t_user1
    union all
    select * from t_user2;
交集:
    select * from t_user1
    intersect
    select * from t_user2;
差集:
    select * from t_user1
    minus
    select * from t_user2;
内连接:
select * from emp t,dept d where t.deptno=d.deptno;
类似:select * from emp e inner join dept d on e.deptno=d.deptno; inner 可以省略;
外连接:
左外连接:select * from emp e left join dept d on e.deptno=d.deptno;
右外连接:select * from emp e right join dept d on e.deptno=d.deptno;

时间: 2024-10-05 04:40:51

Oracle 表操作(三)的相关文章

4、oracle表操作

4.1.dml操作: 1.查看当前用户下所有的表: select * from user_tables; 2.查看某表的大小: select sum(bytes)/(1024*1024) as "size(M)" from <表名>; 3.查看当前用户每个表占用空间的大小: select segment_name,sum(bytes)/1024/1024 as "SIZE:(MB)" from user_extents group by segment_

Oracle创表操作记录

Oracle表操作 --主键,复合主键 create table example (id number primary key, name varchar2(20)); create table example1 (id number, name varchar2(20),primary key(id)); create table example2 (id number, name varchar2(20)); ALTER TABLE example2 ADD PRIMARY KEY (ID)

(三)Oracle字符串操作

1. Oracle字符串操作 1.1. 字符串函数 1.1.1. CONCAT和"||" CONCAT是字符串连接函数,语法是:CONCAT(char1, char2) 用于返回两个字符串连接后的结果,两个参数char1.char2是要连接的两个字符串.concat只能有两个参数,所以如果连接三个字符串时,需要两个concat函数.比如连接emp表中的name列和salary列,中间用":"隔开: SELECT CONCAT(CONCAT(name, ' : '),

Oracle学习(二)_多表操作

--第一部分:SQL基础 --ch1 简单查询 --ch2 查询基本概念 --ch3 数据过滤 --第二部分:多表操作 --ch4 集合理论 --ch5 内连接 --ch6 外连接 --ch7 子查询 --第三部分:数据分组 --ch8 简单统计 --ch9 数据分组 --ch10 分组数据过滤 --第四部分:SQL函数 --ch11 内置函数 --ch12 case表达式 --第五部分:DML语句 --ch13 插入数据 --ch14 修改数据 --ch15 删除数据 ------------

ORACLE表空间操作实例

本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.dba_segments.user_segments.dba_data_files.v$tablespace.dba_tablespaces.user_tablespaces. 创建表空间 1.创建数据表空间 CREATE TABLESPACE test DATAFILE '/opt/oracle/oradata/test.dbf

Oracle表空间和表的入门操作指令

Oracle数据库-常用操作指令 查看端口号指令 netstat –a 清屏: SQL> clear scre; SQL> host cls; 表空间   建立表空间 SQL> create tablespace tc20 datafile 'e:\tc20_data_dbf' size 20m autoextend on next 5m maxsize 500m; 查询表空间名称 SQL> select tablespace_name,file_name from dba_dat

ORACLE表test01字段的操作

SQL> create table test01     (NO NUMBER NOT NULL,NAME VARCHAR(30)); 1.修改表名称      SQL> alter table test01 rename to test02; Table altered. SQL> desc test01 ERROR: ORA-04043: object test01 does not exist SQL> desc test02  Name                   

oracle 表误更新 (flashback )闪回操作

--oracle  表误更新  闪回操作 测试环境 --select * from v$database; --select * from v$version; 操作第一步 1.如下命令启用行迁移 alter table test_a enable row movement; 2.如下命令闪回到某时间点 flashback table test_a to timestamp to_timestamp('2012-05-31 16:20:30', 'yyyy-mm-dd hh24:mi:ss');

Oracle表的操作

--创建表 CREATE [GLOBAL TEMPORARY] TABLE table_name( coloum_name TYPE [CONSTRAINT constraint_def DEFAULT default_exp] [,coloum_name TYPE [CONSTRAINT constraint_def DEFAULT default_exp] ...] ) [ON COMMIT {DELETE | PRESERVE} ROWS] TABLESPACE tab_space; /*