DML:数据库操作语言(Data Manipulation Language)
–创建学生表
create table tb_clazz(
id number,
code varchar2(18)
);
select * from tb_clazz;
–插入数据
insert into tb_clazz(id, code) values (1, ‘j1202’);
insert into tb_clazz(id, code) values (2, ‘j1202’);
insert into tb_clazz(id, code) values (3, ‘j1203’);
–merge 支持合并表
merge into tb_clazz
t1 –tb_clazz表是要更新的表
using tb_clazz2
t2 –关联表
on(t1.id=t2.id) –关联条件
when matched then –匹配关联条件,作更新处理
update set t1.code=t2.code
when not matched then
insert –不匹配关联条件,作插入处理
values(t2.id,t2.code);
–当所有操作完成,可以一次性提交,不需要每操作一条SQL语句提交一次
commit;
–某某转账10000给某某老师,从账户扣除10000
–抛出异常
–某某老师账户增加10000
commit;
rollback;
–建表另一种方式,从其他表中创建
create table tb_clazz2 –创建表tb_clazz2,表结构和内容和tb_clazz表中一样
as
select * from tb_clazz;
create table tb_clazz3 –创建表tb_clazz3,只创建–创建表tb_clazz中的code字段和内容
as
select code from tb_clazz;
create table tb_clazz4
as
select * from tb_clazz where id=1;
select * from tb_clazz2;
select * from tb_clazz3;
select * from tb_clazz4;
–插入数据比较复杂的方式
insert into tb_clazz4(id, code)
select id,code from tb_clazz;
–修改数据
–将tb_clazz表的凑得改成id 为1的数据,code改成j1201
update tb_clazz
set code=’1201′,id=6
where id=1;
–如果不加where 条件,所有符合条件的数据都会被修改
update tb_clazz
set code=’1209′;
–删除数据,会删除所有符合条件的数据
delete from tb_clazz
where id=3;
delete from tb_clazz
where code=1209;
–DML 删除所有数据,保留表结构(可以回滚)
delete from tb_clazz;
–DDL 截断表 删除所有数据,保留表结构 (DDL 语句,不能回滚)
truncate table tb_clazz;
–drop 删除数据和表结构,不可以回滚数据
drop table tb_clazz;
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176739.html原文链接:https://javaforall.net
