oracle建表命令總結

2021-10-26 14:57:49 字數 4958 閱讀 2346

對錶中插入記錄的限制:

主鍵 primary key 實現表中記錄的乙個唯一性唯一不能為空,乙個表中只有乙個主鍵

外來鍵 foreign key 參照於主鍵的值可以重複,可以插入空值

唯一性 unique 設定除主鍵外的唯一性可以插入空值

自定義 check 使用者自定義限制

不為空 not null

預設值 default

新增約束的方式

建表時新增

create table table_name(col_name col_type,...,constraint constraint_name primary key(col_name));

建表後新增

alter table table_name add constraint constraint_name primary key(col_name);

alter table table_name drop constraint constraint_name;

由於乙個表中主鍵只有乙個,所以刪除可以用 drop primary key,而不用找constraint_name

也可在建表時列名後加限制,這時系統會對這個限制起名

新增復合主鍵

alter table table_name add constraint constraint_name primary key(col_name1,col_name2);

新增外來鍵約束

alter table table_name add constraint constraint_name foreign key(col_name) references parent_table(col_name);

注:外來鍵參照的那個列必須為那個表的主鍵,

外來鍵也可以參照unique(候選主鍵)

alter table table_name drop primary key cascade;級聯,當刪除這個主鍵時,和這個主鍵相關的外來鍵也會被刪除

drop table table_name cascade constraint;如果乙個表中哪列是另乙個表中外鍵的referance時,可以用這種方法刪除

not null

alter table table_name modify col_name not null 增加not null限制

alter table table_name modify col_name null 取消限制

default

alter table table_name modify col_name default default_value;

老師的總結:

約束 constraint

primary key

foreign key

unique

check

not null

default

1 primary key主鍵約束 ----乙個表中只有乙個主鍵

作用:實現表中記錄的乙個唯一性

特點:唯一不能為空

種類:單一主鍵,復合主鍵

新增方式: 建表時新增,和建表後新增

注意:當建立符合主鍵的時候必須使用表級新增

2 foreign key 外來鍵

作用:參照性

特點:參照主鍵中存在的值並且可以插入重複的記錄,而且可以插入重複的空值。

新增方式: 建表時新增,和建表後新增

注意:新增的時候參照的是主鍵還可以參照unique(候選主鍵) references

3 unique 唯一性

作用:因為表中只有乙個主鍵,但是其他的列需要唯一要求

特點: 唯一 ,可以插入空值,可以插入重複的空值

新增方式和主鍵完全相同

4 check 限制

作用:根據使用者自己的需求來進行限制

特點:可以實現多樣化

新增方式:建表時新增,和建表後新增

注意:新增的時候不要忘了使用括號。

5 not null 不能為空

作用:使制定的列必須插入值

特點:不能為空

新增方式:建表時新增,和建表後新增

注意:用的使modify 來進行修改

6 default 預設值

作用:當不插入值的時候給預設效果

特點:省事

新增方式:建表時新增,和建表後新增

注意:用的使modify 來進行修改

7 刪除約束

alter table table_name drop constraint con_name;

alter table table_naem drop primary key

alter table table_name drop primary key cascade;

8 刪除表

drop table table_name;

drop table table_name cascade constraint;

9 啟用約束

alter table table_name enable constraint con_name;

alter table table_name enable primary key;

10 禁用約束

alter table table_name disable constraint con_name;

alter table table_name disable primary key;

字串:字串分為定長型別char和變長型別varchar2。

數字:整數 number(整數字),小數 number(總長度,小數字),只寫number,表示無限制。

日期:date型別,可以儲存年月日時分秒。

create table emp

(empno number(5,0) not null,

ename varchar(10),

job varchar(9),

mgr number(5,0),

hiredate date,

sal number(7,2),

comm number (7,2),

deptno number (2,0)

)create table dept

(deptno number(2,0),

dname varchar(14),

loc varchar(13)

)insert into emp values (7369,'smith','clerk',7902,to_date('2000-12-17','yy-mm-dd'),800,null,20);

insert into emp values (7499, 'allen', 'salesman', 7698, to_date('2001-2-20','yy-mm-dd'), 1600, 300, 30);

insert into emp values (7521, 'ward', 'salesman', 7698, to_date ('2001-2-22',』yy-mm-dd』), 1250, 500, 30);

insert into emp values (7566, 'jones', 'manager', 7839, to_date ('2001-4-2',』yy-mm-dd』), 2975, null, 20);

insert into emp values (7654, 'martin', 'salesman', 7698, to_date ('2001-9-28',』yy-mm-dd』),1250, 1400, 30);

insert into emp values (7698, 'blake', 'manager', 7839, to_date ('2001-5-1',』yy-mm-dd』), 2850, null, 30);

insert into emp values (7782, 'clark', 'manager', 7839, to_date ('2001-6-9',』yy-mm-dd』), 2450, null, 10);

insert into emp values (7788, ' scott', 'analyst', 7566, to_date ('2002-12-9',』yy-mm-dd』),3000, null, 20);

insert into emp values (7839, ' king', 'president', null, to_date ('2001-11-17',』yy-mm-dd』),5000, null, 10);

insert into emp values (7844, 'turner', 'salesman', 7698, to_date ('2001-9-8',』yy-mm-dd』), 1500, 0, 30);

insert into emp values (7876, 'adams', 'clerk', 7788, to_date ('2003-1-12',』yy-mm-dd』),1100, null, 20);

insert into emp values (7900, 'james', 'clerk', 7698, to_date ('2001-3-12',』yy-mm-dd』),950, null, 30);

insert into emp values (7902, 'ford', 'analyst', 7566, to_date ('2001-3-12',』yy-mm-dd』),3000, null, 20);

insert into emp values (7934, 'miller', 'clerk', 7782, to_date ('2002-01-23',』yy-mm-dd』),1300, null, 10);

insert into dept values (10, 'accounting', 'new york');

insert into dept values (20, 'research', 'dallas');

insert into dept values (30, 'sales', 'chicago');

insert into dept values (40, 'operations', 'boston');

oracle歸檔模式命令詳解

一。檢視oracle資料庫是否為歸檔模式 1 1.select name,log mode from v database name log mode query noarchivelog 2.使用archive log list 命令 database log mode no archive mo...

oracle常用命令

目錄oracle常用命令大全 筆記 1 一 oracle的啟動和關閉 1 1 在單機環境下 1 2 在雙機環境下 2 二 使用者如何有效地利用資料字典 3 三 檢視資料庫的sql 6 1 檢視表空間的名稱及大小 6 2 檢視表空間物理檔案的名稱及大小 6 3 檢視回滾段名稱及大小 7 4 檢視控制檔...

oracle系統表總結

oracle系統表處理 1.取得指定使用者的所有表名 範例 1.selectowneras 物件所有者 object nameas 表名 object idas 物件編號 fromdba objectswhereowner raxnyb andobject type table orderbyown...