Differenza tra int smallint etc.

Monital

Utente Attivo
15 Apr 2009
778
2
18
Come da titolo qualcuno può spiegarmi papale papale la differenza tra usare ad esempio int(2) con Smallint(2) o mediumint(2) etc.?

ho letto un pò in giro ma non riesco bene a focalizzare la differenza o per meglio dire l'utilità di usare uno di questi.

thank
 

multibyte85

Nuovo Utente
8 Ago 2013
6
0
0
Non capisco se la richiesta di informazioni si riferisce al tipo di campo o all'attributo numerico tra parentesi dopo il tipo di campo.
In ogni caso, le tipologie di campo dipendono dalla dimensione dei valori che si intende gestire:

http://dev.mysql.com/doc/refman/5.7/en/integer-types.html

L'indicazione dell'attributo sui numerici, invece, non modifica il tipo di campo ma influisce sulla visualizzazione del valore, indicandone il numero minimo di caratteri in output.
Ad esempio, se abbiamo un campo INT(4), ma il valore inserito è "2", questo verrà visualizzato come " 2" per occupare 4 posizioni, con il carattere di riempimento " " (spazio) a sinistra del valore.
Aggiungendo l'opzione ZEROFILL, si avrà lo stesso allineamento del numero a destra, ma con carattere di riempimento "0" => "0002".

http://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html

L'utilizzo dell'attributo può essere utile in caso di gestione dati a spaziatura fissa!

:byebye:
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
mediumint, a differenza degli altri due, può essere utilizzato solo in mysql.
Le differenze sostanziali sono:

smallint: 2 bytes, -32,768 to +32,767 / 0 to 65,535
mediumint: 3 bytes, -8,388,608 to 8,388,607 / 0 to 16,777,215
int/integer: 4 bytes, -2,147,483,648 to +2,147,483,647 / 0 to 4,294,967,295

Cioè nei numeri che possono rappresentare e sui bytes che occupano.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Non capisco se la richiesta di informazioni si riferisce al tipo di campo o all'attributo numerico tra parentesi dopo il tipo di campo.
L'indicazione dell'attributo sui numerici, invece, non modifica il tipo di campo ma influisce sulla visualizzazione del valore, indicandone il numero minimo di caratteri in output.
Ad esempio, se abbiamo un campo INT(4), ma il valore inserito è "2", questo verrà visualizzato come " 2" per occupare 4 posizioni, con il carattere di riempimento " " (spazio) a sinistra del valore.
Aggiungendo l'opzione ZEROFILL, si avrà lo stesso allineamento del numero a destra, ma con carattere di riempimento "0" => "0002".

:byebye:

questa non l'ho capita.

ma intendi dire come visualizzazione del numero?

vediamos e ho ben capito in base a questo

http://dev.mysql.com/doc/refman/5.7/en/integer-types.html

se io ho una tabella dove gestire 1000 ID mi basta mettere SMALLINT se invece voglio gestire un numero infinito di ID devo mettere int.

se è cosi il numero tra parentesi nonh o capito cosa intende gestire tipo la differenza tra int(2) e int(4)?

Significa forse int(2)massimo 2 cifre quindi fino a 99 mentre int(4) finoa 4 cifre quindi 999?
 

multibyte85

Nuovo Utente
8 Ago 2013
6
0
0
questa non l'ho capita.

ma intendi dire come visualizzazione del numero?

vediamos e ho ben capito in base a questo

http://dev.mysql.com/doc/refman/5.7/en/integer-types.html

se io ho una tabella dove gestire 1000 ID mi basta mettere SMALLINT se invece voglio gestire un numero infinito di ID devo mettere int.

se è cosi il numero tra parentesi nonh o capito cosa intende gestire tipo la differenza tra int(2) e int(4)?

Significa forse int(2)massimo 2 cifre quindi fino a 99 mentre int(4) finoa 4 cifre quindi 999?


