SQL taules
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;