目录
操作数据
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