MySQL predeterminado

MySQL predeterminado

"En esta publicación, discutiremos cómo usar la restricción predeterminada en la columna MySQL. Aprenderemos cómo usar este tipo de restricción en la definición de esquema de tabla para una columna específica."

Si eso suena interesante, buceemos y aprendamos más.

Sintaxis de restricción predeterminada de MySQL

El fragmento a continuación muestra la sintaxis de la restricción predeterminada:

col_name data_type predeterminado default_value;


Exploremos la sintaxis anterior.

Comenzamos con el column_name, que especifica el nombre de la columna en la que desea establecer una restricción predeterminada. Luego definimos el tipo de datos para dicha columna.

La palabra clave predeterminada es seguida por el valor predeterminado, que define un valor literal. Por lo tanto, si inserta o actualiza una fila que no incluye un valor para esa columna, MySQL usará el valor predeterminado definido en lugar de un tipo nulo.

Es bueno tener en cuenta que el valor predeterminado no puede ser una expresión o una función.

Es una buena práctica definir la restricción predeterminada durante la definición de la tabla. Esto ayuda a preservar los datos en la tabla, y no se establecen datos anteriores en NULL.

Ejemplo práctico

El siguiente ejemplo muestra cómo establecer la restricción predeterminada durante la creación de la tabla.

MySQL> Crear base de datos cero_day;
Consulta bien, 1 fila afectada (0.00 seg)


Use la base de datos de destino:

mysql> usar cero_day;
Base de datos cambiada


Cree una tabla con el esquema que se muestra a continuación:

mysql> crear registros de tabla (
-> ID int no nula llave primaria auto_increment,
-> report_name varchar (255) no nulo,
-> report_date fecha no nula,
-> Report_author Varchar (100) predeterminado 'Anónimo',
-> Severidad int no nulo,
-> Comprobar (Severidad> 0)
->);


La consulta anterior crea una tabla llamada_records con varias columnas. Presta atención a la columna Report_Author. Definimos una restricción predeterminada y establecemos el valor predeterminado en "Anónimo".

Por lo tanto, si no especificamos el valor para esa columna, MySQL usará ese valor en lugar de NULL.

Puede confirmar el esquema de la tabla después del hecho de usar el comando DESC:

Desc registros;


Esto debería devolver la definición de la tabla como una tabla.


Como puede ver, el report_author contiene un valor predeterminado, mientras que el resto de las columnas usan nulo como valor predeterminado.

Para probar esto, podemos insertar los registros como se muestra:

Insertar en los registros (report_name, report_date, gravedad)
valores ('DESC-100', '2022-01-20', 6);


La instrucción de inserción anterior agrega un registro a la tabla sin proporcionar el valor para los informes_tables.

Esto debería obligar a MySQL a usar el valor predeterminado como se muestra:

mysql> select * de registros;


La tabla de salida:

+----+-------------+-------------+---------------+----------+
| ID | Report_name | informar_date | Report_Author | Severidad |
+----+-------------+-------------+---------------+----------+
| 1 | DESC-100 | 2022-01-20 | Anónimo | 6 |
+----+-------------+-------------+---------------+----------+
1 fila en el set (0.00 seg)


Como podemos ver, la tabla contiene el valor "anónimo" en lugar de nulo.

Agregar restricción predeterminada en la tabla existente

También podemos agregar una restricción predeterminada a una tabla existente utilizando el comando ALTER TABLE como se muestra:

La sintaxis del comando es como se muestra:

ALTER TABLA TABLA_NAME
Alter columna column_name set default default_value;


Por ejemplo, para agregar una restricción predeterminada a la columna de gravedad:

mySQL> alter tabla registros alter severidad de gravedad de la columna predeterminado 5;


Esto debería actualizar la columna de gravedad para incluir la restricción predeterminada con un valor de 5.

Conclusión

En esta publicación, discutimos cómo usar el conjunto y usar la restricción predeterminada en una columna de tabla.