MySQL es NULL & NO NULL Tutorial con EJEMPLOS

En SQL Null es un valor además de una palabra clave. Veamos primero el valor de NULL:

El cielo como valor

En términos simples, NULL es un marcador de posición para datos inexistentes. Al realizar operaciones de inserción en tablas, habrá ocasiones en las que algunos valores de campo no estén disponibles.

Para cumplir con los requisitos de los sistemas de administración de bases de datos relacionales reales, MySQL usa NULL como marcador de posición para los valores no gastados. La siguiente imagen muestra cómo se ven los valores NULL en la base de datos.

Veamos ahora algunos de los conceptos básicos de NULL antes de continuar con la discusión.

  • NULL no es un tipo de datos – esto significa que no se reconoce como «int», «date» o cualquier otro tipo de datos especificado.
  • Operaciones aritmeticas involucrado NULO siempre return NULL por ejemplo, 69 + NULL = NULL.
  • Todas Funciones agregadas solo afecta a las capas que no tienen valores NULL.

Ahora mostraremos cómo la función de conteo se ocupa de los valores cero. Veremos el contenido actual de la tabla de miembros-

SELECT * FROM `members`;

El script de arriba nos da los siguientes resultados

membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLThis email address is being protected from spambots. You need JavaScript enabled to view it.
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me

Actualicemos a todos los miembros que han actualizado su contact_number

SELECT COUNT(contact_number)  FROM `members`;

La ejecución de la consulta anterior nos da los siguientes resultados.

Note: Values that are NULL have not been included

What is NOT?

The NOT logical operator is used to test for Boolean conditions and returns true if the condition is false. The NOT operator returns false if the condition been tested is true

Condition

NOT Operator Result

True

False

False

True

 

Why use NOT null?

There will be cases when we will have to perform computations on a query result set and return the values. Performing any arithmetic operations on columns that have the NULL value returns null results. In order to avoid such situations from happening, we can employ the use of the NOT NULL clause to limit the results on which our data operates.

NOT NULL Values

Let’s suppose that we want to create a table with certain fields that should always be supplied with values when inserting new rows in a table. We can use the NOT NULL clause on a given field when creating the table.

The example shown below creates a new table that contains employee’s data. The employee number should always be supplied

CREATE TABLE `employees`(
  employee_number int NOT NULL,
  full_names varchar(255) ,
  gender varchar(6)
);

Intentemos ahora enviar un nuevo registro sin especificar el nombre del empleado y ver qué sucede.

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

El script anterior en el banco de trabajo MySQL da el siguiente error:

Palabras clave NULL

NULL también se puede utilizar como palabra clave al realizar operaciones booleanas en valores que incluyen NULL. La palabra clave «ES / NO» se utiliza junto con la palabra NULL para tales fines. La siguiente es la sintaxis básica cuando se usa nulo como palabra clave

`comlumn_name'  IS NULL
`comlumn_name' NOT NULL

AQUÍ

  • «ES NULO» La palabra clave que hace la comparación es booleana. Es verdadero si el valor del proveedor NULL y falso si el valor del proveedor NULL no lo es.
  • «NO NULO» La palabra clave que hace la comparación es booleana. Es verdadero si el valor del proveedor es NULL y falso si el valor del proveedor es nulo.

Veamos ahora un ejemplo práctico que usa la palabra clave NOT NULL para eliminar todos los valores de columna que tienen valores cero.

Continuando con el ejemplo anterior, probablemente necesitemos detalles sobre los miembros cuyo número de contacto no sea nulo. Podemos cuestionar como

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

La ejecución de la consulta anterior solo proporciona registros donde el número de contacto no es nulo.

Supongamos que requerimos registros de miembros donde el número de contacto es nulo. Podemos usar la siguiente pregunta

SELECT * FROM `members` WHERE contact_number IS NULL;

La ejecución de la consulta anterior proporciona detalles a los miembros cuyo número de contacto es NULL

membership_ numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontact_ numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542This email address is being protected from spambots. You need JavaScript enabled to view it.
3Robert PhilMale12-07-19893rd Street 34NULL12345This email address is being protected from spambots. You need JavaScript enabled to view it.
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me

Compara el valor de nulos

Lógica por valor – Las operaciones booleanas se pueden realizar en condiciones NULL relacionadas con la devolución «Desconocido», «Verdadero» o «Falso».

Por ejemplo, usando la palabra clave «BEST NULL» al realizar operaciones de comparación asociado con NULL cualquiera de ellos puede regresar cierto o falso. Utilice devoluciones de otros operadores de comparación «Desconocido» (NULO).

Si comparas el número cinco y el 5

El resultado de la pregunta 1 es VERDADERO

Hagamos la misma operación con NULL

Veamos otro ejemplo

El resultado de la pregunta 0 es FALSO significado

Veamos el mismo ejemplo usando NULL

Utilice la palabra clave IS NULL

El resultado de la pregunta 0 es FALSO

El resultado de la pregunta 1 es VERDADERO

Resumen

  • NULL es un marcador de posición de valor para campos de tabla opcionales.
  • MySQL trata el valor NULL de manera diferente a otros tipos de datos. Cuando se utilizan valores NULL en la posición, Boolean se considera un valor falso.
  • La operación lógica NO se usa para probar valores booleanos y realmente evalúa si el valor booleano es falso y falso si el valor booleano es verdadero.
  • La cláusula NOT NULL se usa para eliminar valores NULL de un conjunto de resultados
  • Las operaciones aritméticas siempre devuelven valores NULL a resultados NULL.
  • Los operadores compararon [, =, etc.] no se pueden utilizar para comparar valores NULL.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *