Oracle_04 DML操作语言

一、简介

用于数据的增删改

DML执行完成没有直接提示

DML执行完成时需要配合commit(提交)同时使用,将数据持久化

DML可以使用rollback(回滚)将没有提交的sql语句回滚,提交之后就不可以回滚了

二、分类

(1)insert数据插入

语法:

insert into 表名[(字段名.可以省略)]

values(值(必须和字段一一对应))

插入数据时,需要按照约束条件去插入,一旦违反了约束会报出相应的错误

语法:INSERT INTO 表名(字段1,字段2...) VALUES(值1,值2,...)

--1.复制一个dept表[复制的表没有主键]
CREATE TABLE deptNew
AS
SELECT * FROM dept;

SELECT * FROM deptNew;

--插入全部数据
INSERT INTO deptNew VALUES(66,'后勤部','高新园区');


--一次插入多个值
--注意:每句结束后必须有分号
INSERT INTO deptNew(deptno,dname) VALUES(67,'游戏部');
INSERT INTO deptNew(deptno,dname) VALUES(68,'技术部');

--练习题:向员工表emp中插入一条数据,员工编号8988 姓名xiaowang,工资8000,奖金300
--日期2022-6-1,领导编号7698,部门30号
INSERT INTO emp(empno,ename,sal,comm,hiredate,mgr,deptno)
values(8988,'xiaowang',8000,300,to_date('2022-6-1','yyyy-mm-dd'),7698,30);

SELECT * FROM emp;

(2)update修改数据

语法:UPDATE 表名 SET 字段1 = 值1,字段2 = 值2....

WHERE 条件

--修改员工表中的员工工资为3000,king
SELECT * FROM emp;

UPDATE emp SET sal = 3000 WHERE ename = 'KING';

--将SMITH的工资设置为与20部门最高的工资一样
UPDATE emp SET sal = (SELECT MAX(sal) FROM emp WHERE deptno = 20)
WHERE ename = 'SMITH';
--将所有人的工资都涨1000
UPDATE emp SET sal = sal + 1000;
--将xiaowang的职位设为与SMITH一样
UPDATE emp SET job = (SELECT job FROM emp WHERE ename = 'SMITH')
WHERE ename = 'xiaowang';

注意:不写where,把表中数据全部修改

(3)delete删除数据 

语法:delete [from] 表名 where 条件

注意:如果省略where就是删除全部数据

--删除表中的数据

--删除deptNew表中的所有数据

DELETE FROM deptNew;

SELECT * FROM deptNew;

--删除指定条件的数据
DELETE FROM deptNew WHERE deptno = 67;

--删除表
DROP TABLE deptNew;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值