Ich bin neu in der Datenbankprogrammierung und habe eine sehr grundlegende Frage:
Was bedeutet es in meiner PHPMyAdmin-GUI, die ich benutze, um Tabellen in meiner Datenbank zu erstellen, wenn die Spalte "type" (dh Datentyp) den Datentyp und etwas in Klammern danach hat. Beispielsweise: int (20), bigint (30) .....
Ich verstehe, dass der Typ int und bigint die Anzahl der Bytes angibt, die verwendet werden, und folglich den Bereich der Werte, die gespeichert werden können. Aber was bedeutet der Wert in den Klammern?
Was steht (20) und (30) für .... welche Auswirkung hat das auf ....
Tut mir leid, wenn das Q grundlegend ist, ich versuche Datenbanken zu verstehen ....
Vielen Dank
Dies ist im Grunde eine Anzeigebreite .
Ich habe eine sehr gute Erklärung für dieses Konzept gefunden hier ist so entschieden, nicht Beschreibe es selbst und lass es dich selbst von der ursprünglichen Quelle lesen.
Ebenso wie eine maximale Länge für Zeichenkettendatentypen angegeben werden kann (z. B. VARCHAR (5 ) = Maximal 5 Zeichen), kann für numerische Datentypen eine "Anzeigelänge" angegeben werden (ZB: INT (5) ).
Es gibt ein allgemeines Missverständnis, dass die Angabe einer Anzeigelänge in einer INT-Spalte den Bereich dieser Spalte einschränkt. Als Beispiel wird häufig angenommen, dass eine Spalte als INT (1 ) reduziert den vorzeichenlosen Bereich der Spalte auf 0 - 9 und INT (2 ) würde den vorzeichenlosen Bereich der Spalte auf 0 - 99 reduzieren. Dies ist jedoch nicht der Fall. Eine INT Datenspalte hat IMMER einen realisierbaren vorzeichenlosen Bereich von 0 - 4294967295 oder einen vorzeichenbehafteten Bereich von -2147483648 bis 2147483647, unabhängig von der angegebenen Anzeigebreite, unabhängig davon, ob sie 1 ist ( INT ( 1) ) oder 20 ( INT (20) ).
Der Wert in der Klammer ist die Größe oder Länge des Feldes. [Edit strike] Bei einem Wert von 2 kann ein Uint-Feld nur Werte von 0 bis 99 hosten. [/ Strike] Sie können diesen Wert selbst einstellen und dadurch etwas Speicher sparen, wenn Sie erwarten, dass Ihre Werte diese Begrenzung nicht überschreiten. Nützlich in Verbindung mit varchar.
Hier ein weiterer Thread über varchar sizes: Was sind die optimalen Varchar-Größen? für MySQL?
Tags und Links mysql database data-structures