Oracle命令笔记

 

cmd--
 sqlplus  "sys/a(密码) as sysdba"
 sqlplus/nolog
 isqlplusctl start

connect sys/a as sysdba  连接sys  sys以sysdba的身份
alter user scott account unlock;   解锁用户
startup (mount 同时启动控制文件..不启动数据文件) (nomount 启动实例..不启动控制文件)  启动(实例--控制文件--数据文件)
alter database open 非归档改为归档
shutdown (immediate 迫使当前用户完成操作后断开连接) (transactional 恢复数据文件) (abort 强行关闭数据库/实例)关闭数据库
exit 退出
help index 帮助文档
SELECT * From dept where deptno=&tt 查找为tt的dept(替代变量)
L(IST) 查看缓存区
C(HANGE) /fron/from
/ 执行缓存区命令
DEL(ETE) 4 删除缓冲区第4行
DEL 2 3 删除从第二行-第三行
a from dept 在缓存区加入"fron dept"
SAVE d:\a\test.txt 将缓存区命令存至路径下文件
@d:\a\text.txt 执行路径下的命令..把命令放至缓存区
get d:\a\test.txt 获取路径下的信息..不执行
edit 打开缓存区(默认为txt)
COL(UMN) deptno HEADING "编号" 将deptno改为"编号"
COL dname FORMAT a10 HEADING "部门名称" 更改标签.以10个字符形式输出
COL deptno FORMAT 999,999,999 以整型输出
TTITLE/BTITLE 设置主题(页眉页角)
TTITLE CENTER "我的标题" SKIP 1-
 LEFT"测试报表" RIGHT "页" -
 FORMAT 999 SQL.PNO SKIP 2(空两行)    设置主题
TTITLE OFF 关闭主题
desc(ribe) dept 检查dept下面有什么字段
? change 查找change命令
BREAK ON pub 使put重复的只显示一个
COMP COUNT LABEL "计数" OF books_name ON pub 以pub计数多少条记录
SPOOL d:\a\a.txt 再执行语句..
SPOOL off    将格式化输出的结果保存到文件中

 

connect scott/tiger
CREATE TABLE abc(a varchar2(10),b char(10));
ALTER TABLE abc ADD c number;
DROP TABLE abc;   删除
ALTER TABLE abc DROP COLUMN c; 将表的C字段删除
connect tt/tt11
SELECT * FROM scott.dept;  查找scott下面的表
conn scott/tiger
GRANT SELECT ON dept TO tt;  给tt用户授权管理所属的表
conn tt/tt11
SELECT * FROM scott.dept;
conn scott/tiger
REVOKE SELECT ON dept FROM tt; 将tt用户管理所属表的授权收回
SELECT * FROM abc; 查找abc表
INSERT INTO abc(a,b) VALUES('abc','xy'); 向表里插入数据
INSERT INTO abc VALUES ('bcd','123'); 所付字段和字内容要相同
SELECT * FROM abc;
UPDATE abc SET b='ttt';  把表中b所有值都改成ttt
UPDATE abc SET b='YYY' WHERE a='abc'; 将a=abc的b改为YYY
DELETE FROM abc; 将表清空
DELETE FROM abc WHERE a='abc'; 将a=abc的数据删除
SELECT LENGTH('ABCDEF') FROM dual; 查找字符数
SELECT LENGTHB('ABC好EF') FROM dual; 查找字节数
SELECT LENGTH(LTRIM('  ABC好EF')) FROM dual; 查找字符数(去掉前面空格)
SELECT LENGTH(RTRIM('ABC好EF   ')) FROM dual; 查找字符数(去掉后面空格)
SELECT LENGTH(TRIM('   ABC好EF   ')) FROM dual; 查找字符数(去掉前后空格)
DESC aa
UPDATE aa SET a3='aa';
SELECT * FROM aa; 查询aa表
SELECT LENGTH(A2),LENGTH(A3) FROM aa; 查找aa表里的A2 A3长度
SELECT SUBSTR('abcdefg',2,3) FROM dual; 从第二个字符开始取..取三个
SELECT SUBSTR('abcdeft',LENGTH('abcdefg') - 3 + 1,3) FROM dual; 从倒数第三个开始取..取三个


用户授权
SELECT user FROM dual;  查询角色
CONN test/test1234  登陆
GRANT SELECT ON scott.dept to test; 让test可以选择scott的部门表
CONN test/test1234
SELECT * FROM scott.dept;  查找scott下的部门表
CONN / as sysdba
ALTER USER test DEFAULT TABLESPACE tt ; 把tt作为test的默认表空间
ALTER USER test IDENTIFIED BY test11; 将test密码改为test11
ALTER USER test ACCOUNT LOCK ; 将test锁定
ALTER USER test ACCOUNT UNLOCK; 将test解锁
CREATE USER qqq IDENTIFIED BY qqq123;  创建qqq 密码qqq123
GRANT CONNECT TO qqq; 把connect权限授予qqq
CONN test/test11
SELECT * FROM scott.dept;
GRANT SELECT ON scott.dept TO qqq;  无法通过(无权限)
CONN / as sysdba
GRANT SELECT ON scott.dept TO test WITH GRANT OPTION  对象授权..将scott.dept的"SELECT ON"权限授予test
CONN test/test11
GRANT SELECT ON scott.dept TO qqq;  成功
CONN qqq/qqq123
SELECT * FROM scott.dept;
GRANT ALL ON scott.dept TO test WITH GRANT OPTION;  授予test所有权限
GRANT EXECUTE ON tt.proc01 TO test; 授权
CONN test/test11
CREATE USER abc IDENTIFIED BY abc  无权限..失败..
CONN / as sysdba
GRANT CREATE USER TO test;
CONN test/test11
CREATE USER abc IDENTIFIED BY abc 创建成功
DROP USER abc; 删除用户(失败..无权限)
CONN / as sysdba
GRANT DROP USER TO test;
CONN test/test11
DROP USER abc;  删除用户(成功)
CONN / as sysdba
GRANT CREATE USER to test;
CONN test/test11
GRANT CREATE USER TO qqq; 失败
CONN / as sysdba
GRANT CREATE USER TO test WITH GRANT OPTION; 对象授权..将管理权限授予并且授予授予其他用户管理的管理权限
GRANT CREATE USER TO test WITH ADMIN OPTION;    系统授权
CONN test/test111
GRANT CREATE USER TO qqq;  成功
CONN qqq/qqq123
CREATE USER ty IDENTIFIED BY ty;  成功
CONN / as sysdba
REVOKE SELECT ON scott.dept FROM test; 将test用户对于scott.dept的"SELECT"权限收回
REVOKE CREATE USER FROM test; 收回"CREATE"权限


角色授权
CREATE ROLE myrole;  创建角色
GRANT SELECT ON tt.emp TO myrole; 将tt.emp的"SELECT"权限授权于myrole
GRANT SELECT ON tt.deptment TO myrole;
connect test/test11
SELECT * FROM tt.emp; 失败(无权限)
CONN / as sysdba
GRANT myrole TO test; 将test成为myrole的成员
CONN test/test11
SELECT * FROM tt.emp;  成功(有权限)
CONN qqq/qqq123
SELECT * FROM tt.emp;  失败(无权限)
CONN / as sysdba
GRANT myrole TO qqq;
CONN qqq/qqq123
SELECT * FROM tt.emp; 成功 

 

表空间的管理
SELECT user FROM dual;  查看当前用户
CREATE TABLESPACE tabs DATAFILE 'E:\oracle\oradata\test\tabs.dbf' SIZE 10M ; 创建一个表空间..名字为tabs..路径..大小
ALTER USER test DEFAULT TABLESPACE tabs; 将tabs设定为用户test的默认表空间
CONN test/test11
CONN / as sysdba
GRANT UNLIMITER TABLESPACE ,DBA TO test; 将TABLESPACE&DBA的权限授予test
CONN test/test11
CREATE TABLE tre(t char(10),re number); 创建表(放于用户默认表空间)
CREATE TABLE ty(t char(10),y varchar2(10)) TABLESPACE tt ; 将表放于tt的表空间当中


上课
set Oracle_sid=mydb  <==> conn sys/a@mydb
conn sys/a   <==>
show parameter spfile; 查找配置文件路径
create pfile='mypfile.ora' from spfile; 建立pfile(pfile为文件全名) \修改参数
create spfile='myspfile.ora' from pfile='mypfile'; 建立spfile /
show paramter; 显示所有参数
ALTER SESSION SET nls_date_format='YYYY-MM-DD'; 将格式该为(动态参数) 当前会话
ALTER SYSTEM       所有会话


CREATE TABLE t1( 建表1
 f1 integer,
 f2 varchar2(20),
);

ALTER TABLE t1 add primary key(f1); 增加主键

CREATE TABLE t2( 建表2
 f1 integer,
 f2 integer,
);

ALTER TABLE t2 add primary key(f1); 增加主键
ALTER TABLE t2 add constraint fr foreign key(f2) references t1(f1); 增加外键

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值