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

sqlserver設(shè)置主鍵的實現(xiàn)步驟

 更新時間:2023年10月18日 15:48:02   作者:zgscwxd  
在SQLServer中,定義表的主鍵非常容易,本文主要介紹了sqlserver設(shè)置主鍵的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下

開始之前

限制和局限

  • 一個表只能包含一個 PRIMARY KEY 約束。

  • 在 PRIMARY KEY 約束中定義的所有列都必須定義為 NOT NULL。 如果沒有指定為 Null 性,則加入 PRIMARY KEY 約束的所有列的為 Null 性都將設(shè)置為 NOT NULL

創(chuàng)建主鍵會自動創(chuàng)建相應(yīng)的唯一群集索引、聚集索引或非聚集索引(如果這樣指定)

若要重新定義主鍵,則必須首先刪除與現(xiàn)有主鍵之間的任何關(guān)系,然后才能創(chuàng)建新主鍵。 此時,將顯示一條消息警告您:作為該過程的一部分,將自動刪除現(xiàn)有關(guān)系。

如果主鍵由多個列組成,則其中一個列將允許重復(fù)值,但是主鍵中所有列的值的各種組合必須是唯一的。

在SQL Server中,主鍵是數(shù)據(jù)表中唯一標(biāo)識每一行記錄的列,如果一個表沒有主鍵,表中的記錄將不能被區(qū)分開。此外,主鍵還有助于提高查詢性能,使用主鍵加快了表中記錄的訪問速度,因此,在使用SQL Server進行數(shù)據(jù)庫設(shè)計時,主鍵的設(shè)計就顯得尤為重要。

首先,在數(shù)據(jù)庫中創(chuàng)建好數(shù)據(jù)表后,可以使用以下T-SQL代碼語句

1. 使用 T-SQL 命令,執(zhí)行完命令后,主鍵就會被成功設(shè)置

ALTER TABLE 表名
ADD CONSTRAINT PK_主鍵名稱 PRIMARY KEY (列名)

--其中,表名是要設(shè)置主鍵的表名,主鍵名稱是主鍵約束的名稱(可以自己定義),列名是要設(shè)置為主鍵的列名

ALTER TABLE sys_menu
ADD CONSTRAINT PK_menu_id PRIMARY KEY (menu_id)



ALTER TABLE student
ADD CONSTRAINT PK_student PRIMARY KEY (StuID) --將表中的StuID設(shè)為主鍵


ALTER TABLE student
DROP CONSTRAINT PK_student			  --將表中的主鍵約束PK_studnet刪除





除此之外,在SQL Server中,還可以使用下列代碼定義表的主鍵

CREATE TABLE table_name

(

column_name datatype PRIMARY KEY

)

CREATE TABLE student                                           --表名為student
(
	  StuID int NOT NULL PRIMARY KEY,                           --學(xué)生學(xué)號
	  StuName varchar(15) NOT NULL,                             --學(xué)生姓名
	  Sex char(2) NULL,                                         --性別
	  Major varchar(20) NULL,                                   --所選專業(yè)
)


primary key(列名1,列名2)

此外,在SQL Server中,還可以使用如下代碼定義聯(lián)合主鍵,也就是具有多個字段的主鍵。例如,要同時定義列customer_id和 order_id兩個字段為一個聯(lián)合主鍵,可以使用以下T-SQL代碼

CREATE TABLE orders

(

customer_id INT,

order_id INT,

PRIMARY KEY(customer_id, order_id)

)

alter table 表名 add constraint pk_name primary key (列名1,列名2)

因此,在SQL Server中,定義表的主鍵非常容易,無論是單一主鍵還是聯(lián)合主鍵,只需要幾行代碼,就可以完成定義。

設(shè)置主鍵并置為非空

 要先確定你要設(shè)置主鍵的的那列不為空,如果你的列為空,以下代碼可以幫助你設(shè)為空并且添加主鍵

/*Table_Member是數(shù)據(jù)表的名字,StudentID 是要設(shè)為主鍵的列,bigint 是主鍵列的數(shù)據(jù)類型*/
ALTER TABLE Table_Member ALTER COLUMN StudentID bigint NOT NULL;
 
/*Table_Member是數(shù)據(jù)表的名字,StudentID 是要設(shè)為主鍵的列*/
ALTER TABLE Table_Member WITH NOCHECK
ADD CONSTRAINT PK_Table_Member PRIMARY KEY (StudentID)

更改已經(jīng)建好的表中主鍵列的字符類型

同樣的,這個操作也要分為兩步,在SQL server 的設(shè)計理念中,主鍵列不可更改數(shù)據(jù)類型,如果要將不是主鍵的列更改字符類型,直接跳到第二步。

