相同点:
1.truncate和不带where子句的delete, 以及drop都会删除表内的数据。
2.drop,truncate都是DDL语句,执行后会自动提交。
不同点:
1.
2.delete语句是dml,这个操作会放到rollback
3.delete语句不影响表所占用的extent,
4.速度,一般来说:
5.安全性:小心使用drop
使用上,想删除部分数据行用delete,注意带上where子句.
想删除表,当然用drop
想保留表而将所有数据删除.
如果是整理表内部的碎片,可以用truncate跟上reuse
DML DCL DDL TCL说明:
1. DDL
CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object
2. DML
Data Manipulation Language (DML) statements are used for managing data within schema objects. Some examples:
SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency
3. DCL
Data Control Language (DCL) statements. Some examples:
GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command
4. TCL
Transaction Control (TCL) statements are used to manage the changes made by DML statements. It allows statements to be grouped together into logical transactions.
COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT
SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use
转自:http://blog.sina.com.cn/s/blog_48b7aa030100llz7.html