婷婷久久综合九色综合,欧美成色婷婷在线观看视频,偷窥视频一区,欧美日本一道道一区二区

<tt id="bu9ss"></tt>
  • <span id="bu9ss"></span>
  • <pre id="bu9ss"><tt id="bu9ss"></tt></pre>
    <label id="bu9ss"></label>

    當(dāng)前位置:首頁 >  站長(zhǎng) >  數(shù)據(jù)庫 >  正文

    PostgreSQL 添加各種約束語法的操作

     2021-04-30 16:18  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

      阿里云優(yōu)惠券 先領(lǐng)券再下單

    這篇文章主要介紹了PostgreSQL 添加各種約束語法的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

    1. 添加主鍵

    1alter table goods add primary key(sid);

    2. 添加外鍵

    1alter table orders add foreign key(goods_id) references goods(sid) on update cascade on delete cascade;

    on update cascade: 被引用行更新時(shí),引用行自動(dòng)更新;

    on update restrict: 被引用的行禁止更新;

    on delete cascade: 被引用行刪除時(shí),引用行也一起刪除;

    on dellete restrict: 被引用的行禁止刪除;

    3. 刪除外鍵

    1alter table orders drop constraint orders_goods_id_fkey;

    4. 添加唯一約束

    1alter table goods add constraint unique_goods_sid unique(sid);

    5. 刪除默認(rèn)值

    1alter table goods alter column sid drop default;

    6. 修改字段的數(shù)據(jù)類型

    1alter table goods alter column sid type character varying;

    7. 重命名字段

    1alter table goods rename column sid to ssid;

    補(bǔ)充:PostgreSQL-主鍵約束和唯一性約束的區(qū)別

    在建索引的過程中遇到一些問題,網(wǎng)絡(luò)上搜索了一下基礎(chǔ)知識(shí)。一直以為唯一索引就已經(jīng)是主鍵了,至少在pg中看來不是這么回事兒。

    1)主鍵約束(PRIMARY KEY)

    1) 主鍵用于唯一地標(biāo)識(shí)表中的每一條記錄,可以定義一列或多列為主鍵。

    2) 是不可能(或很難)更新。

    3) 主鍵列上沒有任何兩行具有相同值(即重復(fù)值),不允許空(NULL)。

    4) 主健可作外健,唯一索引不可。

    2)唯一性約束(UNIQUE)

    1) 唯一性約束用來限制不受主鍵約束的列上的數(shù)據(jù)的唯一性,用于作為訪問某行的可選手段,一個(gè)表上可以放置多個(gè)唯一性約束。

    2) 只要唯一就可以更新。

    3) 即表中任意兩行在 指定列上都不允許有相同的值,允許空(NULL)。

    4) 一個(gè)表上可以放置多個(gè)唯一性約束。

    3)唯一索引(INDEX)

    創(chuàng)建唯一索引可以確保任何生成重復(fù)鍵值的嘗試都會(huì)失敗。

    唯一性約束和主鍵約束的區(qū)別:

    (1)唯一性約束允許在該列上存在NULL值,而主鍵約束的限制更為嚴(yán)格,不但不允許有重復(fù),而且也不允許有空值。

    (2)在創(chuàng)建唯一性約束和主鍵約束時(shí)可以創(chuàng)建聚集索引和非聚集索引,但在 默認(rèn)情況下主鍵約束產(chǎn)生聚集索引,而唯一性約束產(chǎn)生非聚集索引

    約束和索引, 前者是用來檢查數(shù)據(jù)的正確性,后者用來實(shí)現(xiàn)數(shù)據(jù)查詢的優(yōu)化,目的不同。

    唯一性約束與唯一索引有所不同:

    (1)創(chuàng)建唯一約束會(huì)在Oracle中創(chuàng)建一個(gè)Constraint,同時(shí)也會(huì)創(chuàng)建一個(gè)該約束對(duì)應(yīng)的唯一索引。

    (2)創(chuàng)建唯一索引只會(huì)創(chuàng)建一個(gè)唯一索引,不會(huì)創(chuàng)建Constraint。

    也就是說其實(shí)唯一約束是通過創(chuàng)建唯一索引來實(shí)現(xiàn)的。

    在刪除時(shí)這兩者也有一定的區(qū)別:

    刪除唯一約束時(shí)可以只刪除約束而不刪除對(duì)應(yīng)的索引,所以對(duì)應(yīng)的列還是必須唯一的,而刪除了唯一索引的話就可以插入不唯一的值。

    文章來源:腳本之家

    來源地址:https://www.jb51.net/article/205216.htm

    申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

    相關(guān)文章

    熱門排行

    信息推薦