Insertar (SQL)


El número de columnas y valores debe ser el mismo. Si no se especifica una columna, se utiliza el valor predeterminado para la columna. Los valores especificados (o implícitos) por la instrucción INSERT deben satisfacer todas las restricciones aplicables (como claves primarias , restricciones CHECK y restricciones NOT NULL ). Si se produce un error de sintaxis o si se infringe alguna restricción, la nueva fila no se agrega a la tabla y, en su lugar, se devuelve un error.

También se puede utilizar la taquigrafía, aprovechando el orden de las columnas cuando se creó la tabla. No es necesario especificar todas las columnas de la tabla, ya que cualquier otra columna tomará su valor predeterminado o permanecerá nula :

Ejemplo para insertar datos en 2 columnas en la tabla phone_book e ignorar cualquier otra columna que pueda estar después de las 2 primeras en la tabla.

Una característica de SQL (desde SQL-92 ) es el uso de constructores de valores de fila para insertar varias filas a la vez en una sola instrucción SQL:

Esta función es compatible con DB2 , SQL Server (desde la versión 10.0, es decir, 2008), PostgreSQL (desde la versión 8.2), MySQL , SQLite (desde la versión 3.7.11) y H2 .

Tenga en cuenta que las dos declaraciones separadas pueden tener una semántica diferente (especialmente con respecto a los activadores de declaraciones ) y es posible que no brinden el mismo rendimiento que una única inserción de varias filas.