溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL?Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件

發(fā)布時(shí)間:2022-11-15 09:17:37 來(lái)源:億速云 閱讀:138 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”,在日常操作中,相信很多人在SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

    1.創(chuàng)建數(shù)據(jù)庫(kù):

    CREATE DATABASE my_db;

    2.創(chuàng)建表:

    CREATE TABLE Persons
    (
    Id_P int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    數(shù)據(jù)類型:

    int   smallint  tinyint   整數(shù) , 

    char(size)     容納固定長(zhǎng)度的字符串,

    varchar(size)      容納可變長(zhǎng)度的字符串,

    date(yyyymmddd)     容納日期。

    3.約束:

     NOT NULL                  約束強(qiáng)制列不接受 NULL 值。

    UNIQUE                      約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。

    PRIMARY KEY              PRIMARY KEY 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。

    FOREIGN KEY             一個(gè)表中的 FOREIGN KEY 指向另一個(gè)表中的 PRIMARY KEY。

    CHECK                       約束用于限制列中的值的范圍。

    DEFAULT                    約束用于向列中插入默認(rèn)值。

    3.1.Not  Null

    CREATE TABLE Persons
    (
    Id_P int 
    NOT NULL
    ,
    LastName varchar(255) 
    NOT NULL
    ,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    3.2.UNIQUE

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    UNIQUE
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    當(dāng)表已被創(chuàng)建時(shí),如需在 "Id_P" 列創(chuàng)建 UNIQUE 約束:

    ALTER TABLE Persons
    ADD UNIQUE (Id_P)

    如需命名UNIQUE 約束:

    ALTER TABLE Persons
    ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)

    如需撤銷 UNIQUE 約束,請(qǐng)使用下面的 SQL:

    ALTER TABLE Persons
    DROP CONSTRAINT uc_PersonID

    3.3.PRIMARY KEY

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    PRIMARY KEY
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    如果在表已存在的情況下為 "Id_P" 列創(chuàng)建 PRIMARY KEY 約束:

    ALTER TABLE Persons
    ADD PRIMARY KEY (Id_P)

    如需命名PRIMARY KEY 約束:

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P)

    如需撤銷 PRIMARY KEY 約束:

    ALTER TABLE Persons
    DROP CONSTRAINT pk_PersonID

    3.4.FOREIGN KEY

    "Persons" 表:

    SQL?Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件

    "Orders" 表:

    SQL?Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件

    請(qǐng)注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

    "Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

    "Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

    FOREIGN KEY 約束用于預(yù)防破壞表之間連接的動(dòng)作。

    FOREIGN KEY 約束也能防止非法數(shù)據(jù)插入外鍵列,因?yàn)樗仨毷撬赶虻哪莻€(gè)表中的值之一。

    CREATE TABLE Orders
    (
    Id_O int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
    
    )

    如果在 "Orders" 表已存在的情況下為 "Id_P" 列創(chuàng)建 FOREIGN KEY 約束:

    ALTER TABLE Orders
    ADD 
    CONSTRAINT fk_PerOrders
     
    FOREIGN KEY (Id_P)
    REFERENCES Persons(Id_P)

    如需撤銷 FOREIGN KEY 約束:

    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders

    3.5.check

    下面的 SQL 在 "Persons" 表創(chuàng)建時(shí)為 "Id_P" 列創(chuàng)建 CHECK 約束。CHECK 約束規(guī)定 "Id_P" 列必須只包含大

    于 0 的整數(shù)。

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    CHECK (Id_P>0)
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    如果在表已存在的情況下為列創(chuàng)建 CHECK 約束以及為多個(gè)列定義 CHECK 約束:

    ALTER TABLE Persons
    
    ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

    如需撤銷 CHECK 約束:

    ALTER TABLE Persons
    
    DROP CONSTRAINT chk_Person

    3.6.DEFAULT

    下面的 SQL 在 "Persons" 表創(chuàng)建時(shí)為 "City" 列創(chuàng)建 DEFAULT 約束:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT 'Sandnes'
    )

    如果在表已存在的情況下為 "City" 列創(chuàng)建 DEFAULT 約束:

    ALTER TABLE Persons
    ALTER COLUMN City SET DEFAULT 'SANDNES'

    撤銷 DEFAULT 約束:

    ALTER TABLE Persons
    ALTER COLUMN City DROP DEFAULT

    這些就是創(chuàng)建表的一些約束及示例。

    到此,關(guān)于“SQL Server數(shù)據(jù)庫(kù)如何創(chuàng)建表及約束條件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI