传智播客我的Oracle复习‘路’

 ======================最近在复习Oracle这是自己总结的 =============
======= Oracle之门  =======

【第一步:熟悉oracle基本命令】

【基本sqlplus命令】
启动oracle  ==  启动oracleservice、Listener服务
失败则查看文件host值
登陆oracle  ==  sqlplus  user/password  [sqlplus  system/feiyue]
出现SQL> 则登陆成功
切换用户    ==  connect  user/password  [connect scott/tiger]
导入脚本    ==  @ 路径   [@ f:/a.txt]
查看当前用户==  show user
查看表的结构==  desc[ribe] table
在缓冲区编写==  ed[it]
执行上一条sql语句  ==  / 符号
设置行宽    ==  set linesize 120
设置页高    ==  set pagesize 90
打开日志    ==  spool f:/aa.txt
关闭日志    ==  spool off
命令换行写  ==  show -            user
保存脚本    ==  save c:/ss.txt
【基本的sql语句==用户管理】
创建用户    ==  create user scott identified by tiger; 
删除用户    ==  drop user scott;
修改用户    ==  alter user scott identified by test2;
查看用户    ==  select user from dual;/select username from dba_users;(所有已建用户)
授权        ==  grant connect,resource to scott;
撤销授权    ==  revoke select on dept from www
强迫修改密码==  alter user test password expire;
锁定用户    ==  alter user test account lock;
用户解锁    ==  alter user test account unlock;

【基本的sql语句==表的管理】
创建test表  ==  create table test(id number(5),title varchar2(100));
删除test表  ==  drop table test;
查看test表  ==  describe test  (非sql语句)
修改test表  ==  alter table test add(content varchar(1000));
截断test表  ==  truncate table test;(数据删除不可回复)
复制test表  ==  create table test2 as select * from test;

【基本的sql语句==数据管理】
插入数据    ==  insert into test(id,title,content) values(1,'222ff','hah');
insert into test select * from test2
删除数据    ==  delete from test [where ***]
截断表  truncate table test; 此无法回复
修改数据    ==  update test set **=** [where **=**]
查询数据    ==  select *,* from test [where **=**]


=====实际操作======
服务已启动
开始登陆  sqlplus system/feiye   登陆成功
创建scott用户  create user scott identified by tiger;记住需要;号
切换到scott用户 connect scott/tiger
出现
ERROR:
ORA-01045: user SCOTT lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
原因:没有赋予scott用户权限
授权 grant connect,resource to scott;
再次切换用户  connect scott/tiger
导入脚本   @ F:/工作一族/社会踏入/工作复习录/Oracle复习全攻略/资料/SQL_EMP_DEPT.txt


======知识点攻击=====
一、
用户管理
创建test/test用户        create user test identified by test;
修改test用户的密码       alter  user test identified by test;
查看当前用户             slect  user from dual;
查询所有用户             select username from dba_users;(必须是超级用户)
强迫改密码               alter user test password expire;(必须是超级用户)       
锁定用户                 alter user test account lock;(必须是超级用户)
用户解锁                 alter user test account unlock;(必须是超级用户)
删除用户                 drop user test;(必须是超级用户,而且用户不能是连接状态)
二、
表的管理
创建test表(id,title,content)
create table test(
id number(9) not null primary key,
title varchar2(50),
content varchar2(1000));
修改test表
添加other字段          alter table test add (other varchar2(150));
修改other字段长度      alter table test modify (other varchar2(180));(与原数据类型不能冲突)
修改other字段类型      alter table test modify (other number(5,2));(与原数据类型不能冲突)
删除other字段          alter table test drop column other;
修改表的名称          rename test to news;
删除test表          drop table test;
查看test表              describe test (非sql语句) select * from tab;(所有拥有的表)
复制test表               create table test2 as select * from test;
三、
数据管理
插入数据                 insert into test values(2,'gg','hhh','55ff');
修改数据                 update test set title='qqqq' where id=2;
删除数据                 delete from test where title='qqqq';
查看数据                 select * from test where title='qqqq';



======问题分析=====
一、
DCL语句执行后会自动提交事务
但如果刚登陆的用户没此权限,但是在登陆中,
必须先退出,在连接。
此不是锁的概念,所以需要退出重新连接
二、
公共同义词还是不熟悉
像DBA_users则不是,select username from dba_users;
只能是超级用户才可以查询
三、
密码修改可以在当前用户下修改
修改完当时不会退出,但退出后必须用修改后的密码登陆

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值