1、關(guān)于主鍵:在建表時(shí)指定primary key字句即可:
創(chuàng)新互聯(lián)長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為文安企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),文安網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
create table test(
id number(6) primary key,
name varchar2(30)
);
如果是對于已經(jīng)建好的表,想增加主鍵約束,則類似語法:
alter table test add constraint pk_id primary key(id);
其中add constraint 和 primary key是關(guān)鍵字,pk_id是主鍵名稱,自定義的額,只要不重復(fù)即可。
2、關(guān)于id自增功能,也很簡單,而且比較靈活。
(1)首先建立一個(gè)序列(就是每次查詢會自動增加值的絕不重復(fù)的對象,比如每次加1或每次加10)。語法:
CREATE SEQUENCE 序列名
[INCREMENT BY n] --每次加幾
[START WITH n] --序列從幾開始
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] --最小值、最大值的限制
比如CREATE SEQUENCE s_test start with 1 increment by 1; --就是建立了額一個(gè)從1開始每次加1的序列。
訪問序列時(shí),用 序列名稱.nextval的語法。
比如對于上表,如果想要id字段實(shí)現(xiàn)自增。則在每次插入記錄時(shí),使用下面類似的語法(前提是表和序列已經(jīng)建好)。
insert into test values (s_test.nextval,'張三');
當(dāng)然,你也可以自動一些,對表的插入操作,建立一個(gè)觸發(fā)器,每當(dāng)有數(shù)據(jù)插入時(shí),觸發(fā)器自動修改id值為序列的新值,這樣就完全實(shí)現(xiàn)自增id功能了。不過其實(shí)也沒有這個(gè)必要。因?yàn)橛|發(fā)器如果建多了,有時(shí)會比較混亂,不易管理。
可以通過alter方法,進(jìn)行修改,通過add primary 的形式來增加主鍵:
sql: alter table a add constraint pk_a_b primary key (b);
解釋:以上語句就是給表a的b列設(shè)置為主鍵,主鍵的名稱就是pk_a_b。
建表要點(diǎn):
1 Gengeral 中定義表名,表空間。
2 Columns 對字段進(jìn)行定義。
3 在Key選擇主鍵字段,定義主鍵名稱,一般用表名。
不能“Apply” 一般是定義不完全。
oracle:
甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟件系統(tǒng)有限公司),是全球最大的企業(yè)級軟件公司,總部位于美國加利福尼亞州的紅木灘。1989年正式進(jìn)入中國市場。2013年,甲骨文已超越?IBM?,成為繼?Microsoft?后全球第二大軟件公司。
2017年6月7日發(fā)布的2017年美國《財(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ù)庫,埃里森是程序員之一。
1977年埃里森與同事Robert Miner創(chuàng)立“軟件開發(fā)實(shí)驗(yàn)室”(Software Development Labs),當(dāng)時(shí)IBM發(fā)表“關(guān)系數(shù)據(jù)庫”的論文,埃里森以此造出新數(shù)據(jù)庫,名為甲骨文。
1978年 公司遷往硅谷,更名為“關(guān)系式軟件公司”(RSI)。RSI在1979年的夏季發(fā)布了可用于DEC公司的PDP-11計(jì)算機(jī)上的商用ORACLE產(chǎn)品,這個(gè)數(shù)據(jù)庫產(chǎn)品整合了比較完整的SQL實(shí)現(xiàn),其中包括子查詢、連接及其他特性。美國中央情報(bào)局想買一套這樣的軟件來滿足他們的需求,但在咨詢了IBM公司之后發(fā)現(xiàn)IBM沒有可用的商用產(chǎn)品,他們聯(lián)系了RSI。于是RSI有了第一個(gè)客戶。
最先提出“關(guān)系數(shù)據(jù)庫”的IBM采用RSI的數(shù)據(jù)庫。1982年再更名為甲骨文(Oracle)。
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
可以通過alter方法,進(jìn)行修改,通過add primary 的形式來增加主鍵: sql: alter table a add constraint pk_a_b primary key (b); 解釋:以上語句就是給表a的b列設(shè)置為主鍵,主鍵的名稱就是pk_a_b。
工具/材料
SQL Developer
01
首先打開SQL Developer軟件,找一個(gè)沒有主鍵約束的表,如下圖所示
02
然后我們新建一個(gè)查詢,在界面中輸入如下的約束修改語句,如下圖所示,主要通過add constranint來添加約束
03
編寫完約束添加語句以后,點(diǎn)擊工具欄中的執(zhí)行按鈕,如下圖所示,如果輸出欄顯示已變更則證明主鍵約束創(chuàng)建成果
04
然后我們進(jìn)入STUDENT表的約束添加頁中可以看到,我們加的主鍵約束已經(jīng)添加進(jìn)去了,如下圖所示
05
另外,創(chuàng)建表的時(shí)候可以直接添加主鍵約束,如下圖所示,直接在表創(chuàng)建語句中添加constraint即可
06
表創(chuàng)建完以后,記得在左側(cè)刷新數(shù)據(jù)庫信息,如下圖所示,因?yàn)槟銊?chuàng)建的信息不刷新的話不會更新
07
最后打開你所創(chuàng)建的表,看到你添加的主鍵約束已經(jīng)加入進(jìn)來了,這種方式的效果alter的方式是一樣的
新聞名稱:oracle如何增加主鍵 oracle增加主鍵語句alter
文章起源:http://muchs.cn/article30/hhegpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、云服務(wù)器、域名注冊、App開發(fā)、用戶體驗(yàn)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)