SQLShack

En el artículo anterior, hemos creado dos tablas, y ahora estamos listos para usar el comando SQL INSERT INTO TABLE y rellenar estas tablas con datos. Para ello, prepararemos sentencias en Excel y, a continuación, las pegaremos en SQL Server y las ejecutaremos. También comprobaremos el contenido de ambas tablas antes y después de estos comandos utilizando la instrucción SELECT. Así que, empecemos.

instrucción INSERT INTO TABLE

No tiene sentido crear estructuras de base de datos y no tener ningún dato en la base de datos. La instrucción INSERT INTO TABLE es la que usaremos para resolver este problema. Es una de las cuatro sentencias importantes de SQL DML (Data Manipulation Language) SELECT FROM FROM, INSERT INTO TABLE, UPDATE SET SET y DELETE FROM The La sintaxis completa es bastante compleja ya que INSERT INTO también podría ser una sentencia muy compleja. Por favor, eche un vistazo a la sintaxis de INSERCIÓN DE T-SQL EN LA TABLA completa aquí.

En este artículo usaremos la sintaxis simplificada, pero también la más común:

INSERTAR EN nombre_dela tabla (column_list) VALORES (column_values);

En dicha instrucción INSERT INTO, deberá definir el nombre_dela tabla en la que está insertando datos, enumerar todas las columnas (tal vez use todas, pero tal vez solo algunas) y, a continuación, enumerar todos los valores. Observe que los valores de columna deben coincidir con la definición de tipos de columna (por ejemplo, no puede insertar un valor textual en la columna/atributo numérico).

En caso de que usted esté de insertar todos los valores en la tabla, usted no necesita a la lista de todas las columnas después de la table_name y usted podría utilizar incluso más simplificado sintaxis:

INSERT INTO nombre_tabla VALORES (column_values);

yo personalmente prefiero listado de todos los nombres de columna, debido a que este enfoque de trabajo, incluso si queremos añadir nuevas columnas a la tabla existente.

  • Nota: La instrucción INSERTAR EN LA TABLA podría escribirse de tal manera que insertemos varias filas con 1 instrucción o incluso combinadas con la instrucción SELECT.

La sintaxis simplificada para uno de estos casos en los que se combinan las instrucciones INSERT y SELECT se muestra a continuación:

INSERT INTO destination_table (column_list, colum)
SELECT column_list
DE source_table
condición WHERE;

INSERT INTO TABLE example

Antes de hacer nada, comprobemos lo que está almacenado en nuestras tablas. Este es el modelo que hemos creado en el artículo anterior. Puedes ver que tenemos una tabla donde almacenaremos datos relacionados con países y otra para datos relacionados con ciudades. También están relacionados entre sí, pero hablaremos de eso en el siguiente artículo:

INSERTAR EN EL modelo de datos de TABLA

INSERTAR EN el modelo de datos de TABLA

Para verificar el contenido de estas dos tablas, usaremos dos instrucciones de SELECCIÓN simples:

1
2

SELECCIONE * DEL país;
SELECCIONE * DE la ciudad;

Aunque SELECT no es el tema de este artículo, debe mencionarse que su sintaxis básica es:

SELECCIONAR 1 o más atributos DE la tabla;

La estrella (*) después de SELECT representa que queremos mostrar los valores de todos los atributos/columnas de esa tabla en el resultado de la consulta.

Como se esperaba, no hay nada en estas dos tablas, y SQL Server devuelve el resultado, como se muestra en la imagen de abajo. Las instrucciones devuelven los nombres de las columnas de las tablas que usamos en la consulta SELECT, pero no hay nada debajo de estos nombres de columna. Puede verlo como una hoja de Excel vacía con nombres de columna definidos (encabezados). Sabes qué tipo de datos deberían estar ahí, pero no hay nada:

Ahora, tendremos que cambiar eso.

En primer lugar, rellenaremos la tabla de países utilizando las siguientes instrucciones INSERT INTO TABLE:

1
2
3
4
5

INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘Deutschland’, ‘Alemania’, ‘DEU’);
INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘Srbija’, ‘Serbia’, ‘SRB’);
INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘Hrvatska’, ‘Croacia’, ‘la VFC’);
INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘Estados unidos de América’, ‘Estados unidos de América’, ‘USA’);
INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘Polska’, ‘Polonia’, ‘POL’);

Datos de cinco países se inserta correctamente. El resultado se muestra en la imagen de abajo. Dado que teníamos 5 instrucciones de INSERCIÓN EN LA TABLA, tenemos un mensaje de 1 «(1 fila afectada) «para cada uno de estos cinco comandos en la sección» Mensajes»:

 INSERTAR EN EL CUADRO-país

Tenga en cuenta que todos los valores (después de VALORES) se ordenaron de la misma manera en que enumeramos las columnas (después de INSERTAR EN EL país). Los tres valores son textos. La consulta funcionaría incluso si no las hemos ordenado de la manera correcta porque todas tienen el mismo tipo de datos (texto), pero los datos se almacenarían en las columnas incorrectas. En ese caso, tendríamos un error semántico.

Lo siguiente que tenemos que hacer es rellenar la tabla de la ciudad. Lo haremos usando las siguientes declaraciones:

1
2
3
4
5
6

INSERTAR EN la ciudad (city_name, lat, long, country_id) VALUES (‘Berlín’, 52.520008, 13.404954, 1);
INSERTAR EN la ciudad (city_name, lat, long, country_id) VALUES (‘Belgrado’, 44.787197, 20.457273, 2);
INSERTAR EN la ciudad (city_name, lat, long, country_id) VALUES (‘Zagreb’, 45.815399, 15.966568, 3);
INSERTAR EN la ciudad (city_name, lat, long, country_id) VALUES (‘Nueva York’, 40.73061, -73.935242, 4);
INSERTAR EN LOS VALORES DE la ciudad (city_name, lat, long, country_id) (‘Los Ángeles’, 34.052235, -118.243683, 4);
INSERTAR VALORES EN city (city_name, lat, long, country_id) (‘Varsovia’, 52.237049, 21.017532, 5);

Después de ejecutar estas declaraciones, este fue el resultado. Como era de esperar, se agregaron 6 filas. Y una vez más tenemos 1 mensaje para cada inserción en la sección Mensajes:

 Ciudad

En este caso, tendríamos un problema si no hemos enumerado los valores de la misma manera, enumeramos las columnas porque sus tipos de datos no son los mismos (están en orden: texto, número decimal, número decimal, entero). Este tipo de error se denomina error de sintaxis y el propio DBMS impediría que la consulta se ejecutara en absoluto.

SELECCIONAR-Comprobar lo que se insertó

Ahora comprobaremos una vez más lo que está almacenado en nuestras tablas. Usaremos las mismas dos sentencias SELECT que hemos usado anteriormente:

1
2

SELECT * FROM país;
SELECT * FROM city;

El resultado se muestra en la imagen de abajo. Tenga en cuenta que, después de ejecutar consultas, ahora tenemos secciones de Resultados y Mensajes en consultas:

Instrucciones SELECT

Podemos concluir que ambas tablas de nuestra base de datos contienen datos y ahora estamos listos para «jugar» con algo mucho más genial que esto.

INSERTAR EN LA TABLA mediante Excel

En muchos casos, deberá ejecutar varias instrucciones SQL basadas en el conjunto de datos que se le proporcione. Esto representa no solo la instrucción INSERT INTO TABLE, sino también las instrucciones UPDATE y DELETE. No tiene sentido escribir estas instrucciones manualmente, pero debería optar por un enfoque más inteligente: preparar fórmulas (o un script) que automatizarán esta parte. En tales situaciones, prefiero usar Excel y fórmulas.

Nota: Personalmente, en el contexto de las bases de datos, encuentro que Excel es muy útil cuando necesito crear varias declaraciones y al presentar resultados y/o crear paneles de control.

echemos un vistazo a estas fórmulas:

los países de Excel

La fórmula utilizada para insertar el primer país (Alemania) :

