Oralce常用操作命令

1.创建表空间
create tablespace 表空间名
default ‘filename’/path’服务器端路径’ [size integer [k | m]] [autoextend [off | on]];
size:制定文件的大小,autoextend:用来启动或禁用数据文件的自动扩展。

2.创建新用户
create user 用户名
identified by 密码
[default tablespace 表空间]
[temporary tablespace 临时表空间];

3.为用户授权
grant 权限 to 用户
grant 权限 on 表名 to 用户

4.修改用户密码
alter user 用户名
identified by 密码;

5.删除用户
drop user 用户名 casaed;

6.查看当前用户
show user

7.查看当前时间
select sysdate from dual;

8.查看当前用户下的所有表
select table_name from user_tables;

9.查看当前表的结构
desc 表名

10.修改上一条的内容
edit;

Oracle 数据库对象

1.同义词
   a.创建同义词
        私有同义词
          create [or replace] synonym 同义词名 for 对象名;
        共有同义词
          create [or replace] public synonym 同义词名 for 对象名;
   b.删除同义词
          drop synonym同义词名;

2.序列
   a.创建序列
      create sequence 序列名
         [start with integer]
         [increment by integer]
         [maxvalue integer | nomaxvalue]
         [minvalue   integer | nominvalue]
         [cycle | nocycle]
         [cache integer | nocache];
   b.访问序列
      select 序列名.nextval from dual;
      select 序列名.currval from dual;
   c.根改序列
      alter sequence 序列名
         [increment by integer]
         [maxvalue integer | nomaxvalue]
         [minvalue   integer | nominvalue]
         [cycle | nocycle]
         [cache integer | nocache];
   d.删除序列
      drop sequence序列名;

Oracle 数据表管理(一)

1.创建表
   create table 表名
(字段名1 类型,
   字段名2   类型…);
2.修改表命令
   更改现有列
       alter table 表名 modiey (column definition….);
   向表中添加新列

      alter table 表名 add (column definition….);
   删除表中现有的列
      alter table 表名 drop column 列名;
3.删除表中的记录而不删除表结构

      truncate table 表名;
4.删除与表的所有内容

      drop table 表名 cascade;
5.数据操作语言(DML)
   SELECT
     Select * | {[distinct] 字段名 | 表达式[列别名],…}
     From 表明
     [where 条件]
     [order by 字段名];
                distinct:限制只返回不同的列
   CTAS
     Create table 新表名 as select 字段名 from 旧表名;
     //拷贝旧表的结构和记录,不拷贝约束
   INSERT
      Insert into 表名 [(字段名)] values (值);
   IIS
      Insert into 表名1(字段名1) select 字段名2 from 表名2;
       //表结构已存在,从另一个表中复制记录
   UPDATE
      Update 表名
      Set 字段名=新值
       [where 条件];
   DELETE
      Delete 表名
       [where 条件];

6.事务控制语言
COMMIT
    Commit;//提交
SAVEPOINT
    Savepoint 保存点;
ROLLBACK
    Rollback or Rollback work;

7.数据控制语言
GRANT
    grant 权限 on 表名 to 用户;
REVOKE
    Revoke 权限 on 表名 from 用户;

8.集合操作符
UNION :合并查询结果,并删除重复的行

Select 字段名1 from 表名1
   Union
Select 字段名2 from 表名2;
UNION ALL:合并查询结果,并包括重复的行

Select 字段名1 from 表名1
   Union all
Select 字段名2 from 表名2;
INTERSECT:返回两个查询都有的行

Select 字段名1 from 表名1
   Intersect
Select 字段名2 from 表名2;
MINUS:返回第一个查询有而第二个查询中没有的行
Select 字段名1 from 表名1
   Minus
Select 字段名2 from 表名2;

Oracle 数据表管理(二)

9.锁和表分区
A.锁
    行级锁
     select …for update[of 字段] [wait n | nowait];
      wait n :等待的秒数
    表级锁
     lock 表名 in 锁定模式 mode [nowait]
       表级锁的模式:
              行共享     (row share,rs)
              行排他     (row exclusive,rx)
              共享       (share,s)
              共享行排他 (share row exclusive,srx)
              排他       (exclusive,x)
