oracle数 据 处 理
数据操纵语言
DML(Data Manipulation Language – 数据操纵语言) 可以在下列条件下执行:
向表中插入数据
修改现存数据
删除现存数据
事务是由完成若干项工作的DML语句组成的
插入数据
INSERT 语句语法
使用 INSERT 语句向表中插入数据。
使用这种语法一次只能向表中插入一条数据。
为每一列添加一个新值。
按列的默认顺序列出各个列的值。
在 INSERT 子句中随意列出列名和他们的值。
字符和日期型数据应包含在单引号中。
INSERT INTO departments(department_id, department_name,
manager_id, location_id)
VALUES (70, 'Public Relations', 100, 1700);
INSERT INTO employees(employee_id,last_name,email,hire_date,job_id)
VALUES (300,’Tom’,’tom@126.com’,to_date(‘2012-3-21’,’yyyy-mm-dd’),’SA_RAP’);
插入指定的值
SYSDATE 记录当前系统的日期和时间。
INSERT INTO employees (employee_id,
first_name, last_name,
email, phone_number,
hire_date, job_id, salary,
commission_pct, manager_id,
department_id)
VALUES (113,
'Louis', 'Popp',
'LPOPP', '515.124.4567',
SYSDATE, 'AC_ACCOUNT', 6900,
NULL, 205, 100);
创建脚本
在SQL 语句中使用 & 变量指定列值。
& 变量放在VALUES子句中。
INSERT INTO departments
(department_id, department_name, location_id)
VALUES (&department_id, '&department_name',&location);
从其它表中拷贝数据
在 INSERT 语句中加入子查询
不必书写 VALUES 子句。
子查询中的值列表应与 INSERT 子句中的列名对应
INSERT INTO emp2
SELECT *
FROM employees
WHERE department_id = 90;
UPDATE 语句语法
使用 UPDATE 语句更新数据。
可以一次更新多条数据。
使用 WHERE 子句指定需要更新的数据。
如果省略 WHERE 子句,则表中的所有数据都将被更新
UPDATE employees
SET job_id = (SELECT job_id
FROM employees
WHERE employee_id = 205),
salary = (SELECT salary
FROM employees
WHERE employee_id = 205)
WHERE employee_id = 114;
删除数据
使用 DELETE 语句从表中删除数据。
DELETE FROM departments
WHERE department_name = 'Finance';
在 DELETE 中使用子查询
在 DELETE 中使用子查询,使删除基于另一个表中的数据。
DELETE FROM emp1
WHERE department_id =
(SELECT department_id
FROM dept1
WHERE department_name LIKE '%Public%');