--主键
create table emp (id number constraint id_pr primary key ,name1 varchar(8));
create table emp9 (id number ,name1 varchar(8) ,constraint aba_pr primary key(id,name1));
--外键
create table emp1(id number references emp(id),name varchar(8));

--复合外键
create table emp0(id number ,name varchar(8) ,constraint fk_nam1e foreign key(id,name) references emp9(id,name1));

--主键另外写法
create table emp2(id number,name varchar(8),id1 number, constraint pk_id primary key(id),constraint fk_name foreign key(id1) references emp(id))
--check 约束的写法
create table emp4(id number check(id in(1,2 ,3)),name varchar(8));


不带约束名称的:

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;

转自:http://blog.sina.com.cn/s/blog_8c10dd8f0101bete.html

oracle建表的时候同时创建主键,外键,注释,约束,索引的更多相关文章

  1. 5.oracle建表的时候同时创建主键,外键,注释,约束,索引

    5.oracle建表的时候同时创建主键,外键,注释,约束,索引 1 --主键 )); ) ,constraint aba_pr primary key(id,name1)); --外键 )); --复 ...

  2. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写

    原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...

  3. oracle 建表时显示ORA-00984: 列在此处不允许

      oracle 建表时显示ORA-00984: 列在此处不允许 CreationTime--2018年7月19日16点10分 Author:Marydon 1.情景展示 使用plsql建表时,报错 ...

  4. oracle 建表时显示ORA-00904无效的标识符

      oracle 建表时显示ORA-00904无效的标识符 CreationTime--2018年7月19日16点03分 Author:Marydon 1.情景展示 使用plsql建表时,报错 字段展 ...

  5. oracle 建表 主键自增序列/////

    oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity(  2   ...

  6. Oracle建表提示SQL 错误: ORA-00904: : 标识符无效

    Oracle建表提示: 错误报告:SQL 错误: ORA-00904: : 标识符无效00904. 00000 -  "%s: invalid identifier"*Cause: ...

  7. 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库

    第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1.  学习方法 2.  多涨见识 3.  比自己强的人一起,学习更强:比自己更聪明的人 ...

  8. 通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  9. Oracle建表

    1.oracle数据库中的多种数据结构: 1.表结构            存储数据 2.视图 一张表或多张表中数据的字节 3.sequence 主要用来生成主键值 4.index 提高检索性能 我们 ...

随机推荐

  1. SpringMVC类型转换、数据绑定

    SpringMVC类型转换.数据绑定详解[附带源码分析] 目录 前言 属性编辑器介绍 重要接口和类介绍 部分类和接口测试 源码分析 编写自定义的属性编辑器 总结 参考资料 前言 SpringMVC是目 ...

  2. 【学习笔记】锋利的jQuery(四)AJAX

    一.load()方法 /* *如果没有参数传递,采用GET方式传递 *如果有参数,则自动转换成POST方式传递 *无论Ajax是否请求成功,请求完成后回调函数触发 */ load("test ...

  3. 领域模型中分散的事务如何集中统一处理(C#解决方案)

    领域模型中分散的事务如何集中统一处理(C#解决方案)   开篇 什么是事务,事务的应用场景 做项目时,经常会遇到一些需求,比如注册用户时,要求同时存入用户的基本信息和初始化该用户的帐户,如果在这两个环 ...

  4. IP 首部检验和算法

    原创博文,转载请注明出处. 在学习TCP/IP 详解的过程中遇到了不止一次的关于检验和的概念,在吸取了他人理解的前提下,我决定用Wireshark 进行抓包分析. 首先我们得知道IP数据包格式 首先把 ...

  5. 修改Ubuntu Server的分辨率

    修改Ubuntu Server的分辨率,其实就是找到关键的文件,然后修改参数,重启一下,就可以看见效果了. 1.打开文件并修改参数 文件位置:/etc/default/grub 修改位置:GRUB_C ...

  6. [原]逆向iOS SDK -- _UIImageAtPath 的实现(SDK 6.1)

    汇编代码: ; 状态:R0 = imageFileName, R1 = mainBundle, R2 = isRetina PUSH    {R4-R7,LR} ; R0 = imageFileNam ...

  7. TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架

    TOGAF架构能力框架之架构合同.成熟度模型和架构技能框架 5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施 ...

  8. iOS关于应用内分享

    iOS7.0增加了AirDrop功能,可知在未来,手机信息资源的直接分享会越来越重要.而我们在iPhone系统短信点击照片会看到右上角的分享按钮,点击可以弹出一系列的应用菜单,允许用户把这张图片分享到 ...

  9. 使用protobuf编写配置文件以及读写

    .proto文件示例 message Configure { required ; required uint32 port = ; } 写配置文件 Configure config; config. ...

  10. dotfiles for linux/unix users automatically! (python Vim IDE)

    Here is a brief introduction and package of dotfiles for linux/unix user. I think there are enough i ...