--主键
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. slice、substring、substr的区别

    首先它们都接收两个参数,slice和substring接收的是起始位置与结束位置,而substr接收的是起始位置和所要截取的字符长度.   特殊注意: 当第二参数大于第一个参数时,slice会返回空字 ...

  2. grep、egrep、fgrep的用法与特性详解

    [转载自]http://tanxw.blog.51cto.com/4309543/1361993 开篇        学习Linux也有一段时间了,对Linux多少也算是有点了解了,越是了解也就越对这 ...

  3. Mvc快速开发

    Asp.Net Mvc + ComBoost.Mvc快速开发   ComBoost项目地址 http://comboost.wodsoft.com https://github.com/Kation/ ...

  4. GridView使用技巧

    http://yushuir.blog.163.com/blog/static/4346713820081023103937681/

  5. 基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其可视化

    文档内容: 1:下载<hadoop权威指南>中的气象数据 2:对下载的气象数据归档整理并读取数据 3:对气象数据进行map reduce进行处理 关键词:<Hadoop权威指南> ...

  6. [原]逆向iOS SDK -- “添加本地通知”的流程分析

    观点: 代码面前没有秘密 添加通知的 Demo 代码 - (void)scheduleOneLocalNotification { [[UIApplication sharedApplication] ...

  7. TaskTracker获取并执行map或reduce任务的过程1

    TaskTracker获取并执行map或reduce任务的过程(一) 我们知道TaskTracker在默认情况下,每个3秒就行JobTracker发送一个心跳包,也就是在这个心跳包中包含对任务的请求. ...

  8. Arcglobe三维信息系统开发常见问题

    1.SDE数据库导入GDB三维图层时,发生Z值丢失 问题描述:从GDB数据库中,将一部分mutipath图层导入到SDE数据库中.用相应的arcengine程序或Arcglobe中缩放至图功能时,发现 ...

  9. CentOS常用到的查看系统命令

    CentOS常用到的查看系统命令   # uname -a    # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue   # 查看操作系统版本 # cat /proc/c ...

  10. Nginx之旅系列 - Nginx日志功能 PK Linux内核printk

    题记:Nginx之旅系列是用来记录Nginx从使用到源码学习的点点滴滴,分享学习Nginx的快乐 Nginx 首页: http://nginx.org/ Nginx日志功能 PK Linux内核pri ...