oracle主表索引,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)

);

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值