oracle建表命令總結(jié)
對(duì)表中插入記錄的限制:
主鍵primarykey實(shí)現(xiàn)表中記錄的一個(gè)唯一性唯一不能為空,一個(gè)表中只有一個(gè)主鍵
外鍵foreignkey參照于主鍵的值可以重復(fù),可以插入空值唯一性u(píng)nique設(shè)置除主鍵外的唯一性可以插入空值自定義check用戶自定義限制不為空notnull默認(rèn)值default添加約束的方式建表時(shí)添加
createtabletable_name(col_namecol_type,...,constraintconstraint_nameprimarykey(col_name));建表后添加
altertabletable_nameaddconstraintconstraint_nameprimarykey(col_name);altertabletable_namedropconstraintconstraint_name;
由于一個(gè)表中主鍵只有一個(gè),所以刪除可以用dropprimarykey,而不用找constraint_name
也可在建表時(shí)列名后加限制,這時(shí)系統(tǒng)會(huì)對(duì)這個(gè)限制起名
添加復(fù)合主鍵
altertabletable_nameaddconstraintconstraint_nameprimarykey(col_name1,col_name2);添加外鍵約束
altertabletable_nameaddconstraintconstraint_nameforeignkey(col_name)referencesparent_table(col_name);
注:外鍵參照的那個(gè)列必須為那個(gè)表的主鍵,外鍵也可以參照unique(候選主鍵)
altertabletable_namedropprimarykeycascade;級(jí)聯(lián),當(dāng)刪除這個(gè)主鍵時(shí),和這個(gè)主鍵相關(guān)的外鍵也會(huì)被刪除
droptabletable_namecascadeconstraint;如果一個(gè)表中哪列是另一個(gè)表中外鍵的referance時(shí),可以用這種方法刪除
notnull
altertabletable_namemodifycol_namenotnull增加notnull限制altertabletable_namemodifycol_namenull取消限制default
altertabletable_namemodifycol_namedefaultdefault_value;
老師的總結(jié):
約束CONSTRAINTPRIMARYKEYFOREIGNKEYUNIQUECHECKNOTNULLDEFAULT
1PRIMARYKEY主鍵約束----一個(gè)表中只有一個(gè)主鍵作用:實(shí)現(xiàn)表中記錄的一個(gè)唯一性特點(diǎn):唯一不能為空
種類:?jiǎn)我恢麈I,復(fù)合主鍵
添加方式:建表時(shí)添加,和建表后添加
注意:當(dāng)建立符合主鍵的時(shí)候必須使用表級(jí)添加2FOREIGNKEY外鍵作用:參照性
特點(diǎn):參照主鍵中存在的值并且可以插入重復(fù)的記錄,而且可以插入重復(fù)的空值。添加方式:建表時(shí)添加,和建表后添加
注意:添加的時(shí)候參照的是主鍵還可以參照unique(候選主鍵)references3UNIQUE唯一性
作用:因?yàn)楸碇兄挥幸粋(gè)主鍵,但是其他的列需要唯一要求特點(diǎn):唯一,可以插入空值,可以插入重復(fù)的空值添加方式和主鍵完全相同4CHECK限制
作用:根據(jù)用戶自己的需求來進(jìn)行限制特點(diǎn):可以實(shí)現(xiàn)多樣化
添加方式:建表時(shí)添加,和建表后添加注意:添加的時(shí)候不要忘了使用括號(hào)。5NOTNULL不能為空
作用:使制定的列必須插入值特點(diǎn):不能為空
添加方式:建表時(shí)添加,和建表后添加注意:用的使modify來進(jìn)行修改6DEFAULT默認(rèn)值
作用:當(dāng)不插入值的時(shí)候給默認(rèn)效果特點(diǎn):省事
添加方式:建表時(shí)添加,和建表后添加注意:用的使modify來進(jìn)行修改7刪除約束
altertabletable_namedropconstraintcon_name;altertabletable_naemdropprimarykey
altertabletable_namedropprimarykeycascade;8刪除表
droptabletable_name;
droptabletable_namecascadeconstraint;9啟用約束
altertabletable_nameenableconstraintcon_name;altertabletable_nameenableprimarykey;10禁用約束
altertabletable_namedisableconstraintcon_name;altertabletable_namedisableprimarykey;
字符串:字符串分為定長類型char和變長類型varchar2。
數(shù)字:整數(shù)number(整數(shù)位),小數(shù)number(總長度,小數(shù)位),只寫number,表示無限制。
日期:date類型,可以保存年月日時(shí)分秒。
createtableEmp(
empNonumber(5,0)notnull,enamevarchar(10),jobvarchar(9),mgrnumber(5,0),hiredatedate,salnumber(7,2),commnumber(7,2),deptNonumber(2,0))
createtableDept(
deptNonumber(2,0),DNAMEvarchar(14),LOCvarchar(13))INSERT
INTO
EMP
VALUES
(7369,"SMITH","CLERK",7902,to_date("201*-12-17","YY-MM-DD"),800,NULL,20);
INSERTINTOEMPVALUES(7499,"allen","SALESMAN",7698,to_date("201*-2-20","YY-MM-DD"),1600,300,30);
INSERTINTOEMPVALUES(7521,"WARD","SALESMAN",7698,to_date("201*-2-22",’YY-MM-DD’),1250,500,30);
INSERTINTOEMPVALUES(7566,"JONES","MANAGER",7839,to_date("201*-4-2",’YY-MM-DD’),2975,NULL,20);
INSERTINTOEMPVALUES(7654,"MARTIN","SALESMAN",7698,to_date("201*-9-28",’YY-MM-DD’),1250,1400,30);
INSERTINTOEMPVALUES(7698,"BLAKE","MANAGER",7839,to_date("201*-5-1",’YY-MM-DD’),2850,NULL,30);
INSERTINTOEMPVALUES(7782,"CLARK","MANAGER",7839,to_date("201*-6-9",’YY-MM-DD’),2450,NULL,10);
INSERTINTOEMPVALUES(7788,"scott","ANALYST",7566,to_date("201*-12-9",’YY-MM-DD’),3000,NULL,20);
INSERTINTOEMPVALUES(7839,"king","PRESIDENT",NULL,to_date("201*-11-17",’YY-MM-DD’),5000,NULL,10);
INSERTINTOEMPVALUES(7844,"TURNER","SALESMAN",7698,to_date("201*-9-8",’YY-MM-DD’),1500,0,30);
INSERTINTOEMPVALUES(7876,"ADAMS","CLERK",7788,to_date("201*-1-12",’YY-MM-DD’),1100,NULL,20);
INSERTINTOEMPVALUES(7900,"JAMES","CLERK",7698,to_date("201*-3-12",’YY-MM-DD’),950,NULL,30);
INSERTINTOEMPVALUES(7902,"FORD","ANALYST",7566,to_date("201*-3-12",’YY-MM-DD’),3000,NULL,20);
INSERTINTOEMPVALUES(7934,"MILLER","CLERK",7782,to_date("201*-01-23",’YY-MM-DD’),1300,NULL,10);
INSERTINTODEPTVALUES(10,"ACCOUNTING","NEWYORK");INSERTINTODEPTVALUES(20,"RESEARCH","DALLAS");INSERTINTODEPTVALUES(30,"SALES","CHICAGO");INSERTINTODEPTVALUES(40,"OPERATIONS","BOSTON");
擴(kuò)展閱讀:
友情提示:本文中關(guān)于《oracle建表命令總結(jié)》給出的范例僅供您參考拓展思維使用,oracle建表命令總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。