Saltar al contenido
SQL con Python

Inserción de datos: Cómo insertar nuevos datos en una tabla.

Introducción

Inserción de Datos en SQL

La inserción de datos es una de las operaciones fundamentales en SQL y se utiliza para agregar nuevos registros a una tabla existente. El proceso de inserción se realiza normalmente mediante la sentencia SQL INSERT, la cual permite especificar los valores a insertar en las columnas de la tabla.

La sintaxis de la sentencia INSERT consta de tres partes: el nombre de la tabla, la lista de columnas y los valores correspondientes. Por ejemplo, para insertar un nuevo registro en una tabla de empleados con columnas para el nombre, la edad y el salario, se puede utilizar esta sentencia SQL:


INSERT INTO empleados (nombre, edad, salario) VALUES ('Juan Perez', 30, 5000);
    

Es importante tener en cuenta que los valores a insertar deben coincidir en tipo y orden con las columnas especificadas. Además, si la tabla tiene columnas con valores por defecto o restricciones de integridad, se deben considerar al hacer la inserción.

En resumen, la inserción de datos es una tarea sencilla pero crucial en el proceso de almacenamiento y manipulación de información en una base de datos.

Resumen

La inserción de datos es una operación fundamental de SQL

La inserción de datos es una operación fundamental de SQL y se utiliza para agregar nuevos registros a una tabla existente. Para insertar datos en una tabla, utilizamos la sentencia INSERT INTO seguida del nombre de la tabla, y luego especificamos los valores que deseamos insertar. La sintaxis básica de la sentencia INSERT INTO es la siguiente:

        
INSERT INTO nombreTabla (columna1, columna2, columna3, ...)
VALUES (valor1, valor2, valor3, ...);
        
    

Aquí, nombreTabla es el nombre de la tabla en la que se insertarán los datos, y columna1, columna2, columna3, son los nombres de las columnas de la tabla en la que se insertarán los datos. valor1, valor2, valor3, son los valores que se insertarán en cada columna.

Por ejemplo, si tenemos una tabla llamada clientes con columnas id, nombre, telefono y email, podemos insertar un nuevo registro utilizando la sentencia INSERT INTO de la siguiente manera:

        
INSERT INTO clientes (nombre, telefono, email)
VALUES ('Juan', '555-1234', 'juan@gmail.com');
        
    

Esta sentencia insertará un nuevo registro en la tabla clientes con el nombre Juan, el teléfono 555-1234 y el email juan@gmail.com.

Es importante tener en cuenta que, si no especificamos valores para todas las columnas de la tabla, debemos especificar explícitamente cuáles columnas se están insertando los datos. Por ejemplo, si queremos insertar un registro solo con el id y el nombre, deberíamos hacer lo siguiente:

        
INSERT INTO clientes (id, nombre)
VALUES (1, 'Ana');
        
    

Por último, también es importante mencionar que podemos insertar múltiples registros a la vez. Para ello debemos separar cada conjunto de valores con una coma, de la siguiente manera:

        
INSERT INTO clientes (nombre, telefono, email)
VALUES ('Juan', '555-1234', 'juan@gmail.com'),
       ('Sofia', '555-5678', 'sofia@gmail.com'),
       ('Pedro', '555-4321', 'pedro@gmail.com');
        
    

Con esto, insertaremos tres registros distintos en la tabla clientes.

Aplicación teórica

Supongamos que tenemos una tabla llamada "productos" con las siguientes columnas: "id" (clave primaria autoincremental), "nombre" (cadena de caracteres), "precio" (decimal) y "cantidad" (entero). Si queremos insertar un nuevo producto en la tabla, podemos hacerlo utilizando el comando INSERT INTO de SQL combinado con la función execute() de Python. Por ejemplo:

        
import sqlite3
# Conectamos con la base de datos
conexion = sqlite3.connect("ejemplo.db")
# Creamos un cursor para trabajar con la base de datos
cursor = conexion.cursor()
# Datos del nuevo producto a insertar
nombre = "Libreta"
precio = 3.99
cantidad = 150
# Comando SQL de inserción
consulta = "INSERT INTO productos(nombre, precio, cantidad) VALUES (?, ?, ?)"
valores = (nombre, precio, cantidad)
# Ejecutamos la consulta y confirmamos los cambios
cursor.execute(consulta, valores)
conexion.commit()
# Cerramos la conexión con la base de datos
conexion.close()
        
    

En este ejemplo, estamos creando una conexión con una base de datos SQLite y un cursor para interactuar con ella. Luego, asignamos los valores del nuevo producto a variables y creamos una consulta SQL de inserción utilizando placeholders (?) para evitar riesgos de inyección de SQL. Finalmente, ejecutamos la consulta mediante el cursor y confirmamos los cambios en la base de datos con el método commit(). ¡Voilà! Acabamos de insertar un nuevo producto en nuestra tabla.

Aplicación práctica

Un ejemplo en Python para insertar nuevos datos en una tabla utilizando la librería sqlite3:

        
import sqlite3

# Conexión con la base de datos
conexion = sqlite3.connect('ejemplo.db')

# Creacion de un cursor
cursor = conexion.cursor()

# Inserción de nuevos datos en una tabla
cursor.execute("INSERT INTO ejemplo_tabla (nombre, edad) VALUES (?, ?)", ("Juan", 25))

# Aceptación de los cambios
conexion.commit()

# Cierre de la conexión
conexion.close()
        
    

En este ejemplo, primero se establece la conexión con la base de datos utilizando la función connect y a continuación se crea un cursor con el que poder ejecutar comandos SQL. Luego, se utiliza el método execute para insertar nuevos datos en la tabla ejemplo_tabla, especificando los valores a insertar a través de una tupla como segundo argumento. En este caso, se está insertando un registro con el nombre "Juan" y la edad "25". Después de insertar los datos, se utiliza la función commit para confirmar los cambios y se cierra la conexión con la base de datos utilizando el método close.