CREATE TABLE table_dept( id INT NOT NULL PRIMARY KEY IDENTITY(1,1), name NVARCHAR(20) NOT NULL COMMENT('部門名稱') -- 帶注釋的列)CREATE TABLE table_employee( id INT NOT NULL PRIMARY KEY IDENTITY(1,1), --設(shè)置主鍵,自增(標識種子和標識增量均為 1), name COLLATE Chinese_PRC_CIAS NOT NULL UNIQUE, --不允許為 NULL 的列,列排序規(guī)則設(shè)為 Chinese_PRC_CIAS,并添加 Unique 約束 age INT 18 NOT NULL DEFAULT 18 CONSTRAINT CK_age CHECK(age > 0 AND age < 120), -- 帶約束的列,且默認值為 18 gender NCHAR(1) NOT NULL DEFAULT ('男'), deptId INT CONSTRAINT FK_table_employee_dept FOREIGN KEY --外鍵約束 REFERENCES dept(id) -- 關(guān)聯(lián) dept 表的 id 字段 ON UPDATE CASCADE -- 外鍵約束更新規(guī)則設(shè)為“層疊” ON DELETE SET NULL -- 外鍵約束刪除規(guī)則設(shè)為“置 NULL”)CREATE TABLE table_order( id INT IDENTITY(1,1) PRIMARY KEY, price decimal(17,2) NOT NULL, num INT NOT NULL, total AS (price * num))
二、修改數(shù)據(jù)表
1、簡單字段操作
ALTER TABLE table_dept ALTER COLUMN name NVARCHAR(25) COLLATE Chinese_PRC_CI_AS NOT NULL -- 修改字段ALTER TABLE table_dept ADD remark NVARCHAR(50) -- 添加字段 remarkALTER TABLE table_dept DROP COLUMN remark -- 刪除字段
2、CHECK 約束操作
ALTER TABLE table_employee ADD CONSTRAINT CK_gender (gender ='男' OR gender ='女') -- 添加 CHECK 約束ALTER TABLE table_employee WITH NOCHECK ADD -- 不對已有數(shù)據(jù)檢查,CHECK 默認會對原有數(shù)據(jù)檢查 CONSTRAINT CK_gender (gender ='男' OR gender ='女') -- 添加 CHECK 約束ALTER TABLE table_employee NOCHECK CONSTRAINT CK_gender,CK_age -- 禁用多個約束ALTER TABLE table_employee NOCHECK CONSTRAINT ALL -- 禁用所有約束ALTER TABLE table_employee CHECK CONSTRAINT CK_gender,CK_age -- 啟用多個約束ALTER TABLE table_employee CHECK CONSTRAINT ALL -- 啟用所有約束ALTER TABLE table_employee DROP CK_gender -- 刪除約束
3、主鍵操作
ALTER TABLE table_dept ALTER COLUMN id INT NOT NULL -- 修改列將主鍵去除ALTER TABLE table_dept ADD CONSTRAINT PK_id PRIMARY KEY(id) -- 添加主鍵