Diferència entre revisions de la pàgina «SQL taules»
m (→Exercici)  | 
				|||
| Línia 64: | Línia 64: | ||
== Exercici ==  | == Exercici ==  | ||
| − | Introduïu,   | + | Introduïu, segunt l'exemple anterior, dades corresponents a les assignatures de 1r d'ESO.  | 
| + | *1r ESO  | ||
| + | **Ciències naturals (Josep Cornudella, 130h)  | ||
| + | **Ciències socials (Alba Rodríguez, 100 h)  | ||
| + | **Visual i plàstica (Conxita Franch, 86 h)  | ||
| + | **Castellà (Pere Andreu, 100 h)  | ||
| + | **Català (Jaume Frontanyà, 130 h)  | ||
| + | **Matemàtiques (Pepi Torres, 130 h)  | ||
| + | **Anglès (Ramon Sanjuan, 100 h)  | ||
| + | |||
| + | == Taules i relacions ==  | ||
| + | (... encara per fer ...)  | ||
Revisió del 08:04, 2 feb 2010
Aquest tutorial tracta de la creació de bases de dades amb la instrucció CREATE DATABASE.
Posteriorment passarem a la creació de taules amb CREATE TABLE i insercions bàsiques de registres amb INSERT.
Primer de tot entrarem al sistema amb
$> mysql -u <nom_usuari> -p -h <host>
Creació de taules
Els tipus de dades fonamentals amb els que tractarem seran:
- Nombres
- Sencers (enters): INT
 - Decimals (punt flotant): FLOAT, DOUBLE
 
 - Text
- CHAR (entre parèntesi el nº de caràcters)
 - VARCHAR (ídem)
 - TEXT (sense cap paràmetre, equival al MEMO de Access). No es pot indexar.
 
 - Binari
- BLOB (Binary Large OBject): per arxius, fotos, etc.
 
 - Enumerats
- ENUM
 
 
Primer de tot crearem la base de dades. Si l'usuari és enric, podem crear la base de dades amb CREATE DATABASE:
mysql> CREATE DATABASE enric_insti; mysql> use enric_insti
Creem una taula d'assignatures amb la instrucció CREATE TABLE:
mysql> CREATE TABLE assignatures (
    -> id_assignatura INT NOT NULL auto_increment PRIMARY KEY,
    -> titulacio VARCHAR(50) NOT NULL,
    -> assignatura VARCHAR(50) NOT NULL,
    -> professor VARCHAR(50) NOT NULL,
    -> hores INT);
Per veure si tot ha anat bé, fem:
mysql> desc assignatures;
Introducció de dades
Per introduïr les dades utilitzarem la comanda INSERT. Hi ha dues versions del INSERT:
- INSERT INTO <nom_taula> (<col1>,<col2>,etc.)
- VALUES (<val1>,<val2>,etc.);
 
 - INSERT INTO <nom_taula>
- SET <col1>=<val1>, <col2>=<val2>, etc.
 
 
Abans de fer un INSERT, però, cal conèixer totes les dades. Per exemple, si volem introduïr l'assignatura amb aquestes dades:
- Nom de l'assignatura: Matemàtiques 2n ESO
 - Titulació: ESO
 - Professor: Pere Font
 - Hores: 120
 
Cal tenir en compte que id_assignatura és la PK (Clau primària) i la genera automàticament la taula ja que la hem posat com a auto_increment en la definició de la taula. Per tant, no posarem la id_assigntura dintre de la llista de columnes. Podem forçar un valor de la PK si volem al introduir la tupla però en general no ens interessa fer-ho i preferirem deixar-ho de manera automàtica.
La instrucció adient serà:
mysql> INSERT INTO assignatures (titulacio,assignatura,professor,hores)
    -> VALUES ("ESO","Matemàtiques 2n ESO","Pere Font",120);
I per comprovar si tot ha anat bé farem:
mysql> SELECT * FROM assignatures;
Fixeu-vos en què la columna id_assignatura figura un "1", assignat automàticament per la base de dades.
Exercici
Introduïu, segunt l'exemple anterior, dades corresponents a les assignatures de 1r d'ESO.
- 1r ESO
- Ciències naturals (Josep Cornudella, 130h)
 - Ciències socials (Alba Rodríguez, 100 h)
 - Visual i plàstica (Conxita Franch, 86 h)
 - Castellà (Pere Andreu, 100 h)
 - Català (Jaume Frontanyà, 130 h)
 - Matemàtiques (Pepi Torres, 130 h)
 - Anglès (Ramon Sanjuan, 100 h)
 
 
Taules i relacions
(... encara per fer ...)