sname1 char(10) 固定长度
sname2 varchar(10) 可变长度
sname1='哈' sname1里面实际储存的数据长度为:10
sname2='哈' sname2里面实际储存的数据长度为:2
1.主键约束:primary key
该字段的值是唯一不能重复;
一个表只能有一个主键;
但是一个主键可以由多个字段组成;
必须赋值,不允许有空值;
2.非空约束:not null
字段的值不能为空;
和主键约束不能同时存在
一个表里面可以存在多个非空约束;
3.检查约束:check
一个表里面可以存在多个检查约束;
通过表达式约束字段的值;
eg:ssex只能为男或者女:ssex=‘男’ or ssex=‘女’;
eg:sage要在1-18范围之内:sage>=1 and sage<=18
4.默认值约束:default
给字段设置默认值;
一个表里面可以存在多个默认值约束;
5.唯一约束:uniqe
该字段的值是唯一不能重复;
一个表里面可以有多个唯一约束;
该字段的值可以为空;
–通过代码给表添加约束
create table tb_test(
sid int primary key,--主键约束
sname varchar(10) unique,--唯一约束
ssex varchar(2) default '男' check(ssex='男' or ssex='女'),--检查约束
sage int check(sage>=1 and sage<=18),
saddress varchar(20) not null --非空约束
)