Introducción a Insertar en MySQL

El objetivo principal de un sistema de base de datos es almacenar datos en tablas. Para definir la funcionalidad en la base de datos tenemos diferentes tipos de comandos SQL. En este tema, vamos a aprender sobre Insertar en MySQL.

Los comandos SQL se pueden clasificar en los siguientes:

  • DDL (lenguaje de definición de datos)
  • DML (lenguaje de manipulación de datos)
  • DQL (lenguaje de consulta de datos)
  • DCL (lenguaje de control de datos)
  • TCL (lenguaje de control de transacciones)

Aquí en este artículo, nos centraremos principalmente en DML. Como podemos ver el nombre Lenguaje de manipulación de datos, una vez que se crea la tabla / base de datos, para manipular algo, necesitamos comandos DML. Los méritos de usar estos comandos son si en caso de que ocurriera algún cambio incorrecto, podemos revertirlo / deshacerlo.

Los siguientes son los comandos en DML:

1. INSERTAR: Se utiliza para insertar nuevas filas en la tabla.

INSERT into employee
Values(101, 'abcd');

2. BORRAR: se utiliza para eliminar la fila individual o los registros completos de una tabla.

DELETE TABLE employee;

3. ACTUALIZACIÓN: se utiliza para actualizar registros existentes en una tabla.

UPDATE employee
SET col1 = new_col
WHERE condition;

Sintaxis del comando Insertar en MySQL

Podemos escribir la instrucción INSERT INTO de las siguientes dos formas.

Camino # 1

INSERT INTO table_name
VALUES (value1, value2, ….);

Camino # 2

INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);

  • INSERT INTO table_name es el comando que agrega una nueva fila a una tabla llamada `table_name` en la base de datos MySQL.
  • (column_1, column_2, …) son los nombres de columna en los que se agregará un nuevo registro.
  • VALUES (value_1, value_2, …) especifica los valores que se agregarán a la nueva fila.

Al agregar nuevos registros, debemos tener cuidado con los tipos de datos definidos al crear la estructura de la tabla.

  • Cadena: todos los valores de cadena deben estar entre comillas simples.
  • Numérico: los valores numéricos no deben incluirse entre comillas simples o dobles.
  • Fecha: esos tipos de datos deben estar entre comillas simples con el formato 'AAAA-MM-DD'.

Consideremos que hay una tabla de 'empleado' que consta de los siguientes atributos:

Emp_id Emp_name Teléfono Email Departamento Gerente Ciudad
1001Vinay9876543219RSESudhirBangalore
1002Raaj9764527848ESOStephenHyderabad
1003Sakti9567382784AutomotorVedBhubaneswar

Si estamos agregando valores para todas las columnas de una tabla, no necesitamos especificar los nombres de columna en la consulta, pero debemos asegurarnos de que nuestro nuevo registro debe seguir la secuencia de la columna como se define en la tabla.

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

Si no tenemos todos los valores de las columnas e insertaremos algunos de ellos, entonces tenemos que especificar los nombres de las columnas en la consulta.

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Implementación del comando Insertar en MySQL

Consideremos que tenemos las siguientes listas de nuevos registros que se necesitan para agregar a la tabla de la base de datos ESTUDIANTE.

Roll_noNombre de pilaApellidoEstándarTeléfonoPorcentajeCiudad
1SandeepKumar10987645672689, 33Chincheta
2Shyam9 976Bhubaneswar
3SaktiNaik646376577676
4 4Sid89864876986Calcuta
5 5VinayKumar1092

Insertaremos esas filas una por una en la base de datos.

  • Comencemos con Sandeep. Aquí 'Roll_no', 'Standard', 'Phone' y 'Percentage' son campos numéricos, por lo que los valores en esta columna se insertarán sin comillas.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

Nota: Como tenemos valores de todas las columnas de la tabla del alumno, no necesitamos especificar el nombre de la columna mientras usamos el comando INSERTAR. Pero debemos asegurarnos de que nuestro valor debe seguir el orden de las columnas en la tabla.

  • En el caso del registro Shyam, podemos ver que faltan muchos valores. Entonces, aquí debemos especificar los nombres de columna, en los que queremos insertar los valores.

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

Nota: En este registro, no tenemos los valores de cada columna. Es por eso que necesitamos especificar todos los nombres de columna en los que queremos insertar nuestros valores y en el orden de esos nombres de columna, también tenemos que mencionar los valores.

INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);

INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');

INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);

Cambiar el orden de las columnas y el valor no tendrá ningún efecto en la consulta INSERT, ya que el valor correcto no se puede asignar a la columna derecha. Por lo tanto, pueden surgir problemas como insertar un valor numérico en una cadena o viceversa.

En todas las consultas anteriores, faltan tantos campos como Apellido, Teléfono, Valores de ciudad. Entonces, en tales casos, MySQL insertará por defecto valores NULL en las columnas que hemos omitido en las consultas.

Insertar en una tabla desde otra tabla

Si hay 2 tablas similares y queremos insertar datos de la tabla_1 a la tabla_2 directamente para evitar el trabajo manual, también podemos usar un tipo diferente de consulta INSERT. En tal caso, tenemos que usar un comando SELECCIONAR con el comando INSERTAR. Básicamente, el comando SELECT se encuentra en DQL (Data Query Language), que se utiliza para recuperar / recuperar datos. El comando de selección también se puede usar con muchos tipos de cláusulas.

La sintaxis básica para insertar registros en una tabla desde otra es la siguiente:

INSERT INTO table_1 SELECT * FROM table_2;

Ejemplo

Veamos el ejemplo a continuación:

1. Tabla de pedidos

N º de pedidoDepartamento de pedidosNombre del clienteContact_noCantidadSitio
8465637MueblePeter86598767661000Delhi
9473636AdornosAlex9863769898800Mumbai

2. Tabla Order_archive

N º de pedidoDepartamento de pedidosNombre del clienteContact_noCantidadSitio

Aquí tenemos 2 tablas llamadas Order y Order_archive. Si vamos a mover todos los registros de la tabla Order a Order_archive, el siguiente código puede realizar la tarea:

INSERT INTO Order_archive SELECT * FROM Order;

Si queremos mover algunas columnas específicas de la tabla Order a Order_archive, entonces:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Conclusión

El comando Insertar es muy útil ya que se juega desde el momento de la creación de la tabla hasta cada vez que agregamos más registros a la tabla existente. Podemos resumir los siguientes puntos de este artículo:

  • El comando INSERT se usa para agregar nuevos datos a la tabla.
  • La fecha y el valor de la cadena deben estar entre comillas simples.
  • El valor numérico no debe estar entre comillas.
  • Al insertar registros en columnas específicas, el nombre y el valor de la columna deben asignarse en el mismo orden.
  • Este comando también se puede usar para insertar registros de una tabla a otra.

Artículos recomendados

Esta es una guía para Insertar en MySQL. Aquí discutimos la implementación del comando Insertar en MySQL junto con ejemplos y sintaxis apropiados. También puede consultar el siguiente artículo.

  1. ¿Qué es el esquema MySQL?
  2. Funciones de cadena de MySQL
  3. ¿Qué es MySQL?
  4. Cómo instalar MySQL
  5. Ejemplos para implementar INSERT en Oracle