SQL常用语句总结

转载:http://www.talentdigger.cn/home/space.php?uid=3821&do=blog&id=19384

 

SQL总结

       DMLDDLDCLTransaction总结

1. SQL语句分类(五类):

Select 语句

DMLinsert \ update \ delete \ merge (Oracle 独有,用于数据库同步)

DDLcreate \ drop \ alter \ truncate \ rename \ comment

DCLgrant \ revoke

Transaction commit \ rollback \ savepoint

 

2. 数据库事务由以下的部分组成:

         一个或多个DML 语句

         一个 DDL 语句

         一个 DCL 语句

3. 事务的开始与结束:

         以第一个 DML 语句的执行作为开始

         以下面的其中之一作为结束:

        COMMIT ROLLBACK 语句

        DDL DCL 语句(自动提交)

        用户会话正常结束

        系统异常终止

.事务进程

         自动提交在以下情况中执行:

     DDL 语句。

     DCL 语句。

     不使用 COMMIT ROLLBACK 语句提交或回滚,正常结束会话。

         会话异常结束或系统异常会导致自动回滚。

举例:

5. insert into emp(empno,ename,sal) values(7788,’KING’,5000);

  Insert into emp_bak as (select * from emp);

Update emp set sal = sal +500 where empno = 7788;

Delete [from] emp where empno =7788;

6.create table emp_bak as (select * from emp); (创建表)

 Drop table emp_bak; (删除表) (drop 语句不能回滚)

 Alter table emp_bak drop column comm.; (修改表结构)

 Alter table emp_bak add column comm. number;

 Alter table emp_bak set unused column comm.;

 Alter table emp_bak drop unused columns;

 Truncate table emp;(删除emp 表中的所有数据,并释放表的存储空间。Trancate语句不能回滚

 Rename emp to employee;

 Comment on table emp is ‘Employee information’;

7. savepoint A;

Rollback to A; commit

8. grant connect to scott;

Revoke connect from scott;

 

9.删除表(drop 语句) 要点:

         数据库结构都被删除

         所有正在运行的相关事物被提交

         所有相关索引被删除

        DROP TABLE 语句不能回滚

10. 清空表:(Truncate delete的不同)

        TRUNCATE TABLE 语句:

     删除表中所有的数据

     释放表的存储空间

        TRUNCATE语句不能回滚

         可以使用 DELETE 语句删除数据

         delete产生rollback,如果删除大数据量的表,速度会很慢,同时会占用很多的rollback segments .

         truncate DDL操作,不产生rollback,速度快一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值