La instrucció INSERT INTO en SQL s'utilitza per afegir nous registres a una taula d'una base de dades. És una ordre fonamental per a la inserció de dades i s'utilitza per inserir dades noves a les taules.
Sintaxi
Hi ha dues sintaxis de sentències INSERT INTO segons els requisits. Les dues sintaxis són:
1. Només Valors
El primer mètode és especificar només el valor de les dades que s'han d'inserir sense els noms de columna.
INSERT INTO nom_taula
VALORS (valor1, valor2, valor);
Aquí,
- nom_taula: nom de la taula.
- valor1, valor2: valor de la primera columna, segona columna,... per al nou registre
2. Noms de columnes i valors
En el segon mètode especificarem tant les columnes que volem omplir com els seus valors corresponents tal com es mostra a continuació:
INSERTAR A nom_taula (columna1, columna2, columna3)
VALORS (valor1, valor2, valor);
Aquí,
- nom_taula: nom de la taula.
- columna 1, columna 2...: nom de la primera columna, segona columna.
- valor1, valor2, valor...: valor de la primera columna, segona columna,... per al nou registre
SQL INSERT INTO Exemples
Vegem alguns exemples de la instrucció INSERT INTO en SQL per entendre-la millor.
Suposem que hi ha una base de dades d'estudiants i volem afegir valors.
connectivitat java
| ROLL_NO | NOM | ADREÇA | TELÈFON | EDAT |
|---|---|---|---|---|
| 1 | Ram | Delhi | xxxxxxxxxxxx | 18 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | 20 |
| 4 | SURESH | ROHTAK | xxxxxxxxxxxx | 18 |
| 3 | SUJIT | ROHTAK | xxxxxxxxxxxx | 20 |
| 2 | RAMESH | GURGAON | xxxxxxxxxxxx | 18 |
Inserir només valors nous amb l'exemple INSERT INTO
Si volem inserir només valors, fem servir la següent consulta:
Consulta:
INSERT INTO Student VALUES ('5','HARSH','WEST BENGAL', 'XXXXXXXXXX','19');> Sortida:
La taula Estudiant ara tindrà aquest aspecte:
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | DURS | BENGALA OCCIDENTAL | XXXXXXXXX | 19 |
Insereix valors a les columnes especificades mitjançant l'exemple INSERT INTO
Si volem inserir valors a les columnes especificades, fem servir la següent consulta:
format de cadena java
Consulta:
INSERT INTO Student (ROLL_NO, NAME, Age) VALUES ('5','PRATIK','19');> Sortida:
La taula Estudiant ara tindrà aquest aspecte:
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 5 | PRÀCTICA | nul | nul | 19 |
Tingueu en compte que les columnes per a les quals no es proporcionen els valors s'omplen amb null. Quins són els valors predeterminats per a aquestes columnes?
Inseriu diverses files en una taula mitjançant una instrucció SQL única
Podeu utilitzar la tècnica donada per inserir diverses files en una taula en una sola consulta. Això estalvia temps per escriure consultes i redueix l'error de marge.
Sintaxi:
INSERT INTO nom_taula(Columna1,Columna2,Columna3,…….)
VALORS (Valor1, Valor2, Valor3,…..),
(Valor1, Valor2, Valor3,…..),
(Valor1, Valor2, Valor3,…..),
……………………….. ;
On,
- nom_taula: nom de la taula.
Columna 1: nom de la primera columna, segona columna. - Valors: Valor1, Valor2, Valor3: el valor de la primera columna, segona columna.
- Per a cada fila nova inserida, heu de proporcionar diverses llistes de valors on cada llista estigui separada per ,. Cada llista de valors correspon als valors que s'han d'inserir a cada nova fila de la taula. Els valors de la llista següent indiquen els valors que s'han d'inserir a la fila següent de la taula.
Insereix diverses files en una taula mitjançant l'exemple d'instrucció SQL única:
La següent instrucció SQL insereix diverses files a la taula d'estudiants.
Consulta:
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');>
Sortida:
Així, la taula de l'ALUMNE es veurà així:
| ID | NOM | EDAT | GRAU | CIUTAT |
|---|---|---|---|---|
| 1 | AMIT KUMAR | 15 | 10 | DELHI |
| 2 | GAURI RAO | 18 | 12 | BANGALORE |
| 3 | MANAV BHATT | 17 | 11 | NOVA DELHI |
| 4 | RIYA KAPOOR | 10 | 5 | UDAIPUR |
S QL INSERT INTO SELECT
El SQL INSERT INTO SELECT La instrucció s'utilitza per copiar dades d'una taula i inserir-les en una altra taula. L'ús d'aquesta instrucció és similar al de la instrucció INSERT INTO. La diferència és que el Declaració SELECT s'utilitza aquí per seleccionar dades d'una taula diferent. Les diferents maneres d'utilitzar la instrucció INSERT INTO SELECT es mostren a continuació:
INSERTAR A SELECCIONAR Sintaxi
Hi ha dues sintaxis per utilitzar la instrucció INSERT INTO SELECT, depenent del seu ús.
Copieu totes les columnes i inseriu-les
La sintaxi per utilitzar la consulta INSERT INTO SELECT per inserir totes les dades d'una taula a una altra taula:
codis de color java
INSERT INTO primera_taula SELECT * FROM segona_taula;
Aquí,
- primera_taula: nom de la primera taula.
- segona_taula: nom de la segona taula.
Hem utilitzat la instrucció SELECT per copiar les dades d'una taula i la instrucció INSERT INTO per inserir des d'una taula diferent.
Copieu columnes específiques i inseriu-les
La sintaxi per utilitzar la consulta INSERT INTO SELECT per inserir dades específiques d'una taula a una altra taula:
INSERT INTO primera_taula(noms_de_columnes1)
SELECT names_of_columns2 FROM segona_taula;
Aquí,
- primera_taula : nom de la primera taula. segona_taula: nom de la segona taula.
- noms de columnes 1: nom de les columnes separades per comes (,) per a la taula 1.
- noms de columnes 2 : nom de les columnes separades per comes (,) per a la taula 2.
Hem utilitzat la instrucció SELECT per copiar les dades de les columnes seleccionades només de la segona taula i la instrucció INSERT INTO per inserir a la primera taula.
C opy Files específiques i Insereix
Podem copiar files específiques d'una taula per inserir-les en una altra taula utilitzant la clàusula WHERE amb la instrucció SELECT. Hem de proporcionar condicions adequades a la clàusula WHERE per seleccionar files específiques.
emojis d'iphone a Android
La sintaxi per utilitzar la consulta INSERT INTO SELECT per inserir files específiques de la taula
INSERT INTO table1 SELECT * FROM taula2 ON condició;
Aquí,
- primera_taula : nom de la primera taula.
- segona_taula : nom de la segona taula.
- condició : condició per seleccionar files específiques.
SQL INSERT INTO SELECT Exemples
Vegem alguns exemples de la sentència INSERT INTO SELECT per entendre-la millor.
Bubble sort python
Suposem que hi ha una base de dades LateralStudent.
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 7 | SOUVIK | HYDERABAD | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | SOMESH | ROHTAK | XXXXXXXXX | 20 |
Inserint totes les files i columnes amb l'exemple INSERT INTO SELECT
Si volem inserir només valors, fem servir la següent consulta:
Consulta:
INSERT INTO Student SELECT * FROM LateralStudent;>
Sortida:
Aquesta consulta inserirà totes les dades de la taula LateralStudent a la taula Student. La taula Student tindrà ara aquest aspecte,
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | MUMBUM | XXXXXXXXX | 18 |
| 8 | NIRAJ | NOIDA | XXXXXXXXX | 19 |
| 9 | SOMESH | ROHTAK | XXXXXXXXX | 20 |
Inserció de columnes específiques mitjançant l'exemple INSERT INTO SELECT
Si volem inserir valors a les columnes especificades, fem servir la consulta següent:
Consulta:
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;>
Sortida:
Aquesta consulta inserirà les dades a les columnes ROLL_NO, NOM i Edat de la taula LateralStudent a la taula Student i les columnes restants a la taula Student s'ompliran per nul que és el valor per defecte de les columnes restants. La taula Student tindrà ara aquest aspecte,
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | nul | nul | 18 |
| 8 | NIRAJ | nul | nul | 19 |
| 9 | SOMESH | nul | nul | 20 |
Inseriu files específiques utilitzant l'exemple INSERT INTO SELECT:
INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;>
Sortida:
Aquesta consulta seleccionarà només la primera fila de la taula LateralStudent per inserir-la a la taula Student. La taula Student tindrà ara aquest aspecte,
| ROLL_NO | NOM | ADREÇA | TELÈFON | Edat |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 4 | SURESH | Delhi | XXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXX | 20 |
| 2 | RAMESH | GURGAON | XXXXXXXXX | 18 |
| 7 | SOUVIK | MUMBUM | XXXXXXXXX | 18 |
Aspectes importants sobre la instrucció SQL INSERT INTO
- La instrucció INSERT INTO s'utilitza per afegir nous registres a una taula d'una base de dades
- Permet inserir diversos registres en una sola instrucció proporcionant diversos conjunts de valors.
- Si no especifiqueu els noms de les columnes, la instrucció assumeix totes les columnes i els valors han d'estar en el mateix ordre que la definició de la taula.
- Les columnes no incloses a la instrucció INSERT s'ompliran amb valors predeterminats, que normalment són NULL.
- declaracions condició.