¿Cómo restringir una columna en SQL Server que no acepte valores nulos con Not Null?

En este tutorial, aprenderáS cómo usar la restricción NOT NULL o IS NULL de SQL Server para garantizar que los datos contenidos en una columna no sean NULL.
Introducción a la restricción NOT NULL de SQL Server
Las restricciones NOT NULL de SQL Server simplemente especifican que una columna no debe permitir un valor NULL.
El siguiente ejemplo crea una tabla con restricciones NOT NULL para las columnas: first_name, last_name y email:
CREATE SCHEMA hr;
GO
CREATE TABLE hr.personas(
persona_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)
);
Tenga en cuenta que las restricciones NOT NULL siempre se escriben como restricciones de columna.
De manera predeterminada, si no especifica la restricción NOT NULL, SQL Server permitirá que la columna acepte valores NULL. En este ejemplo, la columna del teléfono (phone) puede aceptar NULL.
Agregar una restricción NOT NULL a una columna existente
Para agregar la restricción NOT NULL a una columna existente, siga estos pasos:
- Primero, actualice la tabla con la instrucción UPDATE para que no haya NULL en la columna:
UPDATE table_name
SET column_name = <value>
WHERE column_name IS NULL;
- En segundo lugar, modifique la tabla con ALTER TABLE y ALTER COLUMN para cambiar la propiedad de la columna:
ALTER TABLE table_name
ALTER COLUMN column_name data_type NOT NULL;
Por ejemplo, para agregar la restricción NOT NULL a la columna del teléfono (phone) de la tabla hr.personas, use las siguientes declaraciones:
- Primero, busque si una persona no tiene un número de teléfono, luego actualice el número de teléfono al número de teléfono de la compañía, por ejemplo, (55) 1234 5678:
UPDATE hr.personas
SET phone = '(55) 1234 5678'
WHERe phone IS NULL;
- En segundo lugar, modifique la propiedad de la columna del teléfono:
ALTER TABLE hr.personas
ALTER COLUMN phone VARCHAR(20) NOT NULL;
Eliminar la restricción NOT NULL
Para eliminar la restricción NOT NULL de una columna, use la instrucción ALTER TABLE ALTER COLUMN de la siguiente manera:
ALTER TABLE table_name
ALTER COLUMN column_name data_type NULL;
Por ejemplo, para eliminar la restricción NOT NULL de la columna teléfono, utilice la siguiente instrucción:
ALTER TABLE hr.personas
ALTER COLUMN phone VARCHAR(20) NULL;
En este tutorial, has aprendido cómo usar la restricción NOT NULL de SQL Server para aplicar una columna que no acepta NULL.