Oracle——5.操作数据

目录

插入数据

插入的简化

插入多条信息

union

更新数据

删除数据


操作数据

DML语句(增、删、改)

插入数据

使用INSERT语句向表中插入数据

insert into 表名(列名1,列名2,列名3......) values(值1,值2,值3....)

-- 增 增加 添加的意思
-- 语法
-- insert into 表名(列名1,列名2,列名3......) values(值1,值2,值3....)

-- 插入一条 部门信息
insert into dept(deptno,dname,loc) values(22,'开发部','大连')
insert into dept(deptno,dname,loc) values(23,'实施部','沈阳')
select * from dept

插入的简化

可以简化 列名信息,但是前提,如果简化了列名信息,那么必须要把所有的列内容,填充满

-- 插入的简化
-- 可以简化 列名信息,但是前提,如果简化了列名信息,那么必须要把所有的列内容,填充满
insert into dept values (24,'测试部','大连')
insert into dept values (25,'研发部','大连')

-- 插入部门列信息
-- 这种 没有插入的列,必须是可以为空的
insert into dept (deptno,dname) values (26,'运维')
insert into dept (deptno) values(27)

insert into dept (deptno,loc) values(29,to_char(sysdate,'yyyy-mm-dd'))

插入多条信息

这种方式有前提条件,就是要插入的这个表,必须要存在

-- 给一个表中插入多条信息
-- 这种方式有前提条件,就是要插入的这个表,必须要存在
-- 从其他表拷贝数据
insert into dept_tmp
select * from dept where loc='大连'

select * from dept_tmp

union

-- union合并 可以通过 sql结果合并,来实现 插入多条数据的形式
-- 如果有相同的一条数据会合并成一条数据
insert into dept_tmp
select 71,'销售部','大连' from dual
union
select 71,'销售部','大连' from dual
union
select 72,'推广部','大连' from dual
union
select 73,'售后部','大连' from dual
union
select 74,'总裁部','大连' from dual

-- union和union all的区别
-- union是把相同的结果 合并在一起(变成一条)
-- union all 不会把相同的信息合并在一起

更新数据

update 表名 set 列名=值 where 条件

---------------更新-------------------
-- update语句
-- 基础语法
-- update 表名 set 列名=值 where 条件
select * from dept_tmp
-- 如果没有条件会把所有都变成'广告部'
update dept_tmp set dname='广告部' where loc='大连'

update dept_tmp set loc='大连' where loc like '%NEW%'
-- 修改多个列,该如何处理
-- 多个列修改时,用 逗号 隔开
update dept_tmp set loc='大连',dname='市场运营部' where dname is null

-- 今年大家干的都很好,所以每个人都涨工资 emp表,每个人都涨500
select * from emp
update emp set sal=sal+500 where deptno=30

删除数据

delete from 表名 [条件]

-----------------------删除---------------------------
-- 语法
-- delete from 表名 [条件]
-- 如果delete没有添加条件,会删除整张表的数据
delete from test

delete from dept_tmp where deptno=72
-- 现在大多数企业中,都不会使用delete来进行删除数据
-- 一般都会修改数据(逻辑删除)

-- 删除部门表中的20部门
-- 如果有外键关联时,删除主表中的数据时,那么从表中的数据不能有关联关系
delete from dept where deptno=20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值