Restricción NOT NULL en SQL

En SQL una tabla tiene de forma predeterminada columnas NULL, pero también podemos establecer dicha columna como No Nula.

La restricción NOT NULL nos permite establecer que una columna no acepte valores Nulos. Al declarar la columna como Not Null esta siempre tendrá que contener registros de lo contrario nos lanzará un error al intentar dejarla vacía, además no podremos hacer Insert Into o Update al campo sin que este contenga registros.

Veamos algunos ejemplos de cómo aplicar Restricción NOT NULL a columnas:

Ejemplo de uso de NOT NULL:
 
 
Para el primer ejemplo vamos a crear una tabla llamada "Autos"  a través de Transact-Sql y vamos a declarar el Código del auto Not Null y los otros campos como Null.
CREATE TABLE Autos(
Codigo INT NOT NULL,
Nombre VARCHAR(100) NULL,
Marca VARCHAR(100) NULL,
Año  INT NULL,
);

Ahora vamos a proceder a Insertar registros en la tabla "Autos":


Ya hemos creado la tabla Autos en la cual al campo que enumera el codigo del auto lo hemos declarado como NOT NULL lo que significa que ese campo no va a permitir valores Nulos, todo los demás campos si van aceptar valores nulos. Al ejecutar  el Insert a la tabla vemos que los registros se ha guardado.


Si deseáramos guardar mas registros en esta tabla  y emitiéramos el codigo de auto nos arrojaría un error ya que la columna esta definida para no quedar vacía ,veamos.


Como vemos al ejecutar la consulta esta inmediatamente nos va arrojar un mensaje de error para los 2 registros que deseamos insertar ya que como no hemos visto el codigo del auto no puede quedar vacío o en este caso no admite valores NULL.

Si quisiéramos que la columna "Marca" y "Año" no admitieran valores Nulos podemos hacerlo con la instrucción ALTER TABLE que nos permite modificar un campo en Sql.

 ALTER TABLE Autos ALTER COLUMN MARCA varchar(100) NOT NULL
 ALTER TABLE Autos ALTER COLUMN AÑO INT NOT NULL 

Modifiquemos los campos de la tabla y veamos el resultado:

Hemos modificado ambas columnas en la tabla Auto veamos ahora la tabla:


Si vemos el resultado los campos Marca y Año ya no admiten valores Nulos, es decir estos campos junto con el codigo no pueden quedar vacíos.

Por último si deseamos crear una tabla con el asistente de Sql Server Management Studio también podemos definir que la tabla no admita valores nulos veamos el ejemplo.


Lo que tenemos que realizar en el asistente es irnos a las propiedades de la columna y en la opción ALLOW NULLS (Permite valores nulos) seleccionamos la opción NO y con eso ya quedaría la columna lista para no aceptar valores nulos .


En esta sección hemos aprendido el uso de la Restricción NOT NULL, cabe hacer mención que al momento de crear una base de datos es importante definir qué campos van a permitir valores Null y cuáles no, ya que tiempo después se puede volver un poco tedioso estar realizando modificaciones a la tablas y más complicado si hay registros implicados en dicha tabla.


Publicar un comentario

0 Comentarios