Oracle建表 索引 主鍵

2021-07-31 14:38:07 字數 4257 閱讀 6865

--主鍵

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,--非空

*** 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,

*** 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),

*** 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;

建表主鍵自增 Oracle建表,建主鍵,自增

oracle建表,建主鍵,自增 建表 create table test id number 4 not null primary key,name varchar2 25 序列 create sequence test sequence increment by 1 每次增加幾個 start wi...

oracle建表 建主鍵 外來鍵基本語法

建立 語法 create table 表名 欄位名1 字段型別 長度 是否為空,欄位名2 字段型別 是否為空 增加主鍵 alter table 表名 add constraint 主鍵名 primary key 欄位名1 增加外來鍵 alter table 表名 add constraint 外鍵名...

oracle建表設定主鍵自增

首先建立一張表 create table member memberid number primary key,membermail varchar2 20 not null,membername varchar2 20 not null,memberpassword varchar2 20 然後,...