ALTER TABLE [表名] DROP CONSTRAINT [主鍵約束名]

ALTER TABLE [表名] ALTER COLUMN [列名] [數(shù)據(jù)類型]

到此這篇關(guān)于sqlserver設(shè)置主鍵的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)sqlserver設(shè)置主鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • SQL?Server數(shù)據(jù)庫自動備份完整配置詳細(xì)指南

    SQL?Server數(shù)據(jù)庫自動備份完整配置詳細(xì)指南

    數(shù)據(jù)庫備份是任何業(yè)務(wù)連續(xù)性和災(zāi)難恢復(fù)策略的基本組成部分,因為數(shù)據(jù)庫備份可以幫助保護數(shù)據(jù)免遭損壞或刪除,這篇文章主要介紹了SQL?Server數(shù)據(jù)庫自動備份完整配置的相關(guān)資料,需要的朋友可以參考下
    2025-10-10
  • 把SQL Server數(shù)據(jù)庫導(dǎo)為sql文件的實現(xiàn)方式

    把SQL Server數(shù)據(jù)庫導(dǎo)為sql文件的實現(xiàn)方式

    這篇文章主要介紹了把SQL Server數(shù)據(jù)庫導(dǎo)為sql文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • 大型項目中Java連接MSSQL的性能優(yōu)化

    大型項目中Java連接MSSQL的性能優(yōu)化

    在大型項目中,Java語言和MSSQL數(shù)據(jù)庫的結(jié)合應(yīng)用變得越來越流行,這不但是因為Java語言提供高度可移植性和高效處理大量數(shù)據(jù)的優(yōu)勢,而且MSSQL具備高效便捷的存儲和數(shù)據(jù)查詢能力,今天我們將討論如何在Java項目中與MSSQL數(shù)據(jù)庫進行交互
    2024-02-02
  • SQLServer地址搜索性能優(yōu)化

    SQLServer地址搜索性能優(yōu)化

    網(wǎng)上關(guān)于SQL優(yōu)化的教程很多,但是比較雜亂。今天我們來從一個簡單的例子來探討下SQLServer地址搜索性能優(yōu)化
    2017-01-01
  • SQL Server數(shù)據(jù)復(fù)制到的Access兩步走

    SQL Server數(shù)據(jù)復(fù)制到的Access兩步走

    以下的文章主要描述的是把SQL Server數(shù)據(jù)復(fù)制到的Access數(shù)據(jù)庫中的實際操作步驟,以及對其在實際操作中要用到的代碼描述。
    2015-09-09
  • 淺談SELECT?*會導(dǎo)致查詢效率低的原因

    淺談SELECT?*會導(dǎo)致查詢效率低的原因

    本文主要介紹了淺談SELECT?*會導(dǎo)致查詢效率低的原因,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SQL Server 2012 身份驗證(Authentication)

    SQL Server 2012 身份驗證(Authentication)

    這篇SQL Server安全文章,我們學(xué)習(xí)了SQL Server里的多個驗證選項。Windows集成身份驗證是最安全的,但并不是都是可行的,微軟多年來已經(jīng)讓SQL Server驗證更加安全。
    2016-04-04
  • sqlserver 三種分頁方式性能比較[圖文]

    sqlserver 三種分頁方式性能比較[圖文]

    第二種分頁方法和第一種分頁方法效率差不多,但第二種可用于老版本的sqlserver甚至access,最后一種別用
    2011-08-08
  • SQL Server 2016 配置 SA 登錄教程

    SQL Server 2016 配置 SA 登錄教程

    這篇文章主要介紹了SQL Server 2016 配置 SA 登錄教程以及sqlserver2016 sa賬號登錄不上的解決方法,需要的朋友可以參考下
    2017-04-04
  • 必須會的SQL語句(七) 字符串函數(shù)、時間函數(shù)

    必須會的SQL語句(七) 字符串函數(shù)、時間函數(shù)

    這篇文章主要介紹了sqlserver中字符串函數(shù)、時間函數(shù)使用方法,需要的朋友可以參考下
    2015-01-01

最新評論

白山市| 镇雄县| 台中市| 双柏县| 昌平区| 邢台县| 周宁县| 湖南省| 翁牛特旗| 通辽市| 安图县| 灵武市| 阿坝| 佛学| 紫云| 北海市| 兴国县| 巴楚县| 上林县| 丹阳市| 昌黎县| 杭锦后旗| 西峡县| 泰兴市| 嘉定区| 延长县| 广饶县| 弥勒县| 申扎县| 青海省| 松滋市| 元江| 平山县| 青冈县| 饶河县| 全椒县| 建瓯市| 天气| 玉溪市| 民丰县| 永靖县|