一 数据操纵语言(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 :回收权限