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;

你可能感兴趣的:(oracle学习)