Diferència entre revisions de la pàgina «SQL taules»
 (Es crea la pàgina amb «Aquest tutorial tracta de la creació de taules i insercions bàsiques de registres.  Per això necessitarem les instruccions [http://dev.mysql.com/doc/refman/5.0/en/crea…».)  | 
				|||
| Línia 6: | Línia 6: | ||
Primer de tot entrarem al sistema amb  | Primer de tot entrarem al sistema amb  | ||
  $> mysql -u <nom_usuari> -p -h <host>  |   $> mysql -u <nom_usuari> -p -h <host>  | ||
| + | |||
| + | |||
| + | En aquest tutorial crearem la base de dades amb la instrucció [http://dev.mysql.com/doc/refman/5.0/en/create-database.html CREATE DATABASE].  | ||
| + | Un cop creada la base de dades podem crear taules i introduïr dades.  | ||
| + | |||
| + | Les taules es creen amb la comanda [http://dev.mysql.com/doc/refman/5.0/en/create-table.html CREATE TABLE].  | ||
== Creació de taules ==  | == Creació de taules ==  | ||
| − | |||
Els tipus de dades fonamentals amb els que tractarem seran:  | Els tipus de dades fonamentals amb els que tractarem seran:  | ||
| Línia 24: | Línia 29: | ||
**ENUM  | **ENUM  | ||
| − | Primer de tot crearem la base de dades. Si l'usuari és enric, podem crear la base de dades:  | + | Primer de tot crearem la base de dades. Si l'usuari és enric, podem crear la base de dades amb [http://dev.mysql.com/doc/refman/5.0/en/create-database.html CREATE DATABASE]:  | 
  mysql> '''CREATE DATABASE''' enric_insti;  |   mysql> '''CREATE DATABASE''' enric_insti;  | ||
  mysql> use enric_insti  |   mysql> use enric_insti  | ||
| − | Creem una taula d'assignatures amb la instrucció:  | + | Creem una taula d'assignatures amb la instrucció [http://dev.mysql.com/doc/refman/5.0/en/create-table.html CREATE TABLE]:  | 
  mysql> '''CREATE TABLE''' assignatures (  |   mysql> '''CREATE TABLE''' assignatures (  | ||
      -> id_assignatura INT NOT NULL auto_increment '''PRIMARY KEY''',  |       -> id_assignatura INT NOT NULL auto_increment '''PRIMARY KEY''',  | ||
| Línia 38: | Línia 43: | ||
Per veure si tot ha anat bé, fem:  | Per veure si tot ha anat bé, fem:  | ||
  mysql> desc assignatures;  |   mysql> desc assignatures;  | ||
| + | |||
| + | == Introducció de dades ==  | ||
| + | Per introduïr les dades utilitzarem la comanda [http://dev.mysql.com/doc/refman/5.0/en/insert.html 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.  | ||
| + | |||
| + | 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;  | ||
Revisió del 21:32, 1 feb 2010
Aquest tutorial tracta de la creació de taules i insercions bàsiques de registres.
Per això necessitarem les instruccions CREATE TABLE i també INSERT.
Primer de tot entrarem al sistema amb
$> mysql -u <nom_usuari> -p -h <host>
En aquest tutorial crearem la base de dades amb la instrucció CREATE DATABASE.
Un cop creada la base de dades podem crear taules i introduïr dades.
Les taules es creen amb la comanda CREATE TABLE.
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.
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;