SQL学习总结(四)

一 数据操纵语言(DML)
   insert
     例:insert into A values(10,'A10');
     注:insert只能插入一条,要与A表内的格式对应
     insert into e select * from emp;(保证e表已经建立,并且与emp表格式相同)
     insert into e values(8000,'eric','boss',null,'12-OCT-86',5000,300,40);
     注意:字符和日期要用单引号,而数值则不需要,当某项为空值时写null
  
   update
     update e set hiredate='20-OCT-86' where empno=8000;d
  
   delete
     delete【from】 e where empno=8000;
     注意:update和delete千万不要忘记加条件,不然更改表中的所有行,后果很严重。
     指定with check option就指明了如下情况:如果在insert、update或delete语句中使用子查询代替表,则不允许对该表进行更改以免产生子查询中不包含的行。
  
   merge(合并表中的数据)
     提供有条件地在数据库表中更新或插入数据的功能,如果该行存在就执行update,如果是新行则执行insert。

二 数据定义语言(DDL)
   create
      create table A(deptno number(2),ename varchar(14),loc varchar2(13));
      create table e as select * from emp;与下面那两句等价
      create table e as select * from emp where 1=2;加上insert into e select * from emp;
     
   alter
       create table t(id number);
       alter table t add (name varchar2(10));
       alter table t modify (id number(2));
       alter table t rename column id to no;
       alter table t drop column name;
   drop
       drop table t purge;彻底删除表t
       注:如果是drop table t;其实表是被放在像回收站里的东东,我们可以通过
    【select object_name,original_name,type from  recyclebin;】 这语句来查看recyclebin回收站里的对象,
  解决方法:
  (1)可以先闪回在直接删除外:
    【flashback table d to before drop;
      drop table d purge;】
  (2)还可以在PURGE TABLE的时候指定回收站中的名称,
   (3)采用直接【PURGE RECYCLEBIN】的方式清除(这种方法会将当前用户下RECYCLEBIN中所有的对象清除)。
  
   rename 修改表名
       rename t to t1;

    truncate 清空表里的内容

        truncate table dept_1;

       

三 事务控制语言(TCL)
   commit:将所有待定的数据更改永久化,从而结束当前的事务处理
   rollback:rollback将放弃所有待定的数据更改,从而结束当前的事务处理
   savepoint name:在当前事务处理中标记一个保存点
   rollback to savepoint name:将当前的事务处理回退到指定的保存点,从而放弃从该保存点之后所作出的所有更改和/或创建的保存点。如果省略leto savepoint 子句,rollback语句将回退整个事务处理。不过保存点是逻辑的,保存点名可以随便取,最好取有意义的。
  
四 数据控制语言(DCL)
   grant:授予权限
   revoke :回收权限

你可能感兴趣的:(SQL学习总结(四))