angelo.pezzullo
pubblicato più di 3 anni fa

Creare Tabelle MySQL

Una guida alla creazione di tabelle in MySQL

In MySQL l’istruzione per creare una tabella nel database è la seguente:

1CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
2       (create_definition,...)
3       [table_option ...]
4       select_statement

L’istruzione CREATE TABLE crea una tabella nel database corrente con il nome dato. Per creare una tabella nel database l’utente deve avere i privilegi per poter eseguire l’istruzione CREATE. Insieme al nome della tabella è possibile specificare anche il nome del database al fine di creare una tabella in un database specifico.

E’ possibile utilizzare la clausola TEMPORARY in fase di creazione della tabella. Una tabella temporanea esiste per tutta la durata della connessione corrente e viene automaticamente cancellata quando la connessione al database viene chiusa. Questo vuol dire che due connessioni disinte al database possono usare la medesima tabella temporanea senza conflitti di nessun tipo.

Anche per poter creare una tabella temporanea l’utente necessita dei privilegi di CREATE TEMPORARY TABLES.

Si noti che l’istruzione CREATE TABLE con l’utilizzo della clausola TEMPORARY non esegue automaticamente la commit sulla transazione attiva.

MySQL restituisce un errore se la tabella che si sta per creare già esiste e non viene specificata la clausola IF NOT EXISTS.

Ogni tabella è caratterizzata dalle colonne, per cui per creare una tabella è necessario definire l’elenco di colonne che andranno a caratterizzarla.

Ogni colonna della tabella potrebbe essere strutturata nel modo seguente:

1col_name type [NOT NULL | NULL] 
2              [DEFAULT default_value]
3              [AUTO_INCREMENT] 
4              [UNIQUE [KEY] | [PRIMARY] KEY]
5              [COMMENT 'string']

Il paramentro col_name corrisponde al nome della colonna, mentre type al tipo di dato.

Esempio 1:

1CREATE TABLE tabella1 ( chiave1 INT(10) NOT NULL AUTO_INCREMENT,
2                        campo1 VARCHAR(50) NOT NULL,
3                        campo2 VARCHAR(50) NOT NULL,
4                        campo3 VARCHAR(10) NOT NULL,
5                        campo4 FLOAT(10,2) NOT NULL,
6                        PRIMARY KEY (chiave1)
7                      ) TYPE=MyISAM

Si noti che nell’Esempio 1 abbiamo creato un indice di tipo PRIMARY KEY sulla tabella1. Esistono tre tipi di indici:

  • PRIMARY KEY: indici che permettono di definire quale campo o quali campi identificano in maniera univoca una riga della tabella. Il valore (o la combinazione dei valori) può essere presente una sola volta;
  • UNIQUE KEY: chiavi che permettono di definire delle colonne come uniche e quindi, come per le PRIMARY KEY i valori non possono ripetersi;
  • INDEX KEY: indici che permettono di eseguire ricerche più veloci sulla colonna o sulle colonne specificate.

Riferimenti:

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic