SQL语句(基于SQL Server)
约束
- primary约束,unique约束,check约束
- 建表时
列级 create table <table name>( <column_name> <datatype> <constraint name> primary key, -- primary key <column_name> <datatype> <constraint name> unique, --unique <column_name> <datatype> <constraint name> check(check condition) --check ) 表级 create table <table name>( <column_name> <datatype>, <column_name> <datatype>, <column_name> <datatype>, constraint <约束名> primary key(<约束列>,...), --添加主键约束 constraint <约束名> unique(<约束列>,...), --添加唯一约束 constraint <约束名> check(<check约束条件>) --添加check约束 )
- 建表后
可视化创建时遇到一个问题,创建后的check约束刷新也不显示,原因是:可是化创建的约束不会自动保存,所以要ctrl + s 保存后,再刷新use <数据库名> go alter table <表名> add constraint <约束名> primary key(<约束列>), --添加主键约束 constraint <约束名> unique(<约束列>), --添加唯一约束 constraint <约束名> check(<check约束条件>) --添加check约束 constraint <约束名> check(Sex = '男'or Sex = '女'), --添加check约束 constraint <约束名> check(Age >= 15 and Age <= 15) --添加check约束
- 默认值
- 在建表时设置默认值:
create table <表名> ( <column_name> <datatype> DEFAULT(<默认值>) --建表的时候就设置默认值 )
- 在建表后设置默认值
alter table <表名> add constraint <约束名> default(<默认值>) FOR <列名>
- 规则
- 规则的创建
create rule <规则名> as @变量 条件 and @变量 条件
- 规则的绑定
exec sp_bindrule '<规则名>','<表名>.<列名>'
- 外键
- 代码创建
alter table <表名> add constraint <约束名> foreign key(<列名>) references <表名>(<列名>)
- 关系图创建
新建关系图->将对应属性拖拽到对应的表的属性上->弹出对话框->确定