Il campo sul database (mysql, come dice giustamente Longo8, altri db non hanno questa particolarità) gestisce il valore numerico indifferentemente da quanto indicato tra parentesi: un campo int avrà sempre lo stesso range di valori (da -2147483648 a 2147483647 o da 0 a 4294967295), anche se tra parentesi c'è "2".
Il valore tra parentesi è un attributo che influisce sulla sola visualizzazione del valore del campo, che sarà troncato o riempito per avere la dimensione indicata.

Ad esempio, creiamo una tabella con un campo int:
create table nome_tabella (nome_colonna int(3) zerofill);

inseriamo 3 valori di diversa lunghezza:
insert into nome_tabella (nome_colonna) values (9),(55),(112);

facendo una select, il risultato sarà il seguente:
009
055
112

perchè è stato indicato sul campo che la visualizzazione è fissa a 3 caratteri con completamento del campo con zeri (zerofill).
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
S Differenza tra le funzioni include () e require ()? PHP 1
U [PHP] Differenza tra amministratore e utente PHP 2
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
V [PHP] Differenza reale tra bindParam e bindValue PHP 8
Z Google: qual'è la differenza tra Popolarità e Autorevolezza di un sito? SEO e Posizionamento 1
M Qual'è la differenza tra Server.Transfer e Response.Redirect? ASP.NET 1
Giacomo92 Differenza tra Webmaster e Web designer? Webdesign e Grafica 2
V Calcolare la differenza tra due date in PHP PHP 1
V Differenza tra operatori == e === in javascript? Javascript 1
felino [C#] Differenza tra ClipboardPasted e ClipboardPasting .NET Framework 2
F differenza tra 2 date PHP 5
M Calcolare differenza temporale tra datetime salvati sui records di una tabella mysql PHP 18
A Differenza tra anteporre o posporre l'operatore di incremento nel ciclo for Javascript 5
C Differenza tra due ore PHP 17
PenguinLover Differenza tra detrazioni e deduzioni? Leggi, Normative e Fisco 3
Monital Differenza tra date PHP 8
YellowMan Differenza tra Server Virtuale e Cloud Server Cloud Computing e Cloud Server 1
M Differenza tra precision e scale PHP 2
novello88 Differenza tra include() e require() PHP 18
M [VB.Net] Che differenza c'è tra CType e DirectCast? ASP.NET 1
S Differenza tra queste righe di codice Javascript 2
S Differenza tra orari sballata! PHP 2
M Differenza tra richiesta sincrona e asincrona Ajax 0
emanuelevt differenza tra $array[]='valore' o array_push($array,'valore') PHP 2
emanuelevt differenza concreta tra array_rand e shuffle PHP 2
SolidSnake4 differenza tra sleep() e microtime() PHP 9
M Differenza tra date e countdown PHP 3
M Differenza tra valori sulla stessa colonna Database 10
A Differenza comportamento tra click mouse e pressione tasto invio Visual Basic 0
borgo italia differenza tra applet e script? Javascript 10
I Differenza tra blog e sito Webdesign e Grafica 12
E Differenza tra utenti e hits [Era: Statistiche accessi al sito] Discussioni Varie 2
B Che differenza c'è tra un sito professionale e uno no ? Webdesign e Grafica 7
V Differenza di visualizzazione tra IE e FireFox HTML e CSS 4
S Differenza date record successivi MS Access 7
T differenza fra mysql xampp e un mysql server Database 0
Emix [PHP] Differenza Date + Ore PHP 3
S [PHP] Eseguire differenza su dati SQL presenti sulla stessa colonna PHP 1
K Certificato SSL (https) gratuito o a pagamento? che differenza c'è? Server Dedicati e VPS 1
andrea.peo Calcolo differenza fra record attivo e precedente PHP 1
G Calcolo differenza valori provenienti da una tabella PHP 0
giap Classi stili/stili per singoli TAG- differenza- HTML e CSS 2
S Differenza data PHP 1
C Ma perchè!!!! Differenza visualizzazione con iOS Safari HTML e CSS 2
Shyson Differenza UTF-8 e gli altri HTML e CSS 12
L Reale differenza con il precedente HTML HTML e CSS 1

Discussioni simili