En aquest tema, aprendrem com inserir dades en les taules de PostgreSQL. Aquesta és una operació fonamental que permet afegir informació a la base de dades per a la seva posterior consulta i manipulació.
Continguts
Sintaxi bàsica de INSERT
La sintaxi bàsica per inserir dades en una taula és la següent:
Exemple
Suposem que tenim una taula anomenada empleats
amb les següents columnes: id
, nom
, càrrec
i salari
.
CREATE TABLE empleats ( id SERIAL PRIMARY KEY, nom VARCHAR(100), càrrec VARCHAR(50), salari NUMERIC );
Per inserir un nou empleat en aquesta taula, utilitzem la següent instrucció:
Inserint múltiples files
És possible inserir múltiples files en una sola instrucció INSERT
. Això pot ser útil per millorar l'eficiència quan necessitem afegir diverses files alhora.
Exemple
INSERT INTO empleats (nom, càrrec, salari) VALUES ('Anna Garcia', 'Analista', 45000), ('Marc López', 'Desenvolupador', 55000), ('Laura Martínez', 'Gerent', 70000);
Inserint dades amb RETURNING
La clàusula RETURNING
permet retornar valors de les files que s'han inserit. Això és especialment útil quan necessitem obtenir l'ID generat automàticament per una columna SERIAL
.
Exemple
INSERT INTO empleats (nom, càrrec, salari) VALUES ('Carles Torres', 'Consultor', 60000) RETURNING id;
Aquest codi retornarà l'ID de la fila que s'ha inserit.
Inserint dades des d'una altra taula
Podem inserir dades en una taula seleccionant-les d'una altra taula. Això es fa utilitzant una instrucció INSERT INTO ... SELECT
.
Exemple
Suposem que tenim una altra taula anomenada nous_empleats
amb les mateixes columnes que la taula empleats
.
Exercicis pràctics
Exercici 1
Crea una taula anomenada productes
amb les següents columnes: id
(SERIAL, PRIMARY KEY), nom
(VARCHAR(100)), preu
(NUMERIC) i quantitat
(INTEGER). Inserta tres productes en aquesta taula.
Solució
CREATE TABLE productes ( id SERIAL PRIMARY KEY, nom VARCHAR(100), preu NUMERIC, quantitat INTEGER ); INSERT INTO productes (nom, preu, quantitat) VALUES ('Ordinador', 1000, 10), ('Ratolí', 20, 50), ('Teclat', 30, 30);
Exercici 2
Utilitza la clàusula RETURNING
per inserir un nou producte en la taula productes
i retorna l'ID del producte inserit.
Solució
Exercici 3
Crea una taula anomenada nous_productes
amb les mateixes columnes que la taula productes
. Inserta dos productes en aquesta taula i després copia aquests productes a la taula productes
.
Solució
CREATE TABLE nous_productes ( id SERIAL PRIMARY KEY, nom VARCHAR(100), preu NUMERIC, quantitat INTEGER ); INSERT INTO nous_productes (nom, preu, quantitat) VALUES ('Impressora', 200, 15), ('Escàner', 100, 25); INSERT INTO productes (nom, preu, quantitat) SELECT nom, preu, quantitat FROM nous_productes;
Conclusió
En aquest tema, hem après com inserir dades en les taules de PostgreSQL utilitzant la instrucció INSERT
. Hem vist com inserir una sola fila, múltiples files, utilitzar la clàusula RETURNING
i inserir dades des d'una altra taula. Aquests conceptes són fonamentals per gestionar les dades en una base de dades PostgreSQL. En el proper tema, explorarem com consultar dades utilitzant la instrucció SELECT
.
Curs de PostgreSQL
Mòdul 1: Introducció a PostgreSQL
Mòdul 2: Operacions bàsiques de SQL
Mòdul 3: Consultes SQL avançades
Mòdul 4: Disseny de bases de dades i normalització
Mòdul 5: Funcionalitats avançades de PostgreSQL
Mòdul 6: Optimització i millora del rendiment
- Optimització de consultes
- Estratègies d'indexació
- Analitzant el rendiment de les consultes
- Vacuuming i manteniment
Mòdul 7: Seguretat i gestió d'usuaris
- Rols d'usuari i permisos
- Mètodes d'autenticació
- Encriptació de dades
- Còpia de seguretat i restauració
Mòdul 8: Treballant amb JSON i funcionalitats NoSQL
Mòdul 9: Extensions i eines avançades
- PostGIS per a dades geoespacials
- Cerca de text complet
- Wrappers de dades externes
- PL/pgSQL i altres llenguatges procedimentals