sql >> Base de Datos >  >> RDS >> Mysql

Cómo agregar una restricción predeterminada en MySQL

A veces, es posible que deba agregar un valor predeterminado a la columna o agregar una columna con un valor predeterminado en MySQL. Puede hacer esto fácilmente usando la restricción predeterminada en MySQL. Aquí se explica cómo agregar una restricción predeterminada en MySQL.

Cómo agregar una restricción predeterminada en MySQL

Estos son los pasos para agregar una restricción predeterminada en MySQL. Puede agregar una restricción predeterminada al crear la tabla con la instrucción CREATE TABLE o después de la creación de la tabla con la instrucción ALTER TABLE. Veremos ambos enfoques.

Cómo Agregar Restricciones Predeterminadas usando CREAR TABLA

Esta es la sintaxis para agregar una restricción predeterminada usando la declaración de tabla CREATE.

mysql> create table table_name(
    column1 column1_definition DEFAULT default_value,
    column2 column2_definition,
    ...
  );

En la consulta SQL anterior, debe especificar el nombre de la tabla table_name . Además, debe mencionar DEFAULT después de la definición de columna del campo para el que desea agregar el valor predeterminado. También debe especificar el valor predeterminado de su columna.

Lectura adicional:MySQL seleccione las N filas principales por grupo

Aquí hay un ejemplo para agregar una restricción predeterminada en MySQL.

mysql> create table sample_data(
       id int,
       order_date date,
       amount int DEFAULT 0
     );

mysql> insert into sample_data(id, order_date)
       values(1,'2020-08-01');

mysql> select * from sample_data;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-08-01 |      0 |
+------+------------+--------+

En la consulta SQL anterior, creamos sample_data tabla con el valor DEFAULT 0 para la columna cantidad. Como puede ver, cuando insertamos valores en sample_data , no mencionamos el valor de cantidad columna. Sin embargo, MySQL asigna automáticamente el valor predeterminado 0 a esta columna.

Lectura adicional:Cómo obtener datos de la semana pasada en MySQL

ALTER TABLE agregar columna con valor predeterminado en MySQL

De manera similar, puede agregar una restricción predeterminada utilizando la instrucción ALTER TABLE para las tablas existentes. Aquí está la sintaxis para ello

mysql> ALTER TABLE table_name
          ALTER column_name SET DEFAULT default_value;

En la instrucción ALTER TABLE anterior, debe mencionar table_name, column_name y valor_predeterminado

Aquí hay un ejemplo para agregar una restricción predeterminada usando ALTER TABLE. Digamos que desea establecer un valor predeterminado para order_date columna en la tabla anterior sample_data

mysql> ALTER TABLE sample_data
       ALTER order_date SET DEFAULT '2020-08-03';

mysql> insert into sample_data(id)
       values(2);

mysql>select * from sample_data;

mysql> select * from sample_data;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-08-01 |      0 |
|    2 | 2020-08-03 |      0 |
+------+------------+--------+

En la consulta SQL anterior, hemos agregado una restricción predeterminada a order_date columna. Después de eso, solo proporcionamos id valor de la columna en nuestra instrucción INSERT. Sin embargo, MySQL rellena automáticamente order_date y cantidad columnas basadas en sus valores predeterminados.

Lectura adicional:base de datos de copia de MySQL

Cómo eliminar el valor predeterminado de la columna

Si necesita eliminar el valor predeterminado para la columna, use la declaración DROP DEFAULT. Esta es la sintaxis de la consulta DROP DEFAULT.

mysql> ALTER TABLE table_name
          ALTER column_name DROP DEFAULT;

En la consulta anterior, debe especificar el table_name y nombre_columna para el que desea eliminar la restricción DEFAULT.

Aquí hay un ejemplo de la restricción DROP DEFAULT en SQL.

mysql> ALTER TABLE sample_data
       ALTER order_date DROP DEFAULT;

En la declaración anterior, hemos eliminado la restricción predeterminada de order_date columna.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!