======================最近在复习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;
只能是超级用户才可以查询
三、
密码修改可以在当前用户下修改
修改完当时不会退出,但退出后必须用修改后的密码登陆
传智播客我的Oracle复习‘路’
最新推荐文章于 2024-07-12 17:34:46 发布