1.删除用户下的所有内容:
drop user xxx cascade;
2.删除表空间:
drop tablespace AA including contents;
3.查看当前用户默认表空间:
select * from user_users
4.查看、修改表空间大小:
select * from dba_data_files where tablespace_name='AA';
alter database datafile 'F:/ORACLE/ORADATA/LIBO/AA.ORA' resize 150M;
5.查询表是否存在:
select count(*) from dba_tables where TABLE_NAME = '表名'
select count(*) from all_tables where TABLE_NAME = '表名'
select count(*) from user_tables where TABLE_NAME = '表名'
6.INSTR方法的格式为:
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置.
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是
Instring
——————
14
7.字符串截取:
substr(WAMID,17,10)='E281ADA39E4FE71'
8.dual表
是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:
1、查看当前用户,可以在 SQL Plus中执行下面语句
select user from dual;
2、用来调用系统函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--获得当前系统时间
select SYS_CONTEXT('USERENV','TERMINAL') from dual;--获得主机名
select SYS_CONTEXT('USERENV','language') from dual;--获得当前locale
select dbms_random.random from dual;--获得一个随机数
3、得到序列的下一个值或当前值,用下面语句
select your_sequence.nextval from dual;--获得序列your_sequence的下一个值
select your_sequence.currval from dual;--获得序列your_sequence的当前值
4、可以用做计算器
select 7*9 from dual;
9.replace(字符串,要替换的字符串,替换的字符串)
10.连接字符串 ||和concat是一样的,CONCAT()一次只能将两个字串串连起来,用 '|| '连多个字串。
11.decode() 函数
例如:查询赋值,判断查询结果,如果查不到就赋值''
select decode(cou,'0','',(select mei004 from systbd where mei001='12345')) from (select count(*) cou
from systbd where mei001='12345')
12.一些基本类型的转换
to_char
to_number
to_date
13.在触发器中不能运行 ddl语句和commit,rollback语句
ddl语句:DDL语句用语定义和管理数据库中的对象,如Create,Alter,Drop,truncate等;DDL操作是隐性提交的!
操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger
DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。
如insert,delete,update,select等都是DML.
14.大小写转换函数: Upper('aabb') Lower('AABB')
15.字段 表名的别名
字段的别名用 as 或空格;表的别名用空格,不能用as
15.创建表空间、用户、权限
connect system/manager@testdb
1.创建表空间:
create tablespace library
datafile 'c:/oracle/oradata/test3/library.ora' size 10m;
2.创建用户
create user "LIBUSER" profile "DEFAULT" IDENTIFIED BY "yourpassword"
default tablespace "LIBRARY"
temporary tablespace "temp"
account unlock ;
3.赋权限:
grant "CONNECT","DBA","RESOURCE",CREATE ANY TABLE ,create any sequence,UNLIMITED TABLESPACE TO "LIBUSER"
删权限
revoke "CONNECT","DBA","RESOURCE",CREATE ANY TABLE ,UNLIMITED TABLESPACE from "LIBUSER"
--------------------------------------------------------------------------
权限列表;
alter any cluster 修改任意簇的权限
alter any index 修改任意索引的权限
alter any role 修改任意角色的权限
alter any sequence 修改任意序列的权限
alter any snapshot 修改任意快照的权限
alter any table 修改任意表的权限
alter any trigger 修改任意触发器的权限
alter cluster 修改拥有簇的权限
alter database 修改数据库的权限
alter procedure 修改拥有的存储过程权限
alter profile 修改资源限制简表的权限
alter resource cost 设置佳话资源开销的权限
alter rollback segment 修改回滚段的权限
alter sequence 修改拥有的序列权限
alter session 修改数据库会话的权限
alter sytem 修改数据库服务器设置的权限
alter table 修改拥有的表权限
alter tablespace 修改表空间的权限
alter user 修改用户的权限
analyze 使用analyze命令分析数据库中任意的表、索引和簇
audit any 为任意的数据库对象设置审计选项
audit system 允许系统操作审计
backup any table 备份任意表的权限
become user 切换用户状态的权限
commit any table 提交表的权限
create any cluster 为任意用户创建簇的权限
create any index 为任意用户创建索引的权限
create any procedure 为任意用户创建存储过程的权限
create any sequence 为任意用户创建序列的权限
create any snapshot 为任意用户创建快照的权限
create any synonym 为任意用户创建同义名的权限
create any table 为任意用户创建表的权限
create any trigger 为任意用户创建触发器的权限
create any view 为任意用户创建视图的权限
create cluster 为用户创建簇的权限
create database link 为用户创建的权限
create procedure 为用户创建存储过程的权限
create profile 创建资源限制简表的权限
create public database link 创建公共数据库链路的权限
create public synonym 创建公共同义名的权限
create role 创建角色的权限
create rollback segment 创建回滚段的权限
create session 创建会话的权限
create sequence 为用户创建序列的权限
create snapshot 为用户创建快照的权限
create synonym 为用户创建同义名的权限
create table 为用户创建表的权限
create tablespace 创建表空间的权限
create user 创建用户的权限
create view 为用户创建视图的权限
delete any table 删除任意表行的权限
delete any view 删除任意视图行的权限
delete snapshot 删除快照中行的权限
delete table 为用户删除表行的权限
delete view 为用户删除视图行的权限
drop any cluster 删除任意簇的权限
drop any index 删除任意索引的权限
drop any procedure 删除任意存储过程的权限
drop any role 删除任意角色的权限
drop any sequence 删除任意序列的权限
drop any snapshot 删除任意快照的权限
drop any synonym 删除任意同义名的权限
drop any table 删除任意表的权限
drop any trigger 删除任意触发器的权限
drop any view 删除任意视图的权限
drop profile 删除资源限制简表的权限
drop public cluster 删除公共簇的权限
drop public database link 删除公共数据链路的权限
drop public synonym 删除公共同义名的权限
drop rollback segment 删除回滚段的权限
drop tablespace 删除表空间的权限
drop user 删除用户的权限
execute any procedure 执行任意存储过程的权限
execute function 执行存储函数的权限
execute package 执行存储包的权限
execute procedure 执行用户存储过程的权限
force any transaction 管理未提交的任意事务的输出权限
force transaction 管理未提交的用户事务的输出权限
grant any privilege 授予任意系统特权的权限
grant any role 授予任意角色的权限
index table 给表加索引的权限
insert any table 向任意表中插入行的权限
insert snapshot 向快照中插入行的权限
insert table 向用户表中插入行的权限
insert view 向用户视图中插行的权限
lock any table 给任意表加锁的权限
manager tablespace 管理(备份可用性)表空间的权限
references table 参考表的权限
restricted session 创建有限制的数据库会话的权限
select any sequence 使用任意序列的权限
select any table 使用任意表的权限
select snapshot 使用快照的权限
select sequence 使用用户序列的权限
select table 使用用户表的权限
select view 使用视图的权限
unlimited tablespace 对表空间大小不加限制的权限
update any table 修改任意表中行的权限
update snapshot 修改快照中行的权限
update table 修改用户表中的行的权限
update view 修改视图中行的权限
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maqianmaqian/archive/2009/04/09/4056818.aspx