Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间

时间:2022-09-17 22:13:47
alter table userInfo add(msn varchar2(20));

 

1、建表

    create table userInfo (

       id number(6),

       name varchar2(20),

       sex number(1),

       age number(3),

       birthday date,

       address varchar2(50),

       email varchar2(25),

       tel number(11)

    );

 

2、创建约束

    不带约束名称的:

    create table userInfo (

       id number(6) primary key,--主键

       name varchar2(20) not null,--非空

       sex number(1),

       age number(3) default 18,

       birthday date,

       address varchar2(50),

       email varchar2(25) unique,--唯一

       tel number(11),

       deptno number(2) references dept(deptno)—外键

    ); 

   

    带约束名称:

    create table userInfo (

           id number(6) constraint id_pk primary key,

           name varchar2(20) constraint name_nn not null,

           sex number(1),

           age number(3) default 18,

           birthday date,

           address varchar2(50),

           email varchar2(25) constraint email_uqe unique,

           tel number(11),

           deptno number(2) constraint dept_deptno_ref references dept(deptno)

    );

 

    列模式:

    create table userInfo (

           id number(6),

           name varchar2(20),

           sex number(1),

           age number(3) default 18,

           birthday date,

           address varchar2(50),

           email varchar2(25),

           tel number(11),

           deptno number(2),

           constraint id_pk primary key (id),--也可以两个以上,联合主键

           constraint dept_deptno_ref foreign key (deptno) references dept(deptno),

           constraint emial_name_uqe unique (email, name)

    );

    Alter模式:

        alter table userInfo add(msn varchar2(20));

        alter table userInfo modify(msn varchar2(25));

        alter table userInfo drop(msn);

        

        alter table userInfo drop constraint id_pk;

        alter table userInfo add constraint id_pk primary key (id);

 

3、创建视图

    create table v$_dept_view

    as

    select deptno, dname from dept;

    

    --重新编译视图

    alter view v$_dept_view compile;

    提示:视图一般是一个表或多个表的查询或子查询,这样可以减少代码量,但同时增加了对数据库视图的维护程度,如:某个表字段被删除或是修改,视图也要重新创建或修改,同时占用了数据库的一部分空间;视图就是一个虚拟的表格;

 

4、创建索引

    普通索引:create index idx_dpt_dname on dept(dname);

    联合索引:create index idx_dept_dname_deptno on dept(dname, deptno);

    --唯一索引

    create unique index idx_emp_ename on scott.emp(ename);

    --反向键索引

    create index idx_emp_rev_no on scott.emp(empno) reverse;

    --位图索引

    create bitmap index idx_emp_name on scott.emp(dname);

    --索引组织表,一定要有主键

    create table tab (

        id int primary key,

        name varchar2(20)

    )    organization index;

    --索引组织表的insert效率非常低

    

    --分区表索引

    create index idx_name on table(col) local/global;

    --索引分区

    提示:当给表创建主键或唯一键约束时,系统也会创建一个约束给该字段;同样创建索引也会占用数据库空间;索引在访问、查询的时候效率有提高,但是在修改表的时候效率就会降低;

 

5、创建序列

    create sequence seq;

    select seq.nextval from dual;

    insert into tab values(sql.nextval, ‘music’);

 

    create sequence seqtab

    start with 2 –从2开始

    increment by 3—每次加3

    nomaxvalue—没有最大值

    minvalue 1—最小值1

    nocycle—不循环

    nocache;--不缓存

    

    --修改序列 ,不能修改起始值

    alter sequence seqtab

    maxvalue 1000;

 

6、创建同义词

    同义词,顾名思义就是说别名、或是另一个名字。

    create synonym scott_emp for scott.emp;

    create public synonym scott_dept for scott.dept;

    

    select * from scott_emp;

    select * from scott_dept;

 

