约束
除主键约束、外键约束外
唯一约束(主键列、索引列的候选索引)
设计---右键---索引/键---需要修改的列----是唯一的----忽略重复键
代码方式:
cid varchar (20) unique
联合主键
所谓主键就是可以唯一确定该行数据,由此可以知道,当一个字段不能决定该行的值时,就要考虑采用多个字段作为主键。比如,对于学校来说,班号可以决定班级,但是决定不了班级里的某个人,表示班级里的某个人就需要用
班号+该学生在该班内的编号(当然也可以用唯一的学号来决定,这里只是举个例子)
create table WIZ_META ( META_NAME varchar(50), ---不写null或not null就默认null,如果是主键会默认not null META_KEY varchar(50), META_VALUE varchar(30), DT_MODIFIED char(19), primary key (META_NAME, META_KEY) ---这个就是联合主键,两个字段都为主键 )
check约束
check约束——表达式——写上需要约束的范围(一个值不能同时给定两个范围)
查看表代码:
右键---编写表脚本为---CREATE到---新查询编辑器窗口
如:
USE [newData]
GO
/****** Object: Table [dbo].[sstable] Script Date: 11/04/2014 16:18:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[sstable](
[code] [int] NOT NULL,
[name] [varchar](20) NULL,
[sex] [varchar](10) NULL,
[age] [int] NULL,
[cid] [varchar](20) NULL,
PRIMARY KEY CLUSTERED
(
[code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[sstable] WITH CHECK ADD CONSTRAINT [CK_sstable] CHECK (((0)<[age] AND [age]<(150)))
GO
ALTER TABLE [dbo].[sstable] CHECK CONSTRAINT [CK_sstable]
GO