Sei qui: Home » Guide » MySQL » Guida di base a MySQL » Creazione ed eliminazione di una tabaella

Creazione ed eliminazione di una tabaella

 

Una volta creato il nostro database ènecessario creare delle tabelle che serviranno per l'inserimento dei dati. La creazione di tabelle si esegue grazie all'istruzione CREATE TABLE che ha una sintassi molto semplice mentre l'eliminazione di un database è possibile con l'istruzione DROP TABLE.

Creazione di una tabella

In questa guida ci riferiremo alle ipotetiche richieste ad un database che ha il compito di tracciare gli eventi di una banca. Ci servono le tabelle clienti, movimenti e tipi_movimento.
 CREATE TABLE `clienti` (
 ID                     int AUTO_INCREMENT NOT NULL PRIMARY KEY,
 `nome`                 varchar(40) NOT NULL,
 `cognome`              varchar(40) NOT NULL,
 `telefono`             varchar(20) NOT NULL,
 `data_apertura_conto`  date NOT NULL,
 `tipo_conto`           varchar(20) UNSIGNED NOT NULL
 ) ENGINE = MyISAM;


Nella sintassi di creazione della tabella la descrizione dei campi si trova tra parentesi. In particolare subito dopo il nome del campo (ad esempio nome, cognome, telefono,...) si trova la descrizione del tipo di campo che descrive che genere di valori troveranno posto nel campo. Passiamo alla creazione della tabella movimenti:


CREATE TABLE `movimenti` (
 ID            int AUTO_INCREMENT NOT NULL PRIMARY KEY,
 `ID_cliente`  int(9) NOT NULL,
 `tipo`        int(3) NOT NULL,
 `data`        datetime NOT NULL,
 `valuta`      double(12,3) NOT NULL
 ) ENGINE = MyISAM;

 


E per finire la tabella tipi_movimento:


CREATE TABLE `tipi_movimento` (
 ID             int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
 `tipo`         enum ('entrata','uscita'),
 `descrizione`  varchar(100) NOT NULL
 ) ENGINE = MyISAM;


A questo puntro abbiamo tre tabelle all'interno del database banca.

 

Tipi di campo nelle tabelle

MySQL propone numerosi tipi di campo che servono per memorizzare interi, stringhe, numeri decimali ed anche files binari.
Tipi di campo in MySQL
Tipo
Range
Descrizione
bool 0 / 1 Valore di tipo booleano dove 0 è pari a false ed 1 è pari a true.
tinyint -128 / + 127 Il tipo tynint descrive numeri interi relativamente piccoli.
int
-2147483648 / +2147483647 Il tipo int descrive i numeri interi.
float
-3.402823466E+38 / -1.175494351E-38 oppure 1.175494351E-38 / 3.402823466E+38 Il tipo di dati float descrive numeri a virgola mobile.
double -1.7976931348623157E+308 / -2.2250738585072014E-308 oppure 2.2250738585072014E-308 / 1.7976931348623157E+308 Il tipo di dati double serve per memorizzare numeri decimali molto grandi.
varchar 1 / 255 Il tipo di dati varchar serve a memorizzare piccole stringhe da 1 a 255 caratteri.

text

blob

1 / 65535 Il tipo di dati text ed il tipo blob memorizzano stringhe fino a 65535 caratteri

mediumtext

mediumblob

1 / 16,777,215 Il tipo di dati mediumtext ed il tipo blob memorizzano stringhe da 1 a 16,777,215 caratteri.

longtext

longblob

1 / 4,294,967,295 Il tipo di dati longtext ed il tipo longblob memorizzano stringhe da 1 a 4,294,967,295 caratteri.
enum liste di valori Il campo enum è molto versatile in quanto permette l'inserimento di un valore preso da una lista predefinita.
date YYYY-MM-DD Il tipo di dati date serve a memorizzare date nel formato anno-mese-giorno.
datetime YYYY-MM-DD HH:MM:SS Il tipo di dati datetime è simile al tipo date con la differenza che accetta anche un riferimento al tempo.
year YYYY Il tipo di dati year memorizza un valore corrispondente ad un anno.

Differenze tra campi blob e text

I campi blob e text, ed i rispettivi campi associati come longblob e longtext, condividono la stessa capacità di memorizzazione ma vengono trattati da MySQL in modo leggermente differente. I campi blob sono di tipo case sensitive per cui nella ricerca tengono conto delle maiuscole e delle minuscole, mentre i campi text non ne tengono conto.

Eliminazione di un database

Per eliminare un database si usa l'istruzione DROP TABLE seguita dal nome della tabella che si vuole eliminare.
DROP TABLE banca;

Si deve prestare la massima attenzione ad usare l'istruzione DROP TABELLA in quanto sia la tabella che i dati in essa presenti vengono irrimediabilmente perduti.

Ricerca
News
giu 3, 2010
È stato appena rilasciato, dalla società JetBrains, un nuovo IDE per la creazione rapida di progetti Web/PHP/MySQL.

tag: phpstorm, IDE, php

apr 3, 2010
Rilasciato JQuery UI in versione stabile. La release 1.8, oltre a numerosi bugfix, possiede due interessanti Widgets.

tag: jquery

mar 12, 2010
È stato da poco rilasciato il famoso forum SMF in versione 2.0RC3; tanti bugfix e un'aspetto più consolidato.

tag: smf, vbulletin, forum

mar 11, 2010
Un articolo "passo-passo" che spiega come configurare Google Apps con un qualsiasi tipo di pacchetto TopHost. Un'accoppiata vincente!

tag: TopHost, Google Apps

mar 9, 2010
Inserita la guida completa a PHP

tag: howtoprog

mar 8, 2010
Il sito è in fase di restyling; ci scusiamo per gli eventuali disagi ma, come vedrete a breve, vale la pena pazientare qualche giorno!