数据的操作

※select语句,数据查(此处略)

※ insert语句,数据增

基本语法:

   insert into tb_name[(col_name,...)]
    values(val1,....);
例:
    create table stu(
    id number primary key,
    name varchar2(10),
    age number
    );
    insert into stu values(1,’lisi’,30);
    insert into stu(id, name, age) values(2,’lisi’,30);
    insert into stu(name,id,age) values(’lisi’,3,30);
    insert into stu(id, name) values(4,’lisi’);

注意:没有操作的列为null值
note:
1.如果给每个列都插入数据,可以省略tb_name后边的列
2.字符串和日期类型的值必须使用‘’引起来

※ 使用子查询插入

insert into table_name[(col_name,....)]
    select .......
例:insert into stu
    //将查询到的id,first_name插入表stu中
    select id,first_name
    from s_emp
    where first_name is not null;

※ delete语句,数据删

基本语法:

    delete [from] tbl_name [where option...]
    删除整张表
    delete from stu;
    删除部门数据
    delete from stu
    where id>=8 and id<=10;

注意:只删除数据不删除存储空间

※ truncate关键字

清空表记录,且释放表空间(返回建表初始状态)

       truncate table tb_name
 例:   truncate table stt;

※ 级联删除数据 on delete cascade \ on delete set null关键字

  1. on delete cascade 当引的另外一张表的主键数据删除级联的删除当前表外键所对对应的行。
  2. on delete set null当引的另外一张表的主键数据删除级联的设置当前表外键所对对应的列为null。
create table hus(
    id number primary key,
    name varchar2(10)
    );
    create table wife(
    id number primary key,
    name varchar2(10),
    hus_id number reference hus(id) on delete cascade
    );

注意:on delete cascade、on delete set null都是加在外键的声明后面。

※ update 语句,数据改

基本语法:

update table_name set column_name=value,[column_name=value]
          [where condition...]; 

例:  update stu set ids=26,name=briup 
    where ids=1
    所有为name的全部替换
    update stu set name=‘huzl’

※ 事务控制

事物:一系列操作的集合(整体)
※ 1 .DML—>insert delete update
多个sql语句为一个事物,commit rollback
※ 2 .DDL ->alter rename create truncate drop
每一sql就是一个事物,自带commit;

※ 事物的开始
当一个sql命令执行一个事务就开始了,一个事物可能包含一条sql语句也可能是一个sql语句的集合(DML)
※ 事物提交结束的方式
1.commit或者rollback
2.DDL或者DCL命令执行
3.错误,退出,或者系统崩溃

※ 事务控制使用:commit,savepoint,rollback;

insert into stu values(1,'b');
commit;//提交
insert into stu vaules(2,'b');
rollback;//回滚

//savepoint与rollback连用
intsert into stu values(3,'b');
savepoint a;
intsert into stu values(4,'b');
savepoint b;
intsert into stu values(5,'b');
savepoint c;
intsert into stu values(6,'b');
rollback to b;
//回退到b,只会有前两个的信息

※ 隐式事务提交:
1.DDL语句(create..),执行
2.DCL语句(gant….),执行
3.正常退出终端。
注意:如果系统崩溃,或者sqlplus不增长退出,事务回滚。

※ 事务的ACID原则:
1.原子性:要不全成功,要不全失败
2.一致性:从一个一致性状态到达另外一个一致性状态
3.隔离性:事务之间互不影响
4.持久性:事务提交后,能够持久性影响数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值