从零开始学Oracle—基本语法解析(二)

                                      Oracle数据操作语言 DML
接上一篇:
2. DML语句(数据操作语言) Data Manupilate Language     
   select
   insert
   delete
   update
     特点:<1>对数据起作用的
            <2> 这些语句的修改是在内存中发生的
             要想改动存入库中必须要commit语句

查看当前用户的所有权限
select * from session_privs;
查看当前用户下的所有表
select * from tab where tabtype='TABLE';


3. TCL(事务控制语句) Transaction Control Language
  commit;  提交  修改保存到数据库中
  rollback; 回滚  取消内存中的改动
  savepoint;保存点 分解事务的 把事务变小
       DDL语句 会自动提交以前未提交的事务
       关闭SQLplus工具 也会自动提交未提交的事务的
  事务 -- 就是一个完整的对数据的DML操作
  所有事务 都是要明确的提交和回滚的
  --转账 
    update 账目表
    set 钱=钱-500
    where 帐号='A';
    update 账目表
    set 钱=钱+500
    where 帐号='B';
    commit;


    事务何时存在 DML语句中除select以外都会有事务
   
《《《《《《《注意》》》》》 / 重复运行上一条SQL语句  

  commit;    结束上一个事务 并且开始一个新的事务

  update student set sal = null where xh =1000;

  savepoint c111;
   
  insert into student(xh,name,sex) values (1004,'MIKE','男');

  rollback to c111; --撤销了插入的数据

  rollback;  --从c111这个点回滚到事务的开始点

《SQLPLUS规则》  
   a)DML语句后跟上DDL语句 DML语句的事务会被自动提交
   b)exit/quit命令 退出 SQLPLUS环境时也会自动提交事务
      点小叉子关闭sqlplus窗口 事务都自动回滚了
   c)非法操作是不能提交事务的 ,只能导致事务回滚
 
《4》 DCL语句(数据控制语句) Data Control Language                    grant 授予权限
     revoke 撤销权限
   权限 select ,insert,delete,update 
        all (select ,insert,delete,update 总和)
   角色 connect (登陆数据库),resource(建立表和对象)
   
   如何建一个自己的用户?
     必须是超级用户才能建用户
     --连接到超级用户
     connect system/manager
     --建立用户名zhangsan 密码m123 
     create user zhangsan identified by m123;
     --授予必要的权限connect 你能够连接
                    resource 你能建表不受空间的限制,建立对象
     grant connect,resource to zhangsan;
     --这个普通用户就建好了 和scott用户的权限是一样的      
     grant DBA to zhangsan; --张三的权限和System一样
   
     --改张三的密码
    <<1>> 自己改自己的密码
        connect zhangsan/m123
        密码改为了mm1  
        alter user zhangsan identified by mm1;
    <<2>> 超级用户来改
        connect system/manager
        alter user zhangsan identified by mm1; 

原文地址:https://www.cnblogs.com/sunjie9606/p/2167405.html