0% found this document useful (1 vote)
146 views

MySQL Datatypes

This document summarizes MySQL data types including their storage size, range of values, and a brief description. It includes numeric, string, date and time data types. Notes provide additional information on storage calculation, case sensitivity of string types, scientific notation, and aliases or synonyms for some data types.

Uploaded by

Dino Korah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
146 views

MySQL Datatypes

This document summarizes MySQL data types including their storage size, range of values, and a brief description. It includes numeric, string, date and time data types. Notes provide additional information on storage calculation, case sensitivity of string types, scientific notation, and aliases or synonyms for some data types.

Uploaded by

Dino Korah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Sheet1

MySQL DataTypes

Type Storage Name Range


Numeric 1 byte TINYINT[(M)] -128 TO 127 [0 to 255 if UNSIGNED]
Numeric 2 bytes SMALLINT[(M)] -32,768 to 32,767 [0 to 65,535]
Numeric 3 bytes MEDIUMINT[(M)] -8,388,608 to 8,388,607 [0 to 16,777,215]
Numeric 4 bytes INT[(M)] -2,147,483,648 to 2,147,483,647 [0 to 4,294,967,295]
Numeric 8 bytes BIGINT[(M)] -/+9.223E+18 [0 to 18.45E+18]
Numeric 4 or 8 FLOAT(p) p=0-24 --> "FLOAT" p=25-53 --> "DOUBLE"
Numeric 4 bytes FLOAT[(M,D)] Min=+/-1.175E-38 Max=+/-3.403E+38
Numeric 8 bytes DOUBLE[(M,D)] Min=+/-2.225E-308 Max=+/-1.800E+308
Numeric M+2 DECIMAL[(M,[D])] Max Range = DOUBLE range Fixed point vs. DOUBLE float
Stored as string
Bit 8 bytes BIT[(M)] Binary. Display by [add zero | converting with BIN()]. M=1-64
String M char's CHAR[(M)] M=0-255 Characters, FIXED. Right padded with spaces.
String M char's * VARCHAR(M) M=0-65,535 Characters M=0-255 <v5.0.3
String #char's * TINYTEXT ** 0-255 Characters
String #char's * TEXT ** 0-65,535 Char's
String #char's * MEDIUMTEXT ** 0-16,777,215 Char's
String #char's * LONGTEXT ** 0-4,294,967,295 Char's
String M bytes BINARY[(M)] M=0-255 bytes, FIXED.
String M bytes VARBINARY(M) 0-65,535 bytes M=0-255 <v5.0.3
String #bytes * TINYBLOB 0-255 bytes
String #bytes * BLOB 0-65,535 bytes
String #bytes * MEDIUMBLOB 0-16,777,215 bytes
String #bytes * LONGBLOB 0-4,294,967,295 bytes
String 1-2 bytes ENUM2 ("A1","A2",...) Column is exactly 1 of values (1-255 values)
String 1-8 bytes SET2 ("A1","A2",...) Column is 0 or more values in list (1-64 members)
Date & Time 3 bytes DATE 1000-01-01
Date & Time 8 bytes DATETIME 1000-01-01 00:00:00
Date & Time 3 bytes TIME 1:00:01
Date & Time 4 bytes TIMESTAMP 19700101000000 - 2037+
Date & Time 1 bytes YEAR 1900 - 2155

Page 1
Sheet1

Notes:
Based on MySQL version 5.0.
* Storage will be # Of characters or bytes, Plus byte(s) To record length.
** These String data types are NOT case sensitive, Unless given the "binary" Attribute or have a case-
sensitive CHARACTER SET collation.
"E" Is an abbreviation for "exponent". E18 means move the decimal over 18 places (search "scientific
notation").
SERIAL DEFAULT VALUE attribute is an alias for "AUTO_INCREMENT NOT NULL UNIQUE".
SERIAL data type is a synonym for "BIGINT UNSIGNED AUTO_INCREMENT NOT NULL UNIQUE".
BOOL and BOOLEAN data types are synonyms for TINYINT(1).
REAL[(M,D)] And DOUBLE PRECISION[(M,D)] Datatypes are synonyms for DOUBLE[(M,D)].
REAL_AS_FLOAT system variable can make REAL[(M,D)] A synonym for FLOAT[(M,D)].
"UNSIGNED ZEROFILL" Attributes: ZEROFILL means if you specify an M value for an integer, It will be
padded with zeros to fill up the M spaces. Ex: M=6, Integer=247, Display="000247". UNSIGNED means no
negative values and often expands your range.
Corresponding non-binary and binary string types:
CHAR vs. BINARY
VARCHAR vs. VARBINARY
TEXT vs. BLOB

Page 2

You might also like