五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

云數(shù)據(jù)庫(kù)GaussDB主鍵

云數(shù)據(jù)庫(kù)GaussDB主鍵

  • 什么是主鍵?

    數(shù)據(jù)庫(kù) 主鍵 ,指的是一個(gè)列或多列的組合,其值能唯一地標(biāo)識(shí)表中的每一行,通過(guò)它可強(qiáng)制表的 實(shí)體完整性 。

    主鍵是被挑選出來(lái),作表的行的唯一標(biāo)識(shí)的候選關(guān)鍵字。主鍵可以由一個(gè)字段,也可以由多個(gè)字段組成,還可以由多個(gè)關(guān)鍵字共同組成,并且主關(guān)鍵字的列不能包含空值,分別稱為單字段主鍵或多字段主鍵。

  • 主鍵的作用?

    主鍵的作用有四個(gè):

    1.可以保證實(shí)體的完整性;

    2.能夠加快數(shù)據(jù)庫(kù)的操作速度;

    3.在表中添加新記錄時(shí),會(huì)自動(dòng)檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復(fù);

    4.自動(dòng)按主鍵值的順序顯示表中的記錄,但如果沒(méi)有定義主鍵,則按輸入記錄的順序顯示表中的記錄。

  • 主鍵及復(fù)合主鍵的設(shè)置

    (1)單一主鍵:只需要在字段類(lèi)型后寫(xiě)上 PRIMARY_KEY即可;

    例:CREATE TABLE A.TABLE

    ( DT DATE PRIMARY KEY);


    (2)復(fù)合主鍵:于字段編寫(xiě)最下方設(shè)置約束 CONSTRAINT 約束名 PRIMARY KEY(主鍵名);

    例:CREATE TABLE A.TABLE

    ( DT DATE NOT NULL,

    NAME VARYING(255) NOT NULL,

    CONSTRAINT YUESHU PRIMARY KEY(DT,NAME)

    );

    ————————————————

    來(lái)源:CSDN博主「早安太陽(yáng)」

  • GaussDB創(chuàng)建主鍵和刪除主鍵?

    創(chuàng)建主鍵

    GAUSS200,oracle主鍵添加語(yǔ)句通常緊跟在建表語(yǔ)句之后,也可以直接嵌在列聲明?創(chuàng)建,創(chuàng)建主鍵時(shí)會(huì)?動(dòng)在該列上創(chuàng)建索引。


    ?法?、使?add constraint ?法添加主鍵約束

    alter table 表名 add constraint 主鍵名 primary key (列名1,列名2,...)


    ?法?、使?索引創(chuàng)建主鍵

    (和?法?沒(méi)有區(qū)別,可以將?法?理解為省略了using index)

    alter table 表名 add constraint 主鍵名 primary key (列名1,列名2,...)

    using index [index_name];


    當(dāng)省略u(píng)sing index后?的index_name時(shí),創(chuàng)建主鍵的同時(shí)創(chuàng)建同名索引;當(dāng)使?已有索引index_name創(chuàng)建主鍵時(shí),注意索引列和主鍵列應(yīng)

    該相同才能創(chuàng)建成功。


    ?法三、直接添加主鍵

    alter table 表名 add primary key (列名1,列名2,...) ;

    同樣,創(chuàng)建主鍵的同時(shí)創(chuàng)建同名索引


    -?法四、參數(shù)列內(nèi)添加主鍵

    create table ALERT_RESULT_EVENT_C

    (

    data_date VARCHAR2(8) not null,

    object_id VARCHAR2(600) not null,

    event_id VARCHAR2(20) not null,

    ratio NUMBER(22,4),

    pairing_object_id VARCHAR2(128),

    index_value_1 VARCHAR2(128),

    index_value_2 VARCHAR2(128),

    constraint PK_ALERT_RESULT_EVENT_C primary key (DATA_DATE, OBJECT_ID, EVENT_ID)

    );


    刪除主鍵

    alter table 表名 drop primary key` ;

    采?該語(yǔ)句刪除主鍵時(shí),同名索引也會(huì)被刪掉。

    alter table 表名 drop primary key keep index;

    該語(yǔ)句只刪除主鍵,保留索引

    ————————————————

    來(lái)源:CSDN博主「還有兩根頭發(fā)」

GaussDB數(shù)據(jù)庫(kù)涉及到主鍵的編程規(guī)范

INSERT

INSERT ON DUPLICATE KEY UPDATE不支持對(duì)主鍵或唯一約束的列上執(zhí)行UPDATE。

INSERT ON DUPLICATE KEY UPDATE的語(yǔ)義是對(duì)唯一約束沖突的行進(jìn)行更新,這個(gè)過(guò)程中不應(yīng)對(duì)約束的值進(jìn)行更新。

INSERT ON DUPLICATE KEY UPDATE如果插入多條數(shù)據(jù),這些數(shù)據(jù)之間不允許存在主鍵/唯一約束沖突。

與MySQL行為存在一定差異,MYSQL允許此行為,例如如下語(yǔ)句:

INSERT INTO t1 VALUES(1, 1), (1, 2) ON DUPLICATE KEY UPDATE col2 = VALUES(col2);

不符合SQL標(biāo)準(zhǔn),SQL標(biāo)準(zhǔn)不允許在同一條SQL COMMAND中,對(duì)插入行同時(shí)進(jìn)行修改,使得結(jié)果無(wú)可預(yù)期。

例如上例中,假設(shè)col1為主鍵,那么此時(shí)會(huì)在同一個(gè)COMMAND中,既插入一條主鍵為1的,同時(shí)對(duì)已插入進(jìn)行修改。由于事務(wù)串行化無(wú)法確認(rèn)哪一個(gè)操作先執(zhí)行,因此可能導(dǎo)致結(jié)果不穩(wěn)定。

如果插入的數(shù)據(jù)本身存在沖突,在分布式場(chǎng)景下更新應(yīng)以哪一條記錄為準(zhǔn)難以確定。

禁止對(duì)存在多個(gè)唯一約束的表執(zhí)行INSERT ON DUPLICATE KEY UPDATE。

說(shuō)明:表中存在多個(gè)唯一約束包括存在多個(gè)唯一索引,或既存在主鍵(PRIMARY KEY),又存在唯一索引(UNQUE INDEX)兩種情況。

當(dāng)存在多個(gè)唯一約束時(shí),會(huì)默認(rèn)檢查所有的唯一約束條件,只要任何一個(gè)約束存在沖突,就會(huì)對(duì)沖突行進(jìn)行更新,即可能更新多條記錄,與業(yè)務(wù)預(yù)期不相符。業(yè)務(wù)應(yīng)給予更加明確的插入更新條件。

對(duì)于批量插入的情況,建議使用INSERT INTO TABLE1 VALUES (),(),(),執(zhí)行效率將高于執(zhí)行多條INSERT INTO VALUES()

說(shuō)明:由于目前無(wú)法識(shí)別多個(gè)值是否屬于一個(gè)shard,所以要使用/*+ multinode */ 來(lái)允許此語(yǔ)句執(zhí)行。

無(wú)論單條和多條插入,關(guān)鍵字均需是VALUES。

不支持MySQL的INSERT INTO mytable VALUE()的用法。


CREATE TABLE

功能描述

在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新的空白表,該表由命令執(zhí)行者所有。

注意事項(xiàng)

列存表支持的數(shù)據(jù)類(lèi)型請(qǐng)參考列存表支持的數(shù)據(jù)類(lèi)型。

列存表不支持?jǐn)?shù)組。

列存表不支持生成列。

列存表不支持創(chuàng)建全局臨時(shí)表。

創(chuàng)建列存表的數(shù)量建議不超過(guò)1000個(gè)。

如果在建表過(guò)程中數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生故障,系統(tǒng)恢復(fù)后可能無(wú)法自動(dòng)清除之前已創(chuàng)建的、大小為0的磁盤(pán)文件。此種情況出現(xiàn)概率小,不影響數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行。

列存表的表級(jí)約束只支持PARTIAL CLUSTER KEY、UNIQUE、PRIAMRY KEY,不支持外鍵等表級(jí)約束。

列存表的字段約束只支持NULL、NOT NULL和DEFAULT常量值、UNIQUE和PRIMARY KEY。

列存表支持delta表,受參數(shù)enable_delta_store控制是否開(kāi)啟,受參數(shù)deltarow_threshold控制進(jìn)入delta表的閥值。

使用JDBC時(shí),支持通過(guò)PrepareStatement對(duì)DEFAULT值進(jìn)行參數(shù)化設(shè)置。

被授予CREATE ANY TABLE權(quán)限的用戶,可以在public模式和用戶模式下創(chuàng)建表。如果想要?jiǎng)?chuàng)建包含serial類(lèi)型列的表,還需要授予CREATE ANY SEQUENCE創(chuàng)建序列的權(quán)限。



開(kāi)放能力

活動(dòng)規(guī)則

活動(dòng)對(duì)象:華為云電銷(xiāo)客戶及渠道伙伴客戶可參與消費(fèi)滿送活動(dòng),其他客戶參與前請(qǐng)咨詢客戶經(jīng)理

活動(dòng)時(shí)間: 2020年8月12日-2020年9月11日

活動(dòng)期間,華為云用戶通過(guò)活動(dòng)頁(yè)面購(gòu)買(mǎi)云服務(wù),或使用上云禮包優(yōu)惠券在華為云官網(wǎng)新購(gòu)云服務(wù),累計(jì)新購(gòu)實(shí)付付費(fèi)金額達(dá)到一定額度,可兌換相應(yīng)的實(shí)物禮品?;顒?dòng)優(yōu)惠券可在本活動(dòng)頁(yè)面中“上云禮包”等方式獲取,在華為云官網(wǎng)直接購(gòu)買(mǎi)(未使用年中云鉅惠活動(dòng)優(yōu)惠券)或參與其他活動(dòng)的訂單付費(fèi)金額不計(jì)入統(tǒng)計(jì)范圍內(nèi);

  • 開(kāi)發(fā)指南

    服務(wù)介紹、開(kāi)發(fā)準(zhǔn)備、使用場(chǎng)景等

  • API參考

    實(shí)例管理、備份管理、任務(wù)管理、標(biāo)簽管理、磁盤(pán)管理等

  • SDK

    基于華為云SDK,通過(guò)編碼調(diào)用華為云API,訪問(wèn)華為云資源和數(shù)據(jù)

  • 示例代碼

    數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建、查詢、刪除、用戶授權(quán)、備份、SQL調(diào)優(yōu)等