oracle的一些操作

1.查看有哪些表
       select table_name from user_tables;
2.根据给定的表,创建一个表结构相同,没有内容的表
       create table emp10 as select * from emp where 1=2;
3.根据给定的表和条件,批量插入数据
SQL> insert into emp10 select * from emp where deptno=10;

已创建3行。

注意的问题;
      (1). 没有values关键字
      (2). 子查询的列必须与insert语句中的列对应


insert into emp10(empno,sal,ename) select empno,sal,ename from emp where deptno=20;



create table emp20 as select * from emp where deptno=20;

4.删除数据
清空表:
       delete from emp10;
       truncate table emp20;
       delete和truncate区别:
         (1). 操作行为上: delete逐条删除;truncate先摧毁,再 重建
         (2). delete会产生碎片;truncate  不会
         (3). delete不会释放空间;truncate会
         (4). delete(DML语句)可以闪回;truncate(DDL语句)不能闪回

5.回滚
     set feedback on
     savepoint a;//创建保存点
     rollback to savepoint a;//回退到保存点
    commit;//提交事务


6.地址符(动态查询)  &,主要是配合oracle的(/)执行上一条命令方便操作,例如插入几条数据,查询几个数据表
      (1).insert 中使用:
      insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno);
     用于提示式输入要插入的数据
     (2).在查询中使用地址符
     select * from &t;
     (3).查询某个列

         其实插入的话,直接复制几条插入语句更方便。
         查询的话还有些用。

7.分页

       查询工资排名在3-5的员工信息:
      (1)select * from (select rownum no,e.* from (select * from emp order by sal desc) e where rownum<=5) where no>=3;

      (2)select * from (select rownum no,e.* from (select * from emp order by sal desc) e) where no>=3 and no<=5;

8.alter

1.更改字段名
alter table test1 rename column  tname to username;
2.删除某字段
alter table test1 drop column image;
3.修改字段的属性
alter table test1 modify tname  varchar2(40);
4.增加一个字段
alter table test1 add image blob;


5.增加一个gender字段的时候,在查询的时候会变成:
alter table stu add gender varchar2(4) check(gender in('男','女'));

SQL> desc stu;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- -------------

 ID                                        NOT NULL NUMBER(7)
 NAME                                               VARCHAR2(10)
 DTIME                                              DATE
 GENDER                                             VARCHAR2(4)

SQL> select * from stu;

        ID NAME       DTIME          GEND
---------- ---------- -------------- ----
         1 韩菱纱     01-8月 -14
         3 霞     01-8月 -14     女
         2 韩菱       01-8月 -14

SQL> select gend from stu;
select gend from stu
       *
第 1 行出现错误:
ORA-00904: "GEND": 标识符无效


SQL> select gender from stu;

GEND
----



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值