使用SQL语句创建和删除约束
use
master
go
--Create Database
if exists(select * from sysdatabases where name ='TestMachine')
drop database TestMachine
go
create database TestMachine
on ( name = 'TestMachines_data.mdf', filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestMachine_data.mdf' )
log on( name = 'TestMachines_log.ldf', filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestMachine_log.ldf' )
go
use TestMachine go
--Create Table TestItem
if exists (select * from sysobjects where name='TestItem')
drop table TestItem
go
create table TestItem
( ID int not null identity(1,1) primary key,
TestGroupName nvarchar(50) not null,
TestItems nvarchar(50) not null )
go
使用SQL语句创建和删除约束
约束的目的是确保表中数据的完整性,常用的约束类型如下:
》主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空
》唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值
》检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束
》默认约束(Default Constraint):某列的默认值,比如学员信息表,男生多的话就可将默认设为“男”
》外键约束(Foreign Key Constraint):用于在两表之间建立关系,需要指定引用主键的那一列
添加约束
ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束类型 具体的约束说明
示例:
——添加主键约束(将stuNo作为主键)
ALTER TABLE STUINFO
ADD CONSTRAINT PK_STUNO PRIMARY KEY (stuNo)
——添加唯一约束(身份证号唯一)
ALTER TABLE STUINFO
ADD CONSTRAINT UQ_STUID UNIQUE (stuId)
——添加默认约束(如果地址不填,默认为“地址不详”)
ALTER TABLE STUINFO
ADD CONSTRAINT DF_STUADDRESS DEFAULT ('地址不详') FOR STUADDRESS
——添加检查约束,要求年龄只能在15~40岁之间
ALTER TABLE STUINFO
ADD CONSTRAINT CK_STUAGE CHECK (STUAGE BETWEEN 15 AND 40)
——添加外键约束(主表STUINFO和从表STUMARKS建立关系,关联字段为stuNo)
ALTER TABLE STUINFO
ADD CONSTRAINT FK_STUNO FOREIGN KEY (stuNo) REFERENCES STUINFO (stuNo)
删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名