任务描述
本关任务:给表添加常用的约束。
相关知识
在数据库的使用过程中,我们经常要限制字段的取值。比如,有些字我们不能让它为空,我们就需要添加非空约束。本关我们就来学习如何添加这些常用的约束。
为了完成本关任务,你需要掌握: 1.怎么添加唯一约束; 2.怎么添加非空约束; 3.怎么添加默认约束; 4.怎么设置字段的值自动增加。
怎么添加唯一约束
唯一约束( Unique Constraint )要求该列唯一,允许为空,但是只能有一个空值。唯一约束可以确保一列或者几列不出现重复值。
定义部门表的部门名称唯一,使用关键词 UNIQUE ,SQL 语句如下:
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) UNIQUE,
location VARCHAR(50)
)
怎么添加非空约束
关键词: NOT NULL 。
例如:
CREATE TABLE t_dept(
id INT PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
)
怎么使用默认约束
默认约束:即给字段一个默认值。 关键词: DEFAULT 。
例如:
CREATE TABLE t_emp(
id INT PRIMARY KEY,
name VARCHAR(22),
sex VARCHAR(2) DEFAULT '男'
)
注意:如果是添加字符串型,认值要使用单引号;如果是整型,则不需要加任何符号。
设置表的属性值自动增加
在数据库应用中,经常需要在每次插入新纪录时,系统自动生成字段的主键值,即:
id | name |
---|---|
1 | 张三 |
2 | 李四 |
ID每次自动加一 | 姓名 |
... | XXX |
10 | XXX |
关键词: IDENTITY(1,1) 表示自动增长,初始值为 1 ,增量为 1 。
例如:
CREATE TABLE t_tmp
(
id int PRIMARY KEY IDENTITY(1,1),
name VARCHAR(32)
)
以上这些,你都可以在右侧的命令行中测试。
编程要求
在数据库 MyDb 中创建表 t_user ,表结构如下:
字段名称 | 数据类型 | 备注 |
---|---|---|
id | INT | 用户ID,主键,自动增长,初始值增量都为1 |
username | varchar(32) | 用户名,非空,唯一 |
sex | int | 性别,默认“0” |
提示:若要给字段添加两个或者两个以上的约束,约束之间以空格隔开即可。
测试说明
平台会对你创建的表进行测试。
提示:
连接 SqlServer :sqlcmd -S localhost -U sa -P '<123123Aa!@>'
。
实验代码