最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年02月02日 09:14:12   作者:賤一白  
這篇文章主要介紹了PostgreSQL 添加各種約束語法的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1. 添加主鍵

alter table goods add primary key(sid);

2. 添加外鍵

alter 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. 刪除外鍵

alter table orders drop constraint orders_goods_id_fkey;

4. 添加唯一約束

alter table goods add constraint unique_goods_sid unique(sid);

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

alter table goods alter column sid drop default;

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

alter table goods alter column sid type character varying;

7. 重命名字段

alter 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)的列還是必須唯一的,而刪除了唯一索引的話就可以插入不唯一的值。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • PostgreSQL upsert(插入更新)數(shù)據(jù)的操作詳解

    PostgreSQL upsert(插入更新)數(shù)據(jù)的操作詳解

    這篇文章主要介紹了PostgreSQL upsert(插入更新)教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 淺談PostgreSQL表分區(qū)的三種方式

    淺談PostgreSQL表分區(qū)的三種方式

    隨著使用時(shí)間的增加,數(shù)據(jù)庫中的數(shù)據(jù)量也不斷增加,因此數(shù)據(jù)庫查詢?cè)絹碓铰<铀贁?shù)據(jù)庫的方法很多,如添加特定的索引,將日志目錄換到單獨(dú)的磁盤分區(qū),調(diào)整數(shù)據(jù)庫引擎的參數(shù)等。本文即將介紹的數(shù)據(jù)庫表分區(qū)即能達(dá)到此效果
    2021-06-06
  • PostgreSQL數(shù)據(jù)庫管理系統(tǒng)快速入門

    PostgreSQL數(shù)據(jù)庫管理系統(tǒng)快速入門

    這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫快速入門,PostgreSQL是一個(gè)功能強(qiáng)大的開源對(duì)象關(guān)系型數(shù)據(jù)庫系統(tǒng),他使用和擴(kuò)展了SQL語言,并結(jié)合了許多安全存儲(chǔ)和擴(kuò)展最復(fù)雜數(shù)據(jù)工作負(fù)載的功能,需要的朋友可以參考下
    2023-07-07
  • 安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案

    安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案

    PostgreSQL數(shù)據(jù)庫是一款高度可擴(kuò)展的開源數(shù)據(jù)庫系統(tǒng),支持復(fù)雜的查詢、事務(wù)完整性和多種數(shù)據(jù)類型由于各種業(yè)務(wù)需求,企業(yè)常常需要將數(shù)據(jù)在不同的云平臺(tái)或私有環(huán)境之間遷移,所以本文小編給大家介紹了安全高效的PostgreSQL數(shù)據(jù)庫遷移解決方案,需要的朋友可以參考下
    2023-11-11
  • PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置詳解

    PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置詳解

    postgresql數(shù)據(jù)庫最大連接數(shù)是系統(tǒng)允許的最大連接數(shù),當(dāng)數(shù)據(jù)庫并發(fā)用戶超過該連接數(shù)后,會(huì)導(dǎo)致新連接無法建立或者連接超時(shí),這篇文章主要給大家介紹了關(guān)于PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題

    PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題

    這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)列轉(zhuǎn)行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL的應(yīng)用技巧和示例分享

    PostgreSQL的應(yīng)用技巧和示例分享

    本文會(huì)總結(jié)一些Postgres中,從應(yīng)用需求和場(chǎng)景出發(fā),不太常見,但比較常用并且有用的SQL語句,文中的示例代碼簡(jiǎn)潔易懂,需要的小伙伴可以收藏一下
    2023-06-06
  • PostgreSQL表操作之表的創(chuàng)建及表基礎(chǔ)語法總結(jié)

    PostgreSQL表操作之表的創(chuàng)建及表基礎(chǔ)語法總結(jié)

    在PostgreSQL中創(chuàng)建表命令用于在任何給定的數(shù)據(jù)庫中創(chuàng)建新表,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL表操作之表的創(chuàng)建及表基礎(chǔ)語法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • pgsql之create user與create role的區(qū)別介紹

    pgsql之create user與create role的區(qū)別介紹

    這篇文章主要介紹了pgsql之create user與create role的區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql rank() over, dense_rank(), row_number()用法區(qū)別

    postgresql rank() over, dense_rank(), row_number()用法區(qū)別

    這篇文章主要介紹了postgresql rank() over, dense_rank(), row_number()的用法區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評(píng)論

太原市| 天全县| 临夏市| 乌兰浩特市| 寿宁县| 宜春市| 资中县| 当雄县| 龙门县| 区。| 大理市| 鄂托克旗| 门头沟区| 东至县| 上蔡县| 宁乡县| 玛纳斯县| 胶州市| 武穴市| 和政县| 富锦市| 齐河县| 阿坝县| 沧源| 江油市| 南川市| 玉树县| 舒兰市| 麦盖提县| 元谋县| 武汉市| 原平市| 东乡| 丹巴县| 大田县| 抚宁县| 武宣县| 青浦区| 南溪县| 历史| 紫金县|