和普通表添加主鍵沒(méi)什么區(qū)別,直接給表T添加主鍵即可。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、保德ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的保德網(wǎng)站制作公司
如果主鍵是mydate,建議加主鍵的時(shí)候使用USING INDEX字句,可以使用local_date_index作為主鍵索引。
建表要點(diǎn):
1 Gengeral 中定義表名,表空間。
2 Columns 對(duì)字段進(jìn)行定義。
3 在Key選擇主鍵字段,定義主鍵名稱,一般用表名。
不能“Apply” 一般是定義不完全。
oracle:
甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟件系統(tǒng)有限公司),是全球最大的企業(yè)級(jí)軟件公司,總部位于美國(guó)加利福尼亞州的紅木灘。1989年正式進(jìn)入中國(guó)市場(chǎng)。2013年,甲骨文已超越?IBM?,成為繼?Microsoft?后全球第二大軟件公司。
2017年6月7日發(fā)布的2017年美國(guó)《財(cái)富》500強(qiáng),甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具價(jià)值全球品牌100強(qiáng)》公布,甲骨文公司排名第46位。
20世紀(jì)約70年代 一間名為Ampex的軟件公司,正為中央情報(bào)局設(shè)計(jì)一套名叫Oracle的數(shù)據(jù)庫(kù),埃里森是程序員之一。
1977年埃里森與同事Robert Miner創(chuàng)立“軟件開(kāi)發(fā)實(shí)驗(yàn)室”(Software Development Labs),當(dāng)時(shí)IBM發(fā)表“關(guān)系數(shù)據(jù)庫(kù)”的論文,埃里森以此造出新數(shù)據(jù)庫(kù),名為甲骨文。
1978年 公司遷往硅谷,更名為“關(guān)系式軟件公司”(RSI)。RSI在1979年的夏季發(fā)布了可用于DEC公司的PDP-11計(jì)算機(jī)上的商用ORACLE產(chǎn)品,這個(gè)數(shù)據(jù)庫(kù)產(chǎn)品整合了比較完整的SQL實(shí)現(xiàn),其中包括子查詢、連接及其他特性。美國(guó)中央情報(bào)局想買一套這樣的軟件來(lái)滿足他們的需求,但在咨詢了IBM公司之后發(fā)現(xiàn)IBM沒(méi)有可用的商用產(chǎn)品,他們聯(lián)系了RSI。于是RSI有了第一個(gè)客戶。
最先提出“關(guān)系數(shù)據(jù)庫(kù)”的IBM采用RSI的數(shù)據(jù)庫(kù)。1982年再更名為甲骨文(Oracle)。
1.先清理現(xiàn)有的數(shù)據(jù)并規(guī)劃只能一個(gè)主鍵,或者考慮組合主鍵(即ID列與另一個(gè)關(guān)鍵列組合成主鍵)
2.通過(guò)SQL增加主鍵:alter
table
tabname
add
constraint
tabname_pk
primary
key
(id)
enable
validate;
組合鍵:alter
table
tabname
add
constraint
tabname_pk
primary
key
(id,另一列名)
enable
validate;
工具/材料
SQL Developer
01
首先打開(kāi)SQL Developer軟件,找一個(gè)沒(méi)有主鍵約束的表,如下圖所示
02
然后我們新建一個(gè)查詢,在界面中輸入如下的約束修改語(yǔ)句,如下圖所示,主要通過(guò)add constranint來(lái)添加約束
03
編寫完約束添加語(yǔ)句以后,點(diǎn)擊工具欄中的執(zhí)行按鈕,如下圖所示,如果輸出欄顯示已變更則證明主鍵約束創(chuàng)建成果
04
然后我們進(jìn)入STUDENT表的約束添加頁(yè)中可以看到,我們加的主鍵約束已經(jīng)添加進(jìn)去了,如下圖所示
05
另外,創(chuàng)建表的時(shí)候可以直接添加主鍵約束,如下圖所示,直接在表創(chuàng)建語(yǔ)句中添加constraint即可
06
表創(chuàng)建完以后,記得在左側(cè)刷新數(shù)據(jù)庫(kù)信息,如下圖所示,因?yàn)槟銊?chuàng)建的信息不刷新的話不會(huì)更新
07
最后打開(kāi)你所創(chuàng)建的表,看到你添加的主鍵約束已經(jīng)加入進(jìn)來(lái)了,這種方式的效果alter的方式是一樣的
oracle是可以為視圖加主鍵,寫法:
create?or?replace?view?mylist(myid,insize,outsize,statrtime,endtime,jobid,imeiid,ip,useragent?UNIQUE?RELY?DISABLE?NOVALIDATE,CONSTRAINT?id_pk?PRIMARY?KEY?(myid)?RELY?DISABLE?NOVALIDATE)
as
select?job.dm_session_id?as?myid,
http.dm_request_size?as?insize,
http.dm_response_size?as?outsize,
job.begin_time_stamp?as?statrtime,
job.end_time_stamp?as?endtime,
job.job_id?as?jobid,
job.device_external_id?as?imeiid,
http.client_ip?as?ip,
http.user_agent?as?useragent
from?V_DM_TRACKING_LOG_JOB_SUM?job,DM_TRACKING_LOG_HTTP?http?where?job.Dm_Session_Id=http.dm_session_id
可以通過(guò)alter方法,進(jìn)行修改,通過(guò)add primary 的形式來(lái)增加主鍵: sql: alter table a add constraint pk_a_b primary key (b); 解釋:以上語(yǔ)句就是給表a的b列設(shè)置為主鍵,主鍵的名稱就是pk_a_b。