您的位置:首页 > 数据库 > Oracle

Oracle学习9:update、delete from、insert语句详解

2017-12-29 10:07 791 查看
有时我们需要对已存在的记录进行操作(update, delete from),或者记录插入(insert into)。

1.update

update tab_nam set col_name = new value where ...;


例子:

update test_ljb set employee = 'Name' where employee = 'NewName';


2.delete from

delete from tab_nam where ...;


例子:

delete from test_ljb where employee = 'Test';


3.insert

insert语句较为复杂,可分为单行插入、多行插入、查询插入。

3.1单条记录插入(单行插入)

单行插入,又分为部分字段插入,全字段插入。

3.1.1部分字段插入

insert into tab_nam(col_name1, col_name1, ...) values('values1', 'values2', ...);


例子

insert into test_ljb(employee, salary) values('Learn', '5000');


3.1.2全字段插入

insert into tab_nam values ('V1', 'V2', ..., 'Vn');


例子

insert into test_ljb values('Learn', '5000', '200');


实际上,部分字段插入和全字段插入可以相互转换,如下,把

insert into test_ljb(employee, salary, bonus) values('Learn', '5000', '200');   --同一个结果
insert into test_ljb values('Learn', '5000', '200');                            --同一个结果


insert into test_ljb(employee, salary) values('Learn', '5000'); --同一个结果
insert into test_ljb values('Learn', '5000', NULL);             --同一个结果


3.2多条记录插入(多行插入)

insert all      --这里和Mysql不一样
into tab_nam values()
into tab_nam values()
...
;


例子

insert all
into test_ljb values('insert1','','')
into test_ljb values('insert2','','')
into test_ljb values('insert3','','')
select 1 from dual;


3.3查询插入

insert into tab_nam
select ...
;


insert into test_ljb
select * from test_ljb
where 1=0;


顺便提一句,在Hive中没有truncate语句,所以想要删除所有记录,可以采用

insert overwrite test_ljb
select * from test_ljb
where 1=0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle update delete insert