星辰日月00

欲多则心散,心散则志衰,志衰则思不达也!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

数据操作语言DML包括INSERT、DELETE、UPDATE等语句。它们分别进行数据增、删、改的功能。
Oracle处理DML语句的结果时,以事务(transaction)为单位进行,一个事务为一个工作的
逻辑单元,是一个SQL语句序列,在执行每一个DML语句时,所有的操作都在内存中完成,
在执行完一系列DML语句后,需要决定由DML语句所做的修改,是全部或部分地保留到硬盘文件上,
还是全部撤销。
一、数据操作语言
1.插入数据INSERT
INSERT语句的作用是将数据行追加到表或视图的基表中。
INSERT INTO students            --此情况可省略列名(顺序和数量一致)
VALUES(10138,10101,'王一','男','26-12月-1989','计算机');
INSERT INTO students(studnet_id,monitor_id,name,dob,sex,specialty)
VALUES(10139,10101,'王二','26-12月-1989','男','计算机');
INSERT INTO students(studnet_id,name,dob,sex,specialty)  --空值NULL
VALUES(10140,'王三',NULL,'男',,'计算机');
INSERT INTO teachers(teacher_id,name,hire_date,department_id)  --默认值DEFAULT
VALUES(10139,'张四',DEFAULT,101);
2.更新数据UPDATE
UDPATE语句的作用是修改指定表或指定视图的基表中的值。
注意:使用UPDATE语句应当注意,如果更新数字列,可以直接提供数据值;如果更新字符列
或日期列,则数据必须加单引号。当更新数据时,UPDATE语句中提供的数据必须要与对应列
的数据类型匹配。
语法格式:
 UPDATE <table_name>
   SET <column_name> = value
      [,<column_name> = value]
 [WHERE condition(s)]
UPDATE students SET student_id = 10198
 WHERE student_id = 10138;
UPDATE students SET specialty = '计算机应用'
 WHERE specialty = '计算机';
UPDATE students SET dob = '16-2月-1989'
 WHERE student_id = 10198;
UPDATE students SET specialty = NULL
 WHERE student_id = 10198;
UPDATE teachers SET hire_date = DEFAULT
 WHERE teacher_id = 11111;
UPDATE teacher
   SET wage = 1.1 * wage,
      bonus = bonus + 10
 WHERE title = '教授';
3.删除数据DELETE、TRUNCATE TABLE
DELETE语句的作用是在指定表或指定视图的基表中删除记录行。
(1)删除数据DELETE
语法格式:
 DELETE FROM <table_name>
 [WHERE condition(s)];
DELETE FROM students_grade      --不使用WHERE子句,删除表中的全部记录。
DELETE FROM students WHERE specialty = '计算机应用';
(2)删除数据TRUNCATE TABLE
TRUNCATE TABLE语句用于删除表的所有数据(截断表)
语法格式:TRUNCATE TABLE <table_name>
两者区别:DELETE语句和TRUNCATE TABLE语句都可以删除表的所有数据,但前者删除表的所有数据时,不会释放表所占用的空间,并且操作可以撤销(ROLLBACK),而后者则相反。

posted on 2012-03-04 16:45  星辰日月00  阅读(2920)  评论(0编辑  收藏  举报