--
授权
grant create table , create view to scott;
grant select on dept to tt; -- 给tt赋予选择dept权限
-- 删除权限
Revoke select on dept from tt; -- 把选择dept表权限从tt收回
命令提示符连接isqlplus
grant create table , create view to scott;
grant select on dept to tt; -- 给tt赋予选择dept权限
-- 删除权限
Revoke select on dept from tt; -- 把选择dept表权限从tt收回
c:>sql /nolog
sql>conn sys/database as sysdba --以DBA身份登陆
为scott授权
使用scott/database登陆
检索表dept/emp/salgrade
查看各表描述:
--
查看表描述
desc dept;
desc emp;
desc 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;(用单引号显示双引号)
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;
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 创建序列(自动编号)
drop tablespace k1005
--
语法
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 值
添加列和删除列
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 table abc(表名) Drop COLUMN c
--
设定
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
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其他函数
结果: 2008 - 05 - 28 20 : 33
select to_date(sysdate) from dual;
结果: 28 - 5月 - 08
--
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;
获取当前帐户
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;