1. Sintaxis básica de INSERT
La sintaxis básica para insertar datos en SQL Server es la siguiente:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …);
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas.
Por ejemplo, si tienes una tabla llamada «clientes» con las columnas «id_cliente», «nombre» y «email», y deseas insertar un nuevo cliente con el id 1, nombre «Juan» y email «juan@example.com», la sintaxis sería:
INSERT INTO clientes (id_cliente, nombre, email) VALUES (1, ‘Juan’, ‘juan@example.com’);
2. Insertar datos en una tabla específica
Si deseas insertar datos en una tabla específica, puedes utilizar la siguiente sintaxis:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …);
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas.
Por ejemplo, si tienes una tabla llamada «productos» con las columnas «id_producto», «nombre» y «precio», y deseas insertar un nuevo producto con el id 1, nombre «Camiseta» y precio 20.99, la sintaxis sería:
INSERT INTO productos (id_producto, nombre, precio) VALUES (1, ‘Camiseta’, 20.99);
3. Insertar datos en múltiples columnas
Si deseas insertar datos en múltiples columnas de una tabla, puedes utilizar la siguiente sintaxis:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …);
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas.
Por ejemplo, si tienes una tabla llamada «empleados» con las columnas «id_empleado», «nombre», «apellido» y «edad», y deseas insertar un nuevo empleado con el id 1, nombre «Juan», apellido «Pérez» y edad 30, la sintaxis sería:
INSERT INTO empleados (id_empleado, nombre, apellido, edad) VALUES (1, ‘Juan’, ‘Pérez’, 30);
4. Insertar datos en una tabla con valores predeterminados
Si tienes una tabla con columnas que tienen valores predeterminados, puedes insertar datos en la tabla sin especificar los valores para esas columnas. Los valores predeterminados se utilizarán automáticamente.
La sintaxis para insertar datos en una tabla con valores predeterminados es la siguiente:
INSERT INTO nombre_tabla DEFAULT VALUES;
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos.
Por ejemplo, si tienes una tabla llamada «pedidos» con las columnas «id_pedido», «fecha» y «estado», y la columna «fecha» tiene un valor predeterminado de la fecha actual y la columna «estado» tiene un valor predeterminado de «pendiente», puedes insertar un nuevo pedido sin especificar los valores para esas columnas de la siguiente manera:
INSERT INTO pedidos DEFAULT VALUES;
5. Insertar datos en una tabla desde otra tabla
Si deseas insertar datos en una tabla desde otra tabla, puedes utilizar la siguiente sintaxis:
INSERT INTO nombre_tabla_destino (columna1, columna2, columna3, …) SELECT columna1, columna2, columna3, … FROM nombre_tabla_origen;
En esta sintaxis, «nombre_tabla_destino» es el nombre de la tabla en la que deseas insertar los datos y «nombre_tabla_origen» es el nombre de la tabla desde la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla de destino y en la tabla de origen.
Por ejemplo, si tienes una tabla llamada «clientes_nuevos» con las columnas «id_cliente», «nombre» y «email», y deseas insertar los datos de los nuevos clientes en la tabla «clientes», la sintaxis sería:
INSERT INTO clientes (id_cliente, nombre, email) SELECT id_cliente, nombre, email FROM clientes_nuevos;
6. Insertar datos condicionalmente con la cláusula WHERE
Si deseas insertar datos en una tabla condicionalmente, puedes utilizar la cláusula WHERE en la sentencia INSERT. La cláusula WHERE especifica una condición que debe cumplirse para que se realice la inserción.
La sintaxis para insertar datos condicionalmente con la cláusula WHERE es la siguiente:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …) WHERE condicion;
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas. «condicion» es la condición que debe cumplirse para que se realice la inserción.
Por ejemplo, si tienes una tabla llamada «empleados» con las columnas «id_empleado», «nombre», «apellido» y «edad», y deseas insertar un nuevo empleado con el id 1, nombre «Juan», apellido «Pérez» y edad 30 solo si la edad es mayor de 18, la sintaxis sería:
INSERT INTO empleados (id_empleado, nombre, apellido, edad) VALUES (1, ‘Juan’, ‘Pérez’, 30) WHERE edad > 18;
7. Insertar múltiples filas en una sola sentencia INSERT
Si deseas insertar múltiples filas en una tabla en una sola sentencia INSERT, puedes utilizar la siguiente sintaxis:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …), (valor1, valor2, valor3, …), …;
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas. Puedes repetir los valores para insertar múltiples filas.
Por ejemplo, si tienes una tabla llamada «productos» con las columnas «id_producto», «nombre» y «precio», y deseas insertar dos nuevos productos en una sola sentencia INSERT, la sintaxis sería:
INSERT INTO productos (id_producto, nombre, precio) VALUES (1, ‘Camiseta’, 20.99), (2, ‘Pantalón’, 39.99);
8. Insertar datos en una tabla con identidad
Si tienes una tabla con una columna de identidad, que se genera automáticamente cuando se inserta una nueva fila, puedes utilizar la siguiente sintaxis para insertar datos en la tabla sin especificar un valor para la columna de identidad:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …);
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas.
Por ejemplo, si tienes una tabla llamada «clientes» con una columna de identidad llamada «id_cliente» y las columnas «nombre» y «email», y deseas insertar un nuevo cliente con el nombre «Juan» y el email «juan@example.com», la sintaxis sería:
INSERT INTO clientes (nombre, email) VALUES (‘Juan’, ‘juan@example.com’);
9. Insertar datos en una tabla con una secuencia
Si tienes una tabla con una columna que utiliza una secuencia para generar valores automáticamente, puedes utilizar la siguiente sintaxis para insertar datos en la tabla sin especificar un valor para la columna de la secuencia:
INSERT INTO nombre_tabla (columna1, columna2, columna3, …) VALUES (valor1, valor2, valor3, …);
En esta sintaxis, «nombre_tabla» es el nombre de la tabla en la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla en las que deseas insertar los valores. «valor1, valor2, valor3, …» son los valores que deseas insertar en las respectivas columnas.
Por ejemplo, si tienes una tabla llamada «empleados» con una columna de secuencia llamada «id_empleado» y las columnas «nombre» y «apellido», y deseas insertar un nuevo empleado con el nombre «Juan» y el apellido «Pérez», la sintaxis sería:
INSERT INTO empleados (nombre, apellido) VALUES (‘Juan’, ‘Pérez’);
10. Insertar datos en una tabla con una tabla temporal
Si deseas insertar datos en una tabla utilizando una tabla temporal, puedes utilizar la siguiente sintaxis:
INSERT INTO nombre_tabla_destino (columna1, columna2, columna3, …) SELECT columna1, columna2, columna3, … FROM nombre_tabla_temporal;
En esta sintaxis, «nombre_tabla_destino» es el nombre de la tabla en la que deseas insertar los datos y «nombre_tabla_temporal» es el nombre de la tabla temporal desde la que deseas insertar los datos. «columna1, columna2, columna3, …» son los nombres de las columnas en la tabla de destino y en la tabla temporal.
Por ejemplo, si tienes una tabla llamada «clientes_nuevos» con las columnas «id_cliente», «nombre» y «email», y deseas insertar los datos de los nuevos clientes en la tabla «clientes» utilizando una tabla temporal llamada «temp_clientes», la sintaxis sería:
INSERT INTO clientes (id_cliente, nombre, email) SELECT id_cliente, nombre, email FROM temp_clientes;