Contactos

Transact-SQL - Insertar datos. Inserte de consulta SQL en - Llene las solicitudes de inserto de la base de datos de información de SQL

En las secciones anteriores, consideramos trabajar en la obtención de datos con tablas previamente creadas. Ahora es el momento de distinguir cómo podemos crear / eliminar tablas, agregar nuevas entradas y eliminar viejos. Para estos fines en Sql Hay tales operadores como: Crear. - crea una mesa, Alterar. - Cambia la estructura de la tabla, Soltar. - elimina una mesa o campo, Insertar. - Agrega datos a la tabla. Comencemos familiarizamos con este grupo de operadores del operador. Insertar..

1. Añadir líneas enteras.

Como se puede ver desde el nombre, el operador. Insertar. Se utiliza para insertar (agregar) filas en la tabla de la base de datos. Agregar se puede hacer de varias maneras:

  • - Añadir una cadena completa
  • - Añadir parte de la línea.
  • - Añadir resultados de consulta.

Entonces, para agregar una nueva cadena a la tabla, necesitamos especificar el nombre de la tabla, enumere los nombres de las columnas y especifique el valor de cada columna usando el diseño INSERTAR EN Title_Table (Field1, Field2 ...) Valores. (valor1, valor2 ...). Considere en el ejemplo.

Insertar en vendedores (ID, dirección, ciudad, vendedor, nombre, país) valores ("6", "1st Street", "Los Angeles", "Harry Monroe", "EE. UU.")

También puede cambiar el orden de especificar los nombres de las columnas, pero al mismo tiempo debe cambiar el orden de los valores en el parámetro Valores..

2. Añadir parte de líneas.

En el ejemplo anterior, al usar el operador Insertar. Obviamente notamos los nombres de las columnas de la tabla. Usando esta sintaxis, podemos saltar algunas columnas. Esto significa que usted ingresa un valor para algunas columnas, pero no las ofrecen para otros. Por ejemplo:

Insertar en valores de vendedores (ID, CIUDAD, SERVEED_NAME) ("6", "Los Ángeles", "Harry Monroe")

En este ejemplo, no indicamos el valor para dos columnas. Habla a y País.. Puede excluir algunas columnas del operador. INSERTAR ENSi nos permite determinar la tabla. En este caso, se debe observar una de las condiciones: esta columna se define como permisible NULO (La ausencia de cualquier valor) o en la tabla predeterminada predeterminada predeterminada. Esto significa que si no se especifica ningún significado, se utilizará el valor predeterminado. Si salta una columna de una tabla que no permite la apariencia en sus líneas de valores. NULO Y no importa definido para su uso de forma predeterminada, los DBMS darán un mensaje de error, y esta línea no se agregará.

3. Agregar datos seleccionados

En los ejemplos anteriores, insertamos datos en las tablas, prescrito manualmente en la consulta. Sin embargo, el operador INSERTAR EN Le permite automatizar este proceso si queremos insertar datos de otra tabla. Para hacer esto, en SQL hay un suavizante como Insertar en ... Seleccione .... Este diseño le permite seleccionar simultáneamente datos de una tabla e insertarlos a otra. Supongamos que tenemos otra mesa. Sellers_eu. con una lista de vendedores de nuestros productos en Europa y necesitamos agregarlos a una mesa común Vendedores. La estructura de estas tablas es la misma (el mismo número de columnas y los mismos nombres), sin embargo, otros datos. Para hacer esto, podemos prescribir la siguiente solicitud:

Insertar en vendedores (ID, dirección, ciudad, vendedor_name, país) SeleccioneIdentificación, dirección, ciudad, vendedor_name, país de Sellers_eu

Necesitas prestar atención a las teclas internas no repetidas (campo Identificación) De lo contrario se producirá un error. Operador SELECCIONE También puede incluir sugerencias. Dónde. Para filtrar los datos. También se debe tener en cuenta que los DBMS no presta atención a los nombres de las columnas que están contenidas en el operador. SELECCIONEPara ello, solo el orden de su ubicación es importante. Por lo tanto, los datos en la primera columna indicada, que se eligió debido a SELECCIONEEn cualquier caso se llenarán en la primera columna de la tabla. Vendedoresindicado después del operador INSERTAR EN, independientemente del nombre del campo.

4. Copiar datos de una tabla a otra

A menudo, cuando se trabaja con bases de datos, es necesario crear copias de cualquier tabla para reservar o modificaciones. Para hacer una copia completa de la tabla en SQL, proporcionó un operador separado Seleccionar en. Por ejemplo, necesitamos crear una copia de la tabla. Vendedores, Necesitaré registrar la solicitud de la siguiente manera:

Seleccione * en vendedores_new de vendedores

En contraste con el diseño anterior. Insertar en ... Seleccione ...Cuando se agregan los datos a la tabla existente, el diseño copia los datos a la nueva tabla. También puede decir que el primer diseño importa los datos, y el segundo se exporta. Al usar la construcción Seleccione ... en ... desde ... Siguiente debe ser considerado:

  • - Puedes usar cualquier sugerencia en el operador. SELECCIONE, tales como el Agrupar por. y Teniendo
  • - Para agregar datos de varias tablas, puede usar la Unión
  • - Los datos son posibles agregar solo una tabla, independientemente de cuántas tablas fueron tomadas.

Esta instrucción agrega uno o más registros a la tabla (ejecuta una solicitud de agregar).

Sintaxis

Solicitud de agregar entradas múltiples:

INSERTAR EN end_object [(campo1[, campo2.[, ...]])]
SELECCIONE [ una fuente.]campo1[, campo2.[, ...]
De. expresion_table

Solicitud de agregar una entrada:

INSERTAR EN end_object [(campo1[, campo2.[, ...]])]
Valores ( campo1[, campo2.[, ...])

Insertar en la instrucción consta de los siguientes elementos:

Parte

Descripción

end_object

El nombre de la tabla o solicitud donde se agregan registros.

campo1, campo2.

Despues de argumento end_object - Nombres de campo en los que se agrega los datos; Despues de argumento una fuente - Los nombres de los campos de los cuales se recuperan los datos.

external_Base_Data

El camino a la base de datos externa. Para una descripción de la forma, vea el artículo sobre la propuesta en.

una fuente

El nombre de la tabla o solicitud, desde donde se copian los registros.

expresion_table

Uno o más nombres de tablas desde las que desea recibir registros. Este argumento puede ser el nombre de una tabla separada, una expresión resultante, compilada utilizando las operaciones de unión interna, Únase a la izquierda o de la unión correcta, o una solicitud guardada.

significado1, significado2

Los valores que se agregarán a ciertos campos del nuevo registro. Cada valor se inserta en el campo correspondiente a su posición en la lista: significado1 Añadido B. campo1 nuevo record significado2 - en campo2. Etc. Es necesario separar los valores de la coma y entrar en campos de texto en las cotizaciones ("").

Comentarios

Usando el inserto en la instrucción, puede agregar un registro a la tabla usando la sintaxis anterior. En este caso, se especifican los nombres y valores para cada campo de grabación. Debe especificar todos los campos de grabación que se asignan valores y los valores correspondientes. Si no especifica el valor del campo, se le asignará el valor predeterminado o nulo. Los registros se agregan al final de la tabla.

Los insertos en las instrucciones también se pueden usar para agregar un conjunto de registros de otra tabla o solicitud usando la selección ... de la propuesta, como se muestra arriba (consulte la sintaxis de la consulta que agrega entradas múltiples). En este caso, la propuesta selectica establece los campos para agregar a los especificados end_object.

Una fuente o end_object Puede ser una tabla o solicitud. Si se especifica la consulta, el kernel de Microsoft Access DBMS agrega registros a todas las tablas que devuelve.

No se requiere el uso de inserción en instrucciones. Si se especifica, debe preceder a las instrucciones de selección.

Si la tabla de destino contiene la clave principal, asegúrese de que los valores agregados a uno o más campos de la clave principal sean únicos y diferentes de NULO; De lo contrario, el registro no se agregará.

Si los registros se agregan a la tabla con el campo "Contador" y desea cambiar su número, no encienda el campo "Contador" en la consulta. Encienda el campo "Contador" en la consulta si desea guardar los valores de origen del campo.

Agregue entradas a la tabla Otra base de datos puede estar usando la oferta.

Para crear una tabla, use la instrucción Seleccionar ... en la instrucción para recibir una consulta para crear una tabla.

Antes de agregar una solicitud para agregar, use la solicitud de selección con las mismas condiciones de selección para determinar qué registros se agregarán.

La solicitud de adición copia las entradas de una o más tablas a otra tabla. Al mismo tiempo, las mesas que contienen los registros agregados se mantienen sin cambios.

En lugar de agregar registros de otra tabla, puede establecer el valor de cada campo en una nueva grabación por separado utilizando la oferta de valores. Si se omite la lista de campos, en la propuesta de valores, debe habilitar los valores correspondientes de cada campo de tabla; De lo contrario, la operación de inserción no se ejecutará. Use el inserto en instrucciones junto con la oferta de valores para cada registro adicional que desea crear.

Última actualización: 13/07/2017

Para agregar datos, se usa el comando INSERT, que tiene la siguiente sintaxis formal:

Insertar Name_Table [(List_Stolbts)] Valores (Value1, Value2, ... Valuen)

El inserto en la expresión es lo primero, luego entre paréntesis, puede especificar una lista de columnas a través de la coma, en la que desea agregar datos, y al final después de que los valores de las palabras estén listando el valor agregado para las columnas.

Por ejemplo, deje que la siguiente base de datos se cree anteriormente:

Crear productos de base de datosDB; Ir a usar productosdb; Crea productos de tabla (ID Int intentity Tecla principal, Nombre del producto NVARCHAR (30) NO NULL, FABRICANTE NVARCHAR (20) NO NULLO, PRODUCTO INT Predeterminado 0, Dinero de precio no nulo)

Agregue una línea a ella usando el comando INSERT:

Inserte los valores de los productos ("iPhone 7", "Apple", 5, 52000)

Después de una ejecución exitosa en SQL Server Management Studio, un mensaje "1 fila (s) afectada" debe aparecer en el campo de mensaje:

Debe tenerse en cuenta que los valores para columnas entre paréntesis después de que se transmitan los valores de palabras clave en orden de su anuncio. Por ejemplo, en la expresión de la tabla Crear arriba, puede ver que la primera columna es ID. Pero como se especifica el atributo de identidad para ello, el valor de esta columna se genera automáticamente y no se puede indicar. La segunda columna representa el nombre del producto, por lo que el primer valor es la línea "iPhone 7" se transmitirá a esta columna en particular. El segundo valor: la cadena "Apple" se transferirá a la columna del tercer fabricante y así sucesivamente. Es decir, los valores se transfieren a las columnas de la siguiente manera:

    Nombre de producto: "iPhone 7"

    Fabricante: "Apple"

Además, al ingresar valores, puede especificar las columnas inmediatas a las que se agregarán los valores:

Insertar en los valores de productos (nombre de producto, precio, fabricante) ("iPhone 6S", 41000, "Apple")

Aquí el valor se indica solo para tres columnas. Y ahora los valores se transmiten en el orden de las columnas:

    Nombre de producto: "iPhone 6s"

    Fabricante: "Apple"

Para columnas no especificadas (en este caso, ProductCount) agregará el valor predeterminado si se establece el atributo predeterminado, o el valor nulo. En este caso, las columnas no especificadas deben permitir nula o tener un atributo predeterminado.

También podemos agregar varias líneas a la vez:

Inserte en valores de productos ("iPhone 6", "Apple", 3, 36000), ("Galaxy S8", "Samsung", 2, 46000), ("Galaxy S8 Plus", "Samsung", 1, 56000)

En este caso, se agregarán tres líneas a la tabla.

Además, al agregar, podemos especificar que el valor predeterminado para la columna está utilizando la palabra clave predeterminada o el valor nulo:

Insertar en los productos (nombre de producto, fabricante, copartido, precio) Valores ("MI6", "Xiaomi", predeterminado, 28000)

En este caso, el valor predeterminado se utilizará para la columna de producción (si está instalado si no lo es, entonces nulo).

Si todas las columnas tienen un atributo predeterminado que determina el valor predeterminado, o permite un valor nulo, puede insertar valores predeterminados para todas las columnas:

Insertar en los valores predeterminados de productos

Pero si toma la tabla de productos, entonces el comando terminará con un error, ya que varios campos no tienen el atributo predeterminado y no permiten null.

El inserto SQL en e insertar instrucciones de selección se usan para insertar nuevas filas en la tabla. Hay dos formas de usar instrucciones:

  1. Sólo valores: el primer método proporciona una indicación de solo los valores de datos que necesita para insertar sin los nombres de las columnas.

Sintaxis:

Insertar en valores_table_name (valor1, valor2, valor3, ...); Name_table: Nombre de la tabla. Valor1, Value2, ..: Los valores de la primera columna, la segunda columna, ... para la nueva entrada

  1. Nombres y valores de columnas: Con el segundo método, se indican los nombres de las columnas y los valores de la fila para la inserción:

Sintaxis:

Insertar en los valores Name_table (column1, column2, column3, ..) (valor1, valor2, valor3, ...); Name_table: Nombre de la tabla. Column1: El nombre de la primera columna, la segunda columna ... Value1, Value2, ..: Los valores de la primera columna, la segunda columna, ... para la nueva entrada

Peticiones:

Método 1 ( insertar solo valores):

Insertar en los valores de los estudiantes ("5", "Harsh", "West Bengal", "8759770477", "19");

Resultado:

Después de usar Insertar en SELECT TABLE Student ahora se verá así:

Roll_no. Nombre. Habla a Teléfono Edad.
1 RAM Delhi. 9455123451 18
2 Ramesh Gurgaon. 9562431543 18
3 Sujito Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujito Rohtak 9156253131 20
2 Ramesh Gurgaon. 9562431543 18
5 Duro. al oeste de Bengala 8759770477 19

Método 2 ( insertar valores solo en las columnas especificadas.):

Insertar en los valores del estudiante (roll_no, nombre, edad) ("5", "Pratik", "19");

Resultado:

La tabla de estudiantes ahora se verá así:

Roll_no. Nombre. Habla a Teléfono Edad.
1 RAM Delhi. 9455123451 18
2 Ramesh Gurgaon. 9562431543 18
3 Sujito Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujito Rohtak 9156253131 20
2 Ramesh Gurgaon. 9562431543 18
5 Pratik. nULO nULO 19

Tenga en cuenta que para columnas, los valores para los que no se especifican, se establece NULL.

Uso de selección en inserción en instrucciones

Puede usar la instrucciones de inserción MySQL Insertar para copiar las filas de una tabla e insertarlas a otra.

El uso de este operador es similar a usar Insertar en. La diferencia es que la instrucción SELECT se aplica a los datos de muestreo de otra tabla. A continuación se muestran varias formas de usar Insertar en Seleccionar:

  • Insertar todas las columnas de la tabla: Puede copiar todos los datos de la tabla y pegarlos en otra tabla.

Sintaxis:

Insertar en FIRST_TABLITSA SELECT * DESDIBLE_TABLIK; El first_tablik: el nombre de la primera tabla. Second_table: el nombre de la segunda tabla.

Utilizamos la instrucción SELECT para copiar datos de una tabla e insertarlas en instrucciones para insertarlas a otra.

  • Inserción de columnas de tabla seleccionadas. Puede copiar solo las columnas de la tabla a insertar en otra tabla.

Sintaxis:

Insertar en first_tablik (names_stolbtsy1) Seleccione Names_Stolbam2 de la segunda_tablik; El first_tablik: el nombre de la primera tabla. Second_table: el nombre de la segunda tabla. Nombres_stolbtsy1: nombres de columna separados por una coma (,) para una tabla 1. nombres_stolbami2: los nombres de las columnas separadas por la coma (,) para la Tabla 2.

Utilizamos la instrucción SELECT para copiar los datos solo de las columnas seleccionadas de la segunda tabla y el inserto MYSQL a instrucciones de selección para insertarlas en la primera tabla.

  • Copia ciertas líneas de la tabla.. Puede copiar ciertas líneas de la tabla para la inserción posterior a otra tabla utilizando la condición donde con la instrucción SELECT. En este caso, debe utilizar la condición apropiada en donde.

Sintaxis:

Tabla 2: LateralStudente

Roll_no. Nombre. Habla a Teléfono Edad.
7 Souvik. Tonto 9876543210 18
8 Niraj. Noida. 9786543210 19
9 Algo Rohtak 9687543210 20

Peticiones:

Método 1 ( insertar todas las filas y columnas.):

Insertar en la selección de estudiantes * de lateralstudent;

Resultado:

Esta consulta insertará todos los datos de la tabla LateralStudent en la tabla de estudiantes. Después de aplicar SQL Insertar en SELECT, la tabla de estudiantes se verá así:

Roll_no. Nombre. Habla a Teléfono Edad.
1 RAM Delhi. 9455123451 18
2 Ramesh Gurgaon. 9562431543 18
3 Sujito Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujito Rohtak 9156253131 20
2 Ramesh Gurgaon. 9562431543 18
7 Souvik. Tonto 9876543210 18
8 Niraj. Noida. 9786543210 19
9 Algo Rohtak 9687543210 20

Método 2 ( inserción de columnas individuales):

Insertar en el estudiante (Roll_No, Name, EDE) Seleccione Roll_No, Nombre, Edad de LateralStudent;

Resultado:

Esta consulta insertará datos de las columnas, el nombre y la tabla de edad en la tabla lateral en la tabla de estudiantes. Para las columnas restantes, la tabla de estudiantes se establecerá en NULL. Después de aplicar la selección de inserción SQL, la tabla se verá así:

Roll_no. Nombre. Habla a Teléfono Edad.
1 RAM Delhi. 9455123451 18
2 Ramesh Gurgaon. 9562431543 18
3 Sujito Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujito Rohtak 9156253131 20
2 Ramesh Gurgaon. 9562431543 18
7 Souvik. NULO nULO 18
8 Niraj. NULO nULO 19
9 Algo NULO nULO 20
  • Seleccione ciertas líneas para insertar:

Resultado:

Esta consulta solo seleccionará la primera cadena de la tabla LateralStudent para insertar en la tabla de estudiantes. Después de usar Insertar Seleccionar, la tabla se verá de la siguiente manera.

Con SQL, puede copiar información de una tabla a otra.

Insertar en SELECT, la aplicación copia los datos de una tabla e insértela a la tabla existente.

SQL INSERT en SELECT DIRECTUY,

Insertar en Seleccionar, el operador selecciona datos de una tabla e inserta a una tabla existente. Cualquier línea existente en la tabla de destino no cambie.

SQL Insertar en SELECT, SYNACION

Podemos copiar todas las columnas de una tabla a otra tabla existente:

INSERTAR EN tabla 2.
SELECCIONAR DE. tabla 1;

O podemos copiar solo aquellas columnas que queremos a otra, tabla existente:

INSERTAR EN tabla 2.
(column_name (s))
SELECCIONE column_name (s)
De. tabla 1;

Versión de demostración de la base de datos.

En esta lección, utilizaremos la conocida base de datos de Borean.

A continuación se muestra una selección de tablas de "clientes":

ID personalizado Nombre del cliente La persona de contacto Habla a ciudad Código postal País
1 Alfreds futterkiste. Maria Anders. Obere str. 57. Berlina. 12209 Alemania
2 Ana Trujillo emparedados y Helados Ana Trujillo. AVDA. De la constitución 2222 México DF. 05021 México.
3 Antonio Moreno Taqueria Antonio Moreno. Mataderos 2312. México DF. 05023 México.

Y eligiendo de las tablas de "proveedores":

SQL Insertar en SELECT, EJEMPLOS

Copiando solo algunas columnas de "Proveedores" en "Clientes":

Copiando solo proveedores alemanes en "Clientes".



¿Te gustó el artículo? Compártelo