B.表分区

     范围分区
     partition by range (column_name)
     (
    partition 分区名1 value less then(分区的边界值) [tablespace 表空间1],
    partition 分区名2 value less then(分区的边界值) [tablespace 表空间2]
);

     散列分区
      partition by hash (column_name)
      partitions 散列分区的数目 [store in (分区使用的表空间)];
          or
      partition by hash (column_name)
     (
      partition 分区名1 [tablespace 表空间1],
      partition 分区名1 [tablespace 表空间1]
     );

      复合分区
      partition by range (column_name1)
      subpartition by hash (column_name2)
         subpartitions 散列分区的数目 [store in (分区使用的表空间)];
        (
         partition 分区名1 value less then(分区的边界值),
         partition 分区名2 value less then(分区的边界值),
         partition 分区名N value less then(maxvalue)
         );

      列表分区
       partition by list (column_name)
       (
       partition分区名1 values (分区键值的列表1),
       partition分区名2 values (分区键值的列表2),
       partition分区名N values (default)
       );
      default:允许存储前面的分区不能存储的记录

10.分区维护操作
添加分区
    alter table 表名 add partition 分区名 values less then(分区的边界值);
删除分区
    alter table 表名 drop partition 分区名;
截断分区
    alter table 表名 truncate partition 分区名;
合并分区
    alter table 表名 merge partitions 分区名1, 分区名2 into 分区名;
   拆分分区
    alter table 表名 split partition 分区名at (value) into (partition分区名1,partition 分区名2);
   分区重命名
    alter table 表名 rename partition 旧分区名 to 新分区名 ;

11. 视图
a. 创建视图
    create [or replace] [force | noforce] view 视图名[列别名]
         as select 字段名 from 表名
     [with check option [constraint 约束名]]
     [with read only];
     with check option:指定只能插入或更新视图可以访问的行,
     with read only:确保不能在此视图上执行任何修改操作。
b. 创建带有错误的视图
     create [or replace] force view 视图名[列别名]
         as select 字段名 from 表名
      [with check option [constraint 约束名]]
    [with read only];
      with check option:指定只能插入或更新视图可以访问的行,
    with read only:确保不能在此视图上执行任何修改操作。
C.删除视图
     drop view 视图名;

12. 索引
A. 普通索引
     create index 索引名 on 表名 (字段名) [tablespace 表空间];
B. 唯一索引
     create uniqe index 索引名 on 表名 (字段名);
C. 组合索引
     create index 索引名 on 表名(字段名1,字段名2);
D. 反向键索引
     create index 索引名 on表名 (字段名) revser;
E. 位图索引
     create bitmap index 索引名 on 表名 (字段名);
F. 索引组织表
     create table table_name (字段名 类型 约束) organization index;
G. 索引中的分区
    a.局部分区索引
       create index 索引名 on表名 (字段名) local;
     b.全局分区索引
       create index 索引名 on表名 (字段名) global;
     c.全局非分区索引
      create index 索引名 on表名 (字段名) ;

继续补充一些常用的查询语句:
1、查找表的所有索引(包括索引名,类型,构成列):

select t.*,i.index_type from user_ind_columns t,user_indexes i 
where t.index_name = i.index_name and t.table_name = i.table_name 
and t.table_name = 要查询的表 

 

2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au 
where cu.constraint_name = au.constraint_name 
and au.constraint_type = 'P' and au.table_name = 要查询的表 
 3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au 
where cu.constraint_name = au.constraint_name 
and au.constraint_type = 'U' and au.table_name = 要查询的表
 4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表 
    查询外键约束的列名:
  
select * from user_cons_columns cl where cl.constraint_name = 外键名称 
   查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名 
 5、查询表的所有列及其属性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c 
where t.table_name = c.table_name 
and t.column_name = c.column_name and t.table_name = 要查询的表
 

你可能感兴趣的:(数据结构,oracle,C++,c,IIS)