SQL 進階(4)

來源:互聯網
上載者:User

標籤:sql

SQL 進階(4)SQL CHECK 條件約束SQL CHECK 條件約束        CHECK 條件約束用於限制列中的值的範圍。
        如果對單個列定義 CHECK 條件約束,那麼該列只允許特定的值。
        如果對一個表定義 CHECK 條件約束,那麼此約束會在特定的列中對值進行限制。
SQL CHECK Constraint on CREATE TABLE        下面的 SQL 在 "Persons" 表建立時為 "Id_P" 列建立 CHECK 條件約束。CHECK 條件約束規定 "Id_P" 列必須只包含大於 0 的整數。
My SQL:
CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CHECK (Id_P>0))
SQL Server / Oracle / MS Access:
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))
        如果需要命名 CHECK 條件約束,以及為多個列定義 CHECK 條件約束,請使用下面的 SQL 文法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes'))
SQL CHECK Constraint on ALTER TABLE        如果在表已存在的情況下為 "Id_P" 列建立 CHECK 條件約束,請使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE PersonsADD CHECK (Id_P>0)
        如果需要命名 CHECK 條件約束,以及為多個列定義 CHECK 條件約束,請使用下面的 SQL 文法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE PersonsADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
撤銷 CHECK 條件約束        如需撤銷 CHECK 條件約束,請使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE PersonsDROP CONSTRAINT chk_Person
SQL DEFAULT 約束SQL DEFAULT 約束        DEFAULT 約束用於向列中插入預設值。
        如果沒有規定其他的值,那麼會將預設值添加到所有的新紀錄。
SQL DEFAULT Constraint on CREATE TABLE        下面的 SQL 在 "Persons" 表建立時為 "City" 列建立 DEFAULT 約束:
My SQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255) DEFAULT 'Sandnes')
        通過使用類似 GETDATE() 這樣的函數,DEFAULT 約束也可以用於插入系統值:
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,OrderDate date DEFAULT GETDATE())
SQL DEFAULT Constraint on ALTER TABLE        如果在表已存在的情況下為 "City" 列建立 DEFAULT 約束,請使用下面的 SQL:
MySQL:
ALTER TABLE PersonsALTER City SET DEFAULT 'SANDNES'
SQL Server / Oracle / MS Access:
ALTER TABLE PersonsALTER COLUMN City SET DEFAULT 'SANDNES'
撤銷 DEFAULT 約束        如需撤銷 DEFAULT 約束,請使用下面的 SQL:
MySQL:
ALTER TABLE PersonsALTER City DROP DEFAULT
SQL Server / Oracle / MS Access:
ALTER TABLE PersonsALTER COLUMN City DROP DEFAULT

SQL 進階(4)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.