Heim  >  Artikel  >  Datenbank  >  Was sind die Datentypen von Feldern in der MySQL-Datentabelle?

Was sind die Datentypen von Feldern in der MySQL-Datentabelle?

青灯夜游
青灯夜游Original
2020-07-21 13:24:527115Durchsuche

Die Datentypen der Felder in der Datentabelle sind: TINYINT, SMALLINT, MEDIUMINT, INT, INTEGE, DATETIME, DATE, TIMESTAMP, TIME, YEAR, CHAR, VARCHAR, TEXT, TINYBLOB, BLOB usw.

Was sind die Datentypen von Feldern in der MySQL-Datentabelle?

Die in MySQL definierten Datenfeldtypen sind für die Optimierung Ihrer Datenbank sehr wichtig.

MySQL unterstützt mehrere Typen, die grob in drei Kategorien unterteilt werden können: numerische Typen, Datums-/Uhrzeittypen und Zeichenfolgentypen (Zeichen). [Empfohlenes Tutorial: „MySQL-Tutorial“]

Numerischer Typ

MySQL unterstützt alle standardmäßigen numerischen SQL-Datentypen.

Diese Typen umfassen strikte numerische Datentypen (INTEGER, SMALLINT, DECIMAL und NUMERIC) und ungefähre numerische Datentypen (FLOAT, REAL und DOUBLE PRECISION).

Das Schlüsselwort INT ist ein Synonym für INTEGER und das Schlüsselwort DEC ist ein Synonym für DECIMAL.

Der BIT-Datentyp speichert Bitfeldwerte und unterstützt MyISAM-, MEMORY-, InnoDB- und BDB-Tabellen.

Als Erweiterung des SQL-Standards unterstützt MySQL auch die Integer-Typen TINYINT, MEDIUMINT und BIGINT. Die folgende Tabelle zeigt den für jeden Ganzzahltyp erforderlichen Speicher und Bereich.

tr> (0, 255)4 Bytes Hängt vom Wert von M und D ab
Typ Größe Bereich (mit Vorzeichen) Bereich (ohne Vorzeichen) Zweck
TINYINT 1 Byte (-128, 127)Kleiner ganzzahliger Wert
SMALLINT 2 Bytes (-32 768, 32 767) (0, 65 535) Großer ganzzahliger Wert
MEDIUMINT 3 Bytes (-8 388 608, 8 388 607) ( 0, 16 777 215) Großer ganzzahliger Wert
INT oder INTEGER(-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Großer ganzzahliger Wert td>
BIGINT 8 Bytes (-9.223.372.036.854.775.808, 9 223 372 036 854 775 807) (0 , 18 446 744 073 709 551 615) Maximaler ganzzahliger Wert
FLOAT 4 Bytes (-3.402 823 466 E+38, -1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) 0, (1.175 494 351 E -38, 3.402 823 466 E+38) Einfache Genauigkeit
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 byte (-128,127) (0,255) 小整数值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3  bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4  bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8  bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4  bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8  bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
Gleitkommawert
DOUBLE 8 Bytes (-1.797 693 134 862 315 7 E+308, -2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 8 62 3 15 7 E+308) 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) Doppelte Genauigkeit

Gleitkommazahl Wert

DECIMAL Für DECIMAL(M,D): wenn M>D, ist es M+2, andernfalls ist es D+2Hängt vom Wert von M und D ab Dezimalwert
Datums- und Uhrzeittypen

Die Datums- und Uhrzeittypen, die Zeitwerte darstellen, sind DATETIME, DATE, TIMESTAMP, TIME und YEAR.

Jeder Zeittyp hat einen gültigen Wertebereich und einen „Null“-Wert. Der „Null“-Wert wird verwendet, wenn ein unzulässiger Wert angegeben wird, den MySQL nicht darstellen kann.

Der TIMESTAMP-Typ verfügt über proprietäre automatische Aktualisierungsfunktionen, die später beschrieben werden.
类型 大小
( bytes)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS 混合日期和时间值,时间戳
DATUM tr >
Typ Größe( Bytes) Bereich Format Zweck
3 1000-01-01/9999-12-31 JJJJ- MM-TT Datumswert
ZEIT 3 '-838:59:59'/'838:59:59' HH:MM:SS Zeitwert oder Dauer
JAHR 1 1901/2155 JJJJ Jahrswert
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 JJJJ-MM-TT HH:MM:SS Gemischtes Datum und Zeitwerte
TIMESTAMP 4 1970-01-01 00:00:00/2038Die Endzeit ist 2147483647Sekunde, Pekinger Zeit2038-1-19 11:14:07 , 03:14:07 GMT am 19. Januar 2038 JJJJMMTT HHMMSS Gemischte Datums- und Zeitwerte, Zeitstempel

String-Typ

String-Typ bezieht sich auf CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM und SET. In diesem Abschnitt wird beschrieben, wie diese Typen funktionieren und wie sie in Abfragen verwendet werden.

类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

Hinweis: n in den Klammern von char(n) und varchar(n) stellt die Anzahl der Zeichen dar, nicht die Anzahl der Bytes. Beispielsweise kann CHAR(30) 30 Zeichen speichern.

CHAR- und VARCHAR-Typen sind ähnlich, werden jedoch unterschiedlich gespeichert und abgerufen. Sie unterscheiden sich auch hinsichtlich ihrer maximalen Länge und ob nachgestellte Leerzeichen erhalten bleiben. Während der Speicherung oder des Abrufs wird keine Fallkonvertierung durchgeführt.

BINARY und VARBINARY ähneln CHAR und VARCHAR, außer dass sie binäre Zeichenfolgen anstelle von nicht-binären Zeichenfolgen enthalten. Das heißt, sie enthalten Byte-Strings und keine Zeichenfolgen. Das bedeutet, dass sie keinen Zeichensatz haben und Sortierung und Vergleich auf dem numerischen Wert der Spaltenwertbytes basieren.

Ein BLOB ist ein binäres großes Objekt, das eine variable Datenmenge enthalten kann. Es gibt 4 BLOB-Typen: TINYBLOB, BLOB, MEDIUMBLOB und LONGBLOB. Sie unterscheiden sich im Speicherbereich, den sie aufnehmen können.

Es gibt 4 TEXT-Typen: TINYTEXT, TEXT, MEDIUMTEXT und LONGTEXT. Die entsprechenden vier BLOB-Typen haben unterschiedliche maximale Speicherlängen, die je nach tatsächlicher Situation ausgewählt werden können.

Das obige ist der detaillierte Inhalt vonWas sind die Datentypen von Feldern in der MySQL-Datentabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn