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;