--主键
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. 自己动手实现Expression翻译器 – Part I

    伴随.Net3.5到来的Expression,围绕着它产生了各种各样有趣的技术与应用,Linq to object.Linq to sql.Linq to sqllite.Linq to Anythi ...

  2. 在现有代码中通过async/await实现并行

    在现有代码中通过async/await实现并行 一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它.也期待大家能够多分享解一些解决实际问题的内容. 在我们遭遇“黑色 ...

  3. EasyUI搭建前端框架

    EasyUI搭建前端框架 前言: 最近在忙公司的项目,也没太多时间来更新博客,谢谢大家的关注. 好啦,有了前面的系统整体简介和用户登录界面,我们开始使用EasyUI搭建前端页面框架! EasyUI官方 ...

  4. Blend4开发:会飞的小鸟

    1,绘图,动画制作: 2,运行截图: 源码:http://files.cnblogs.com/yuanli/Animals.zip 动画效果参见源码.

  5. Windows Server 服务器安全配置

    Windows Server 服务器安全配置 好吧,我标题党了.我只了解一些基本的安全配置.如果你是大湿,请绕道或者给予我严厉的批评让我进步谢谢. 编辑这篇文章用的编辑器编辑的,当我单击查看的时候发现 ...

  6. script —— 终端里的记录器

    当 你在终端或者控制台工作时,你可能想要记录在终端中所做的一切.这些记录可以用来当作史料,保存终端所发生的一切.比如说,你和一些Linux管理员们同 时管理着相同的机器,或者你让某人远程登陆到了你的服 ...

  7. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(上)

    一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏 ...

  8. ARM备忘

    mov: move sub: subtract cmp: compare cmpls: ls--->lower or same, le--->less or equal, hi---> ...

  9. vs2015开发Windows服务

    工作已经很久,时隔这么长时间写这篇文章是给自己以后做参考.也不至于以后长时间不写Windows服务而忘记整个开发过程.windows服务开发,基础的就不说了,直接上过程. 1.新建windows服务项 ...

  10. JDBC之事务隔离级别以及ACID特性

    JDBC之事务隔离级别以及ACID特性 事务隔离级别: 1.更新遗失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了.这是因为系统没有 ...