oracle建表的时候同时创建主键,外键,注释,约束,索引
--主键
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建表的时候同时创建主键,外键,注释,约束,索引的更多相关文章
- 5.oracle建表的时候同时创建主键,外键,注释,约束,索引
5.oracle建表的时候同时创建主键,外键,注释,约束,索引 1 --主键 )); ) ,constraint aba_pr primary key(id,name1)); --外键 )); --复 ...
- PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写
原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...
- oracle 建表时显示ORA-00984: 列在此处不允许
oracle 建表时显示ORA-00984: 列在此处不允许 CreationTime--2018年7月19日16点10分 Author:Marydon 1.情景展示 使用plsql建表时,报错 ...
- oracle 建表时显示ORA-00904无效的标识符
oracle 建表时显示ORA-00904无效的标识符 CreationTime--2018年7月19日16点03分 Author:Marydon 1.情景展示 使用plsql建表时,报错 字段展 ...
- oracle 建表 主键自增序列/////
oracle 建表 主键自增序列 (2011-10-12 11:59:22) 转载▼ 标签: 杂谈 分类: oracle SQL> create table sms_activity( 2 ...
- Oracle建表提示SQL 错误: ORA-00904: : 标识符无效
Oracle建表提示: 错误报告:SQL 错误: ORA-00904: : 标识符无效00904. 00000 - "%s: invalid identifier"*Cause: ...
- 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1. 学习方法 2. 多涨见识 3. 比自己强的人一起,学习更强:比自己更聪明的人 ...
- 通过 jdbc 分析数据库中的表结构和主键外键
文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...
- Oracle建表
1.oracle数据库中的多种数据结构: 1.表结构 存储数据 2.视图 一张表或多张表中数据的字节 3.sequence 主要用来生成主键值 4.index 提高检索性能 我们 ...
随机推荐
- html5 canvas+js实现ps钢笔抠图
html5 canvas+js实现ps钢笔抠图 1. 项目要求需要用js实现photoshop中钢笔抠图功能,就用了近三四天的时间去解决它,最终还是基本上把他实现了. 做的过程中走了不少弯路,最终一同 ...
- WebService和AngularJS实现模糊过滤查询
WebService和AngularJS实现模糊过滤查询 [概要] 网上看到一个不错的帖子,用WebService获取json,然后在前端使用AngularJs进行过滤搜索,看完文章后,按自己的想 ...
- DHTML【3】--HTML
从这一节开始我们就开始介绍HTML的标签了,首先我们来介绍Form标签. Form标签也称Form表单,From是与服务器交互最重要的标签,此标签必须做到随手就写,写完就正常运行的地步. 那么什么是F ...
- 一个逗比web前端的理想
加入博客园也5年多了.平时博客也写的少,但是每天都会上来“偷窥”,你们的一举一动我都知道.呵呵~ 最近看了些小伙伴们写的一些文章自己也难免有些感触.最近也精神有些萎靡,也想写点什么记录下个人的成长经历 ...
- SZU:G34 Love code
Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Normal Descrip ...
- Mac OS X安装之虚拟机环境下的总结
最近一直忙着公司iOS Touch的新版发布,终于忙过了.现在,又开始了新的阶段,不过算是轻松了很多.回来一看,自己的博客空空如也,实在受不了了.于是,开始更一下吧,哈哈. 这个文档是我几个月前,开始 ...
- SVN下错误集锦
SVN下错误集锦 一SVN下的文件被locked不能update和commit 最近做项目的时候,遇到这个问题,SVN下的文件被locked不能update和commit.其提示如下: 解决办法:执行 ...
- Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果
Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果 在一个项目中,用到了时间轴展示产品的开发进度,为了更好用户体验,想到了Facebook的timeline效果, 搜了一 ...
- Linux操作系统学习_用户态与内核态之切换过程
因为操作系统的很多操作会消耗系统的物理资源,例如创建一个新进程时,要做很多底层的细致工作,如分配物理内存,从父进程拷贝相关信息,拷贝设置页目录.页表等,这些操作显然不能随便让任何程序都可以做,于是就产 ...
- 改善C#公共程序类库质量的10种方法和工具
最近重构一套代码,运用以下几种方法,供参考. 1 公共方法尽可能的使用缓存 public static List<string> GetRegisteredCompany() { Str ...