Saltar al contenido

Comando insert : Guía detallada

Si estás buscando aprender a insertar datos en una tabla mediante sql, has llegado al sitio correcto. En este artículo te explicaremos cómo realizar esta tarea de forma sencilla y eficiente. La sintaxis para insertar datos en una tabla es muy simple: basta con utilizar el comando «insert into», seguido del nombre de la tabla y los valores que deseas incluir.

Vamos a empezar!

Índice

    Introducción

    Este pertenece a los comando dml de sql y nos permitira agregar datos y el comando insert es uno de los primeros comandos que aprendemos al iniciarnos en SQL, y con razón: es uno de los más útiles y sencillos.

    Ejemplo de sintaxis SQL Insert into de base de datos

    Insert into nombre_tabla (campo_a, campo_b) 
    values (valor_a, valor_b);

    Básicamente lo que hacemos es indicarle a sql que queremos insertar datos en una tabla determinada, y luego le especificamos qué campos de la tabla vamos a rellenar , y con qué valores. En este ejemplo hemos insertado datos en los campos «campo_a» y «campo_b», pero podríamos haberlo hecho en un solo campo, o en todos ellos.

    Para hacer esto, basta con teclear la siguiente consulta en la consola para deslplegar una lista:

    SELECT  * FROM nombre_tabla;

    En este caso, el SGBD nos mostrará todos los registros de la tabla «nombre_tabla», y podremos verificar que los datos se han insertado correctamente.

    Sintaxis del comando insert into desde una tabla

    Para los fines utilizamos Insert into nombre_tabla (campo_a, campo_b) seguido de una consulta donde los campos seleccionados desde una tabla debe ser iguales a la cantidad de campos que vamos agregar en nuestra tabla.

    Ejemplo consulta desde tablas:

    INSERT INTO nombre_tabla (campo_a, campo_b)
    select campo_x, campo_y from otra_tabla;

    En este caso estamos insertando una lista de filas desde una tabla a a las misma puede ir acompañada de un WHERE, JOIN(INNER JOIN, LEFT JOIN ) ORDER BY O GROUP BY . ademas, podemos usar cualquier tipo de operadores logicos(not null , LIKE o BETWEEN) para filtrar el contenido de nuesta cosnulta la cual pude ejecutarse desde cual quiere base de datos de un SGBD como son microsoft sql server mysql o cualquier otro.

    Sentencia insert into join con where

    El uso de esta sentencia es muy parecido al anterior, la unica diferencia es que podremos agregar una condicion extra con el where.

    ejemplo:

    Insert into nombre_tabla
    
    INNER JOIN otra_tabla ON nombre_tabla.id=otra_tabla.id
    
    WHERE nombre_tabla.campo=valor;

    con esta sentencia insertaremos los datos de la tabla «nombre_tabla» que coincidan con el id de la tabla «otra_tabla» y ademas cumplan con la condicion del WHERE.

    ORDER BY con Insert into

    esta sentencia es super sencilla ya que la misma implica que se ordenaran los datos ingresados.

    Ejemplo:

    Insert into nombre_tabla (campo_a, campo_b) values (valor_a, valor_b) ORDER BY campo_a;

    En este caso se estan insertando datos en los campos «campo_a» y «campo_b», pero podríamos haberlo hecho en un solo campo, o en todos ellos.

    En este artículo nos centraremos en la primera forma, ya que es la más básica y sencilla. Para insertar datos en una tabla utilizando esta sintaxis, lo primero que debemos hacer es indicarle al SGBD (Sistema Gestor de Base de Datos) en qué tabla vamos a insertar los datos.

    Otra forma de insert into

    Esta forma de hacer un insert permite crear una estructura completa apartir de una from con una operación super sencilla de consulta.

    Ejemplo:

    SELECT campo1 , campo2 into Tabla2 from nombre_tabla;

    con esto se creara una tabla «Tabla_dos» con los campos «campo_uno» y «campo_dos».

    Like where con insert into

    Existen varios tipos de operadores logicos pero para este caso veremos como consultar registros e insertarlos en una tabla con del like y where .

    ejemplo:

    INSERT INTO nombre_tabla (campo_a, campo_b)
    SELECT campo1, campo2 INTO Tabla2 FROM nombre_tabla WHERE campo1 LIKE '%valor%';

    Con esto podremos insertar los datos de un registro que cumplan con los valores en la columna de las tablas seleccionada.


    Insertando fecha en sql server

    Para registrar valores de tipo fecha en una base de datos relacional como sql server o mysql utilizamos el siguiente formato YYYY-MM-DD.

    'YYYY-MM-DD' 

    este formato:

    • YYYY representa el año, 2022.
    • MM los meses, 01, 02, y 12.
    • DD son los dias en dos digitos, 01, 02, 30.

    Para este caso mostramos una insert into de mysql con campos tipo fecha

    INSERT INTO tasks(title, start_date, due_date)
    VALUES('Insert date into table','2018-01-09','2018-09-15');

    Si para mostrar estos valores usamos un formato de fecha especifico para sql o una funcion para convertir fechas en mysql.

    PostgreSQL Insert Into Returning

    En postgresql tenemos el uso de las mismas sentencia del estandard de sql pero la unica diferencia es que aqui agregamos la clausula returning la que te permite mostrar los valores insertandos en la tabla.

    Sintaxis de postgresql insert into multiples registros

    INSERT INTO empleados(emp_id, nombre, apellido, sexo, fecha_Nacimiento)
    VALUES
    	(5,'Sahin','Tenar','M', DATE '1984-01-09'),
    	(6,'cali', 'Devi', 'M', DATE '1989-03-26'),
      	(7,'Joel','Roota','F', DATE '1948-11-29'),
    	(8,'Moe', 'Alister', 'F', DATE '1959-04-16')
    RETURNING *;

    En este jemplo mostramos, Como insertar un tipo fecha en postgresql ? insertar no es igual que dar el formato de fecha. Tambien podemos ver que con el uso de un asterisco podras en pgadmin ver todos los registros insertados.

    ¿Cómo mejorar la inserción de datos en SQL?

    Además de seguir las buenas prácticas mencionadas anteriormente, existen algunas estrategias que pueden ayudar a mejorar el rendimiento y la eficiencia de la inserción de datos en SQL. Tomando en cuenta que solo hablamos del comando insert de sql y no de los procesos de importacion de archivos CSV.

    1. Utilizar la sintaxis de inserción múltiple

    Si se necesita insertar varios registros en una tabla, se puede utilizar la sintaxis de inserción múltiple en lugar de realizar una inserción individual para cada registro. La sintaxis de inserción múltiple tiene la siguiente estructura:

    INSERT INTO nombre_de_tabla 
    (columna1, columna2, columna3, ...)
    VALUES
    (valor1a, valor2a, valor3a, ...), 
    (valor1b, valor2b, valor3b, ...), 
    (valor1c, valor2c, valor3c, ...), ...;

    Donde cada conjunto de valores entre paréntesis representa un registro distinto que se va a insertar.

    Este enfoque es más eficiente que la inserción individual ya que se reduce la cantidad de operaciones de inserción y se aprovecha mejor el procesamiento por lotes de SQL.

    2. Desactivar las restricciones temporales

    Las restricciones temporales, como los índices y las claves foráneas, pueden afectar el rendimiento de la inserción de datos en SQL. Si se inserta una gran cantidad de registros con restricciones activas, puede generar una sobrecarga en la base de datos y aumentar el tiempo de inserción.

    Una forma de mejorar el rendimiento es desactivar temporalmente las restricciones antes de la inserción de datos y volver a activarlas después. De esta manera, se puede reducir la sobrecarga y aumentar la velocidad de inserción.

    3. Utilizar instrucciones preparadas

    Las instrucciones preparadas son un mecanismo que permite a SQL almacenar en caché una consulta y reutilizarla varias veces con diferentes valores de parámetros. Al utilizar instrucciones preparadas, se reduce el tiempo necesario para analizar, compilar y optimizar la consulta, lo que puede mejorar el rendimiento de la inserción de datos.

    4. Optimizar la estructura de la tabla

    La estructura de la tabla puede afectar el rendimiento de la inserción de datos en SQL. Es importante definir correctamente los tipos de datos de las columnas y asegurarse de que las restricciones estén bien definidas. Además, es recomendable evitar las tablas con un gran número de columnas y normalizar la estructura de la tabla para evitar la duplicación de datos.

    Consejos para evitar errores

    A continuación, se presentan algunos consejos para evitar errores al insertar datos en una base de datos:

    • Verificar que los valores a insertar coincidan con el tipo de dato de la columna correspondiente.
    • Asegurarse de que los valores sean únicos en caso de que la columna tenga restricciones de unicidad.
    • Utilizar una transacción para asegurarse de que la inserción se realice de forma atómica y se pueda deshacer en caso de error.

    Conclusiones

    En resumen, insertar datos en una tabla mediante sql es muy sencillo: basta con utilizar el comando «insert into», seguido del nombre de la tabla y los valores que deseas incluir. ¡Así de fácil! Esperamos que este artículo te haya sido útil, y que hayas aprendido todo lo necesario para realizar esta tarea de forma eficiente. ¡Buena suerte!

    Favor dejanos tu comentarios de este contenido y si pudiste hacerlo con algun inner join

    BYE :D!!