ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5.5 非空约束

2022-08-15 13:02:37  阅读:171  来源: 互联网

标签:非空 5.5 约束 phone NULL ALTER name


SQL Server NOT NULL(非空)约束

目录

简介

SQL Server 非空约束仅指定列不能为NULL。

下面的示例创建了一个表,其中列的约束为非空约束:first_namelast_nameemail

CREATE SCHEMA hr;
GO

CREATE TABLE hr.persons(
    person_id INT IDENTITY PRIMARY KEY,
    first_name VARCHAR(255) NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    phone VARCHAR(20)
);

注意,NOT NULL约束始终写成列约束。

默认情况下,如果未指定NOT NULL约束,SQL Server将允许列接受NULL。默认为可空。

给已存在的列添加非空约束

第一步:给列中为NULL的那些记录更新成一个非空的值

UPDATE table_name
SET column_name = <value>
WHERE column_name IS NULL;

其次,更改表以更改列的属性:

ALTER TABLE table_name
ALTER COLUMN column_name data_type NOT NULL;

例如,要向hr.persons表的phone列添加NOT NULL约束,可以使用以下语句:

首先,如果某人没有电话号码,则将电话号码更新为公司或者家庭的电话号码,例如,(408)123 4567:

UPDATE hr.persons
SET phone = "(408) 123 4567"
WHER phone IS NULL;

其次,修改phone列的属性:

ALTER TABLE hr.persons
ALTER COLUMN phone VARCHAR(20) NOT NULL;

移除非空约束

要从列中删除NOT NULL约束,请使用ALTER TABLE ALTER COLUMN语句,如下所示:

ALTER TABLE table_name
ALTER COLUMN column_name data_type NULL;

例如,要从phone列中删除NOT NULL约束,可以使用以下语句:

ALTER TABLE hr.pesons
ALTER COLUMN phone VARCHAR(20) NULL;

标签:非空,5.5,约束,phone,NULL,ALTER,name
来源: https://www.cnblogs.com/michaelshen/p/16587902.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有