Oracle建表、索引、主键
以下内容转自:http://blog.csdn.net/singit/article/details/71188898
--主键
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)
- );
- 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;
浙公网安备 33010602011771号