7、创建表空间

    create tablespace HooMS

    datafile 'E:\HooMS.dbf'

    size 5M

    autoextend on next 2M maxsize 10M;

    

    --创建用户、分配可以操作表空间

    create user hoo

    identified by hoo

    default tablespace  HooMS

    temporary tablespace temp;

    

    --创建表空间

    create tablespace myMS

    datafile 'c:\myMS.dbf'

    size 1M

    autoextend on;

    

    --扩展表空间--修改表空间大小

    alter database

    datafile 'c:\myMS.dbf'

    resize 2M;

    

    --扩展表空间--添加数据文件

    alter tablespace myMS

    add datafile 'c:\myMS_2.dbf'

    size 1M;

    

    --设置dbf文件自动增长

    alter database 

    datafile 'c:\myMS_2.dbf'

    autoextend on next 2M maxsize 4M;

    

    --表空间重命名

    alter tablespace myMS

    rename to hooMS;

    

    --分离表空间(脱机)

    alter tablespace hooMS

    offline temporary;

    

    --归档模式下脱机

    alter tablespace hooMS

    offline immediate;

    

    --使表空间联机

    alter tablespace hooMS online;

    

    --删除无数据的表空间

    drop tablespace hooMS;

    

    --删除带数据的表空间

    drop tablespace hooMS

    including contents;

Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间的更多相关文章

  1. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  2. Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等

    count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age ...

  3. ORACLE 创建视图索引序列

    /* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL ...

  4. Oracle数据库基本操作(二) —— 视图、序列、索引、同义词

    一.视图(Views)与 同义词 1.视图:实际上是对查询结果集的封装,视图本身不存储任何数据,所有的数据都存放在原来的表中; 在逻辑上可以把视图看作是一张表 2.作用: 封装查询语句,简化复杂的查询 ...

  5. Oracle笔记(十) 约束

    表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性,按照约束的分类,一共有五种约束:非空约束.唯 ...

  6. SQL SERVER 自动生成 MySQL 表结构及索引 的建表SQL

          SQL SERVER的表结构及索引转换为MySQL的表结构及索引,其实在很多第三方工具中有提供,比如navicat.sqlyog等,但是,在处理某些数据类型.默认值及索引转换的时候,总有些 ...

  7. oracle 笔记---(五)__内存管理

    ###查看连接池的信息 select connection_pool,status,maxsize from dba_cpool_info            

  8. Oracle笔记(十二) 集合、序列

    一.集合 在数学的操作之中存在交.差.并.补的概念,而在数据的查询中也存在此概念,有如下几个连接符号: UNION:连接两个查询,相同的部分不显示: UNION ALL:连接两个查询,相同的部分显示: ...

  9. Oracle笔记 目录索引

    Oracle笔记 一.oracle的安装.sqlplus的使用 Oracle笔记 二.常用dba命令行 Oracle笔记 三.function .select Oracle笔记 四.增删改.事务 Or ...

随机推荐

  1. 深信服务发布SSL站点

    1.不能使用AD自带的HTTPS服务,需要新建一个服务,端口443 2.在“节点池”中添加内网HTTPS服务器的IP,端口443 3.在“策略”中新建一条策略,"服务"选新添加的端 ...

  2. SharePoint 2013 – Workflow Manager 1.0 offline download

    [http://sharepointdeal.wordpress.com/2013/03/13/sharepoint-2013-workflow-manager-1-0-offline-downloa ...

  3. 网站实时协作JavaScript库 TogetherJS

    TogetherJS是由Mozilla打造的一款可以给网站添加实时协作功能的JavaScript库,TogetherJS免费并且开源,遵循MPL 2.0开源协议,并且托管在Mozilla服务器上. 为 ...

  4. Less小记

    Less除了在引用的时候link和script有顺序之外,在编译过程中,less中的代码顺序也会造成对样式的重置.

  5. 《互联网初创企业password》书评

    今天试用了一下<互联网初创企业password>这本书.我觉得这本书开始的很真实,从学校刚毕业那会儿.它是生命,他们的牛b时间,一直想做点什么来证明自己.具体地,并且现在是在最好的时候.互 ...

  6. 批量下载验证码 shell

    #!/bin/sh seq 0 699 | xargs -i wget http://www.5184.com/gk/common/checkcode.php -O img/{}.png

  7. 排序算法入门之堆排序(Java实现)

    堆排序 在学习了二叉堆(优先队列)以后,我们来看看堆排序.堆排序总的运行时间为O(NlonN). 堆的概念 堆是以数组作为存储结构. 可以看出,它们满足以下规律: 设当前元素在数组中以R[i]表示,那 ...

  8. Charles手机抓包常见问题(各种常见坑)

    坑1.安装好charles后,浏览器搜索会显示不是秘密连接.如果需要搜索东西,请关闭charles

  9. &lpar;已解决&rpar;Eclipsez中打不开c&plus;&plus;文件,显示Editor could not be initialized&period;

    新建的游戏导入Eclipse能正常运行,配置什么的都弄好了,游戏运行无任何问题!问题是:关闭Eclipse后,重新打开,就会出现An internal error occurred during: & ...

  10. pandas 设置单元格的值

    import pandas as pd import pickle import numpy as np dates = pd.date_range() df = pd.DataFrame(np.ar ...