1
=»INSERT INTO pais (country_name, country_name_eng, country_code) VALUES (‘» & B2 & «‘, ‘» & C2 & «‘, ‘» & D2 & «‘);»

ciudades Excel

La fórmula que se utiliza para insertar la primera ciudad (Berlin) es:

1
=»INSERTAR EN la ciudad (city_name, lat, long, country_id) VALUES (‘» & B2 & «‘, » & C2 & «, » & D2 & «, » & E2 & «);»

Siéntase libre de utilizar estas fórmulas para automatizar tareas. Utilizaremos un enfoque similar más adelante cuando ejecutemos varias instrucciones UPDATE y DELETE (e incluso al crear instrucciones SELECT).

Conclusión

En este artículo, hemos cubierto una de las cuatro sentencias SQL más importantes: la instrucción INSERT INTO TABLE. Lo hemos utilizado para rellenar tablas creadas en el artículo anterior. Este era un requisito previo para pasar a cosas más inteligentes, como la teoría de bases de datos y, lo que es más importante, devolver resultados de nuestra base de datos.

En el próximo artículo, hablaremos sobre la clave principal: qué es y por qué es importante en las bases de datos.

Tabla de contenido

Aprender SQL: CREATE DATABASE & CREAR TABLA de Operaciones

Aprender SQL: INSERT INTO TABLA

Aprender SQL: Clave Primaria

Aprender SQL: Foreign Key

Aprender SQL: instrucción SELECT

Aprender SQL: INNER JOIN vs LEFT JOIN

Aprender SQL: SQL Scripts

Aprender SQL: Tipos de relaciones

Aprender SQL: Unirse a varias tablas

Aprender SQL: Funciones agregadas

Aprender SQL: Cómo escribir una consulta de selección compleja

Aprender SQL: La base de datos INFORMATION_SCHEMA

Aprender SQL: Tipos de datos SQL

Aprender SQL: Teoría de conjuntos

Aprender SQL: Funciones definidas por el usuario

Aprender SQL: Procedimientos almacenados definidos por el usuario

Aprender SQL: Vistas SQL

Aprender SQL: Disparadores SQL

Aprender SQL: Practicar consultas SQL

Aprender SQL: Consulta SQL ejemplos

Aprender SQL: Crear un informe de forma manual mediante consultas SQL

Aprender SQL: SQL Server funciones de fecha y hora

Aprender SQL: Create SQL del Servidor de informes utilizando funciones de fecha y hora

Aprender SQL: SQL Server Tablas dinámicas

Aprender SQL: SQL Server exportar a Excel

Aprender SQL: Introducción a SQL Server bucles

Aprender SQL: SQL Cursores de Servidor

Aprender SQL: SQL Mejores Prácticas para la Eliminación y Actualización de datos

Aprender SQL: Convenciones de Nomenclatura

Aprender SQL: Trabajos relacionados con SQL

Aprender SQL: Uniones no Equis en SQL Server

Aprender SQL: Inyección SQL

Aprender SQL: SQL dinámico

  • Autor
  • Publicaciones recientes
Emil Drkusic
Emil es un profesional de bases de datos con más de 10 años de experiencia en todo lo relacionado con las bases de datos. A lo largo de los años, trabajó en la industria de TI y finanzas y ahora trabaja como freelancer.
Sus compromisos pasados y presentes varían desde el diseño y la codificación de bases de datos hasta la enseñanza, la consultoría y la escritura de bases de datos. También para no olvidar, BI, algoritmos de creación, ajedrez, filatelia, 2 perros, 2 gatos, 1 esposa, 1 bebé…
Lo puedes encontrar en LinkedIn
Ver todas las publicaciones de Emil Drkusic

Emil Drkusic
Últimos mensajes de Emil Drkusic (ver todos)
  • Aprender SQL: SQL dinámico-3 de marzo de 2021
  • Aprender SQL: Inyección SQL-2 de noviembre de 2020
  • Aprender SQL: No Equi-Une en SQL Server – septiembre 29, 2020

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

More: