3. DML - Manipulació de dades
3.1. Inserir dades (INSERT)
a) Les formes més corrents d'inserir dades en una taula
-
Inserir una fila indicant quines columnes i en quin ordre es van a posar els valors:
SQL -
Inserir una fila sense indicar columnes. S'introduiran tots els valors i en l'ordre en què estan les columnes en la taula:
SQL -
Inserir diverses files en una sola sentència:
Exercicis. INSERT INTO (BD cultius)
1) Inserix un nou tipus de cultiu de codi ARR i nom Arròs.
2) Inserix un nou país de nom Espanya del continent Europa.
3) Inserix les següents 4 províncies, en una sola sentència: - València, amb 1 milió d'habitants - Alacant, amb 700000 d'habitants - Castelló, amb mig milió d'habitants - Madrid, amb 2 milions d'habitants
4) Inserix la comarca "Ribera Baixa", de codi RB.
Nota
Per a vore els registres d'una taula (i així comprovar que s'han fet els inserts, etc) ja vorem que ho podem fer amb la següent instrucció:
| SQL | |
|---|---|
b) Altres formes d'inserir dades en taules
-
Inserir files en una taula a partir de la SELECT d'una altra taula:
-
Inserir files a partir d'un fitxer (per defecte, en la carpeta de la BD):
L'operació inversa (de taula a fitxer) seria:
| SQL | |
|---|---|
Ara bé, no podem deixar-ho en qualsevol carpeta ja que no tenim permisos. Primer haurem de vore en quina carpeta podem crear eixe fitxer de resultats i després bolcar allí el resultat de la select. Per exemple:
| SQL | |
|---|---|
Suposem que ens mostra: /var/lib/mysql-files
Ara podem fer el bolcat així:
| SQL | |
|---|---|
3.2. Esborrar dades (DELETE)
| SQL | |
|---|---|
Veiem que en el DELETE no s'especifiquen els camps a esborrar, ja que s'esborra tota la fila. El WHERE no és obligatori però si no posem cap condició esborrarà totes les files.
Notes
- Més endavant comentarem més coses de la condició del WHERE (quan veiem la clàusula WHERE de la sentència SELECT).
-
Potser MySQL no deixe fer UPDATE o DELETE perquè està en mode segur. En eixe cas, cal canviar la variable d'entorn corresponent:
SQL
3.3. Modificar dades (UPDATE)
| SQL | |
|---|---|
Exercicis. DELETE i UPDATE (BD cultius)
Nota
Si volem fer modificacions de les dades de la BD (inserts, updates o deletes) i després deixar-ho com estava, usarem transaccions: begin i rollback (ja entrarem en detall). Però no funciona en DDL (creates, alters i drops).
1) Esborra la província de Madrid.
2) Augmenta un 10% la població de totes les províncies.
3) Modifica la comarca RB fent que el nom comence per "La". Utilitza l'operador CONCAT (consulta la sintaxi a Internet).
4) Guarda les dades de les províncies al fitxer "provincies.txt" del directori sobre el qual tens permisos. Recorda que eixe directori es pot saber executant:
| Text Only | |
|---|---|
1 2 3 | |
5) Esborra el contingut de la taula províncies i torna a carregar les dades a partir del fitxer que has creat a l'exercici anterior.