命令行结果输出到某个文件
spool c:\s.txt
select * from mytable;
spool off
执行sql脚本
@aa.sql;
命名空间:
解释:
百度百科原话:
“ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个Oracle,而一
个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时
段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其
包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件
产品要求的表)。”
我的理解,表空间跟库的概念差不多,一个表空间对应一个或者多个物理文件,每个用户属于一个或多个表空间,其中有一个是默认的。连接数据库的时候不需要制定表空间,用户创建的对象会在用户默认的表空间里存放着。
命名空间定义了一组对象类型,在命名空间里,对象的名字必须是唯一的,当然,在不同的命名空间里,是可以使
用相同的的名字的。
下面的对象类型共享同一个命名空间:
? Tables
? Views
? Sequences
? Private synonyms
? Stand-alone procedures
? Stand-alone stored functions
? Packages
? Materialized views
? User-defined types
创建、查询和修改:
数据库文件查询
select * from sys.dba_data_files;
数据表空间
create tablespace sheep
datafile 'c:/sheep.dbf' size 20m autoextend
on;
临时表空间
create temporary tablespace
sheep tempfile 'c:/sheep.dbf' size 20m autoextend
on;
查询空间:
select tablespace_name from
dba_tablespaces;
select tablespace_name from
user_tablespaces;
查询表空间的物理情况:
select * from
dba_data_files where
tablespace_name='SYSTEM';--这里一定要是全大写的,哪怕你建
空间的时候没有使用大写
select * from
dba_temp_files where
tablespace_name='TEMP';--这里一定要是全大写的,哪怕你建空
间的时候没有使用大写
查询表空间内的表:
select table_name from
dba_all_tables where tablespace_name='USERS';
查询表结构,不显示主键外键信息
desc mytable;
查询表主键和外键等
select
a.constraint_name, a.column_name
from
user_cons_columns a, user_constraints b
where
a.constraint_name = b.constraint_name
and
(b.constraint_type = 'P' or b.constraint_type =
'U')
and a.table_name =
'AA'-------大写
重命名字段
alter table t rename column t1 to
t2;
重命名表
alter table old_table
rename to new_table;
命令行下更新date类型字段(date_field=‘2011-10-05’,这样的语法在mysql可以,在oracle就不行了),正确的如下
update mytable set
date_field=to_date('20111005','yyyymmdd');
删除:
删除主键:
alter table mytab drop primary key;
删除唯一键:
alter table mytab drop unique(mycolumn);
表:
查询当前用户空间的所有表和视图:
select tname from tab
查询当前用户空间的所有表:
select table_name
from user_tables;
查询当前用户空间的所有视图:
select view_name from
user_views;
查询视图创建语句:
select text from all_views where
view_name='xxx';