La declaración INSERT INTO de SQL se usa para insertar una nueva fila en una tabla. Hay dos formas de usar la declaración INSERT INTO para insertar filas:
- Solo valores: el primer método es especificar solo el valor de los datos que se insertarán sin los nombres de las columnas.
INSERTAR EN VALORES table_name (valor1, valor2, valor3,…);
table_name : nombre de la tabla.
value1, value2,.. : valor de la primera columna, segunda columna,… para el nuevo registro - Nombres de columna y valores ambos: En el segundo método especificaremos tanto las columnas que queremos llenar como sus valores correspondientes como se muestra a continuación:
INSERTAR EN nombre_tabla (columna1, columna2, columna3,…) VALORES (valor1, valor2, valor3,…);
table_name : nombre de la tabla.
columna1 : nombre de la primera columna, segunda columna…
valor1, valor2, valor3 : valor de la primera columna, segunda columna,… para el nuevo registro
Consultas:
Método 1 (insertar solo valores):
INSERTAR EN VALORES del estudiante (‘5′,’HARSH’,’WEST BENGAL’,’XXXXXXXXXX’,’19’);
Salida:
La tabla Student ahora se verá así:
ROLLO_NO | NOMBRE | DIRECCIÓN | TELÉFONO | Años |
1 | RAM | Delhi | XXXXXXXXXX | 18 |
2 | RAMESH | GURGAÓN | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
4 | SEGURO | Delhi | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
2 | RAMESH | GURGAÓN | XXXXXXXXXX | 18 |
5 | DURO | AL OESTE DE BENGALA | XXXXXXXXXX | 19 |
Método 2 (insertar valores solo en columnas especificadas):
INSERTAR EN Estudiante (ROLL_NO, NAME, Age) VALORES (‘5′,’PRATIK’,’19’);
Salida:
La tabla Student ahora se verá así:
ROLLO_NO | NOMBRE | DIRECCIÓN | TELÉFONO | Años |
1 | RAM | Delhi | XXXXXXXXXX | 18 |
2 | RAMESH | GURGAÓN | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
4 | SEGURO | Delhi | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
2 | RAMESH | GURGAÓN | XXXXXXXXXX | 18 |
5 | PRATIK | nulo | nulo | 19 |
Observe que las columnas para las que no se proporcionan los valores se rellenan con nulos. ¿Cuáles son los valores predeterminados para esas columnas?
Uso de SELECCIONAR en la declaración INSERT INTO
Podemos usar la declaración SELECT con la declaración INSERT INTO para copiar filas de una tabla e insertarlas en otra tabla. El uso de esta declaración es similar al de la declaración INSERT INTO. La diferencia es que la declaración SELECT se usa aquí para seleccionar datos de una tabla diferente. Las diferentes formas de usar la declaración INSERT INTO SELECT se muestran a continuación:
- Insertar todas las columnas de una tabla: Podemos copiar todos los datos de una tabla e insertarlos en una tabla diferente.
INSERTAR EN primera_tabla SELECCIONAR * DESDE segunda_tabla;
first_table : nombre de la primera tabla.
second_table : nombre de la segunda tabla.Hemos usado la instrucción SELECT para copiar los datos de una tabla y la instrucción INSERT INTO para insertarlos en una tabla diferente.
- Insertar columnas específicas de una tabla: podemos copiar solo aquellas columnas de una tabla que queremos insertar en una tabla diferente.
Sintaxis:
INSERTAR EN primera_tabla(nombres_de_columnas1) SELECCIONAR nombres_de_columnas2 DESDE segunda_tabla;
first_table : nombre de la primera tabla.
second_table : nombre de la segunda tabla.
nombres de las columnas1 : nombre de las columnas separadas por comas (,) para la tabla 1.
nombres de las columnas2 : nombre de las columnas separadas por comas (,) para la tabla 2.Hemos utilizado la declaración SELECT para copiar los datos de las columnas seleccionadas solo de la segunda tabla y la declaración INSERT INTO para insertar en la primera tabla.
- Copiar filas específicas de una tabla : podemos copiar filas específicas de una tabla para insertarlas en otra tabla usando la cláusula WHERE con la instrucción SELECT. Tenemos que proporcionar la condición adecuada en la cláusula WHERE para seleccionar filas específicas.
INSERTAR EN table1 SELECT * FROM table2 WHERE condición;
first_table : nombre de la primera tabla.
second_table : nombre de la segunda tabla.
condition: condición para seleccionar filas específicas.
Tabla 2: Estudiante Lateral
ROLLO_NO | NOMBRE | DIRECCIÓN | TELÉFONO | Años |
7 | SOUVIK | TONTO | XXXXXXXXXX | 18 |
8 | NIRAJ | NOIDA | XXXXXXXXXX | 19 |
9 | ALGO | ROHTAK | XXXXXXXXXX | 20 |
Consultas:
- Método 1 (insertar todas las filas y columnas):
INSERTAR EN Student SELECT * FROM LateralStudent;
Salida:
Esta consulta insertará todos los datos de la tabla LateralStudent en la tabla Student. La tabla Student ahora se verá como,ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años 1 RAM Delhi XXXXXXXXXX 18 2 RAMESH GURGAÓN XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SEGURO Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAÓN XXXXXXXXXX 18 7 SOUVIK TONTO XXXXXXXXXX 18 8 NIRAJ NOIDA XXXXXXXXXX 19 9 ALGO ROHTAK XXXXXXXXXX 20
- Método 2 (insertar columnas específicas):
INSERT INTO Student(ROLL_NO, NAME, Age) SELECCIONE ROLL_NO, NAME, Age FROM LateralStudent;
Salida:
esta consulta insertará los datos en las columnas ROLL_NO, NAME y Age de la tabla LateralStudent en la tabla Student y las columnas restantes en la tabla Student se llenarán con nulo , que es el valor predeterminado de las columnas restantes. La tabla Student ahora se verá como,ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años 1 RAM Delhi XXXXXXXXXX 18 2 RAMESH GURGAÓN XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SEGURO Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAÓN XXXXXXXXXX 18 7 SOUVIK nulo nulo 18 8 NIRAJ nulo nulo 19 9 ALGO nulo nulo 20 - Seleccione filas específicas para insertar :
INSERTAR EN Estudiante SELECCIONAR * DESDE LateralEstudiante DONDE Edad = 18;
Salida:
esta consulta seleccionará solo la primera fila de la tabla LateralStudent para insertarla en la tabla Student. La tabla Student ahora se verá como,ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO Años 1 RAM Delhi XXXXXXXXXX 18 2 RAMESH GURGAÓN XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SEGURO Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAÓN XXXXXXXXXX 18 7 SOUVIK TONTO XXXXXXXXXX 18
INSERT INTO table_name(Column1,Column2,Column3,.......) VALUES (Value1, Value2,Value3,.....), (Value1, Value2,Value3,.....), (Value1, Value2,Value3,.....), ............................. ; table_name: name of the table Column1: name of first column, second column … Value1, Value2, Value3 : value of first column, second column,… for each new row inserted You need To provide Multiple lists of values where each list is separated by ",". Every list of value corresponds to values to be inserted in each new row of the table. Values in the next list tells values to be inserted in the next Row of the table.
Ejemplo:
La siguiente instrucción SQL inserta varias filas en la tabla de estudiantes.
Input : INSERT INTO STUDENT(ID, NAME,AGE,GRADE,CITY) VALUES(1,"AMIT KUMAR",15,10,"DELHI"), (2,"GAURI RAO",18,12,"BANGALORE"), (3,"MANAV BHATT",17,11,"NEW DELHI"), (4,"RIYA KAPOOR",10,5,"UDAIPUR");
Salida: TABLA DE ESTUDIANTES
Esta consulta insertará todos los valores en cada fila sucesiva en la TABLA DE ESTUDIANTES. Por lo tanto, la tabla ESTUDIANTE se verá así:
IDENTIFICACIÓN | NOMBRE | AÑOS | CALIFICACIÓN | CIUDAD |
1 | AMIT KUMAR | 15 | 10 | DELHI |
2 | GAURI RAO | dieciséis | 12 | BANGALORE |
3 | MANAV BHATT | 17 | 11 | NUEVA DELHI |
4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
Este artículo es una contribución de Harsh Agarwal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA