angelo.pezzullo
pubblicato più di 3 anni fa

Tipi di Dati MySQL

Una ricetta introduttiva di tutti i tipi di dati disponibili in MySQL

Tra i tipi di dati gestiti da MySQL abbiamo i seguenti:

  • Dati Numerici
  • Date e Tempo
  • Stringhe
  • Dati Geometrici

In MySQL, tutti i tipi di colonne possono contenere (se dichiarato nella loro definizione) il valore NULL, previsto dallo standard SQL per indicare un “non valore”.

Dati Numerici

 1BIT      [(M)]
 2TINYINT  [(M)]     [UNSIGNED] [ZEROFILL]
 3SMALLINT [(M)]     [UNSIGNED] [ZEROFILL]
 4MEDIUMINT[(M)]     [UNSIGNED] [ZEROFILL]
 5INT      [(M)]     [UNSIGNED] [ZEROFILL]
 6BIGINT   [(M)]     [UNSIGNED] [ZEROFILL]
 7FLOAT    [(M,D)]   [UNSIGNED] [ZEROFILL]
 8DOUBLE   [(M,D)]   [UNSIGNED] [ZEROFILL]
 9DECIMAL  [(M[,D])] [UNSIGNED] [ZEROFILL]

L’opzione UNSIGNED specifica che il numero è senza segno, mentre l’opzione ZEROFILL indica al server di memorizzare i numeri con degli zeri davanti nel caso in cui la lunghezza sia inferiore a quella massima prevista.

I dati di tipo TINYINT, SMALLINT, MEDIUMINT, INT e BIGINT rappresentano numeri interi composti rispettivamente da 1, 2, 3, 4 e 8 bytes. I tipi FLOAT e DOUBLE rappresentano i numeri in virgola mobile. Il tipo DECIMAL rappresenta i numeri “esatti”, con M cifre totali di cui D decimali.

Date e Tempo

1DATE
2DATETIME
3TIMESTAMP[(M)]
4TIME
5YEAR     [(2|4)]

Il tipo DATE può contenere date da ‘1000-01-01’ (1° gennaio 1000) a ‘9999-12-31’ (31 dicembre 9999). Il tipo DATETIME contiene una data e un’ora, con lo stesso range visto per DATE. In un tipo TIMESTAMP possono essere memorizzati i valori corrispondenti al timestamp Unix. Il tipo TIME contiene un valore di tempo (ore, minuti e secondi) che va da ‘-838:59:59’ a ‘838:59:59’.

Stringhe

 1[NATIONAL] CHAR(M)      [BINARY | ASCII | UNICODE]
 2[NATIONAL] VARCHAR(M)   [BINARY]
 3           BINARY(M)
 4           VARBINARY(M)
 5           TINYBLOB
 6           TINYTEXT
 7           BLOB         [(M)]
 8           TEXT         [(M)]
 9           MEDIUMBLOB
10           MEDIUMTEXT
11           LONGBLOB
12           LONGTEXT
13           ENUM         ('valore1','valore2',...)
14           SET          ('valore1','valore2',...)

Il tipo CHAR è una stringa di lunghezza fissa (M) riempita con spazi a destra al momento della memorizzazione. La lunghezza prevista va da 0 a 255 caratteri. L’opzione NATIONAL indica che la stringa deve usare il set di caratteri di default. L’attributo BINARY indica che deve essere usata la collation binaria del set di caratteri utilizzato. Il tipo CHAR BYTE equivale a CHAR BINARY. Il tipo VARCHAR è una stringa di lunghezza variabile. I tipi BINARY e VARBINARY corrispondono a CHAR e VARCHAR, ma memorizzano stringhe di byte invece che di caratteri. I tipi BLOB e TEXT sono utilizzati rispettivamente per valori binari e di testo. La lunghezza massima è 255 caratteri per TINYBLOB e TINYTEXT, 65535 per BLOB e TEXT, 16.777.215 per MEDIUMBLOB e MEDIUMTEXT, 4 gigabyte per LONGBLOB e LONGTEXT. Una tipo ENUM può contenere uno dei valori elencati nella definizione, oppure NULL o una stringa vuota. Un tipo SET, come la ENUM, prevede un insieme di valori possibili (fino a 64).

Dati Geometrici

1GEOMETRY
2POINT
3LINESTRING
4POLYGON
5MULTIPOINT
6MULTILINESTRING
7MULTIPOLYGON
8GEOMETRYCOLLECTION

I tipi geometrici si basano sulle specifiche dell’Open GIS Consortium.

Riferimenti: http://dev.mysql.com/doc/refman/5.0/en/

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