Oracle学习手记

--授权
grant create table , create view to scott;
grant select on dept to tt;--给tt赋予选择dept权限
--
删除权限
Revoke select on dept from tt;--把选择dept表权限从tt收回
命令提示符连接isqlplus
c:>sql /nolog
sql>conn sys/database as sysdba --以DBA身份登陆
为scott授权

使用scott/database登陆
检索表dept/emp/salgrade
查看各表描述:
   
--查看表描述
desc dept;
desc emp;
desc salgrade;
基本查询操作语句
select * from dept;
select sal*2 from dept;
select ename||'AAA' from emp;(连接)
select sal sal_name from emp;(取别名)
select ename||sal from emp;(串连接)
select ename||'AAA"BBB' from emp;(用单引号显示双引号)


oracle 10g 使用isqlplus创建删除表空间:

--创建表空间
create tablespace K10005(表空间名)
datafile 
'D:\oracle\db\K10005.ora' (数据文件存放地点 D:\oracle\db\文件夹要先存在)
size 500M
default storage
(initial 200m
next 50m
minextents 
20
maxextents 
500)
online; 
--删除表空间
drop tablespace k1005
oracle 10g 创建序列(自动编号)
--语法
CREATE SEQUENCE [user.]sequence_name
     
[increment by n]
     
[start with n]
     
[maxvalue n | nomaxvalue]
     
[minvalue n | nominvalue];
     INCREMENT 
BY: --指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
     START WITH--指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
     MAXVALUE:--指定序列可生成的最大值。
     NOMAXVALUE:--为升序指定最大值为1027,为降序指定最大值为-1。
     MINVALUE:--指定序列的最小值。
     NOMINVALUE:--为升序指定最小值为1。为降序指定最小值为-1026。
调用序列
CURRVAL
=返回 sequence的当前值  
NEXTVAL
=增加sequence的值,然后返回 sequence 值 
添加列和删除列
alter table abc(表名) Add c number(类型)
alter table abc(表名) Drop COLUMN c
oracle系统时间
--设定
Alter Session set nls_date_format 'dd-mon-yyyy hh:mi:ss';
--显示时间
select current_date from dual;
--Next_day()
select next_day(sysdate,'星期日'from dual;
next_day(sysda)
01-6月 -08

Oracle转换
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'from dual;
结果:
2008-05-28 20:33
select to_date(sysdate) from dual;
结果:
28-5月 -08
Oracle其他函数
--user
获取当前帐户
select user from dual;
结果: 
user
      scott
--decode
select sum(decode(sex,'',1.0)) 男人数,sum(decode(sex,'',1.0)) 女人数 from e;
--nvl
select a1,nvl(a2,'未输入'from aa;
原文地址:https://www.cnblogs.com/jinweida/p/1208824.html