设为首页 收藏本站
查看: 1144|回复: 0

[经验分享] oracle建表的时候同时创建主键,外键,注释,约束,索引

[复制链接]
发表于 2017-12-11 10:43:35 | 显示全部楼层 |阅读模式
  --主键

  create table emp (id number constraint>  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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422911-1-1.html 上篇帖子: 关于win10安装oracle报错的解决办法 下篇帖子: centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表