What data types does MySQL support? Detailed explanation of data types in MySQL

MySQLWhat are the supported data types?MySQLDetails of data types in

MySQL data types

The types of data fields defined in MySQL are very important to the optimization of your database.

MySQL supports a variety of types, which can be roughly divided into three categories: numeric, date/time, and string (character) types.


Numeric type

MySQL databaseAll standard SQL numeric data types are supported.

These types include strict numeric data types (INTEGER, SMALLINT, DECIMAL, and NUMERIC), and approximate numeric data types (FLOAT, REAL, and DOUBLE PRECISION).

The keyword INT is a synonym for INTEGER and the keyword DEC is a synonym for DECIMAL.

The BIT data type holds bit field values ​​and supports MyISAM, MEMORY, InnoDB, and BDB tables.

As an extension to the SQL standard, MySQL also supports the integer types TINYINT, MEDIUMINT, and BIGINT.The table below shows the storage and range required for each integer type.

Types of大小range (signed)range (unsigned)Use
TINYINT1 byte(-128, 127)(0, 255)small integer value
SMALLINT2 byte(-32 768, 32 767)(0, 65 535)large integer value
MEDIUMINT3 byte(-8 388 608, 8 388 607)(0, 16 777 215)large integer value
INT or INTEGER4 byte(-2 147 483 648, 2 147 483 647)(0, 4 294 967 295)large integer value
BIGINT8 byte(-9 233 372 036 854 775 808, 9 223 372 036 854 775 807)(0, 18 446 744 073 709 551 615)very large integer value
FLOAT4 byte(-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)single precision
floating point value
DOUBLE8 byte(-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)double precision
floating point value
DECIMALFor DECIMAL(M,D), if M>D, it is M+2 else it is D+2depends on the values ​​of M and Ddepends on the values ​​of M and Ddecimal value

date and time type

Date and time types that represent time values ​​are DATETIME, DATE, TIMESTAMP, TIME, and YEAR.

Each time type has a range of valid values ​​and a "zero" value, which is used when specifying an invalid value that MySQL cannot represent.

The TIMESTAMP type has a proprietary auto-update feature that will be described later.

Types of大小
(byte)
rangeformatUse
DATE31000-01-01 / 9999-12-31YYYY-MM-DDdate value
TEAM3‘-838:59:59'/'838:59:59'HH: MM: SStime value or duration
YEAR11901/2155YYYYyear value
Datetime81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SSMixed date and time values
TIMESTAMP41970-01-01 00:00:00/2037 年某时YYYYMMDDHHMMSSmixed date and time values, timestamp

String type

String types refer to CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, and SET.This section describes how these types work and how to use them in queries.

Types of大小Use
Char0-255 bytesfixed-length string
VARCHAR0-65535 bytesvariable length string
TINYBLOB0-255 bytesbinary string of up to 255 characters
TINYTEXT0-255 bytesshort text string
Blob0-65 535 byteslong text data in binary form
TEXT0-65 535 byteslong text data
MEDIUM BLOB0-16 777 215 bytesMedium-length text data in binary form
MEDIUM TEXT0-16 777 215 bytesmedium length text data
LONGBLOB0-4 294 967 295 bytesVery large text data in binary form
LONGTEXT0-4 294 967 295 bytesvery large text data

The CHAR and VARCHAR types are similar, but they are stored and retrieved differently.They also differ in terms of their maximum length and whether trailing spaces are preserved.No case conversion is done during storage or retrieval.

The BINARY and VARBINARY classes are similar to CHAR and VARCHAR, except that they contain binary strings instead of non-binary strings.That is, they contain byte strings instead of character strings.This means they have no character set, and sorting and comparison is based on the numeric values ​​of the column value bytes.

A BLOB is a binary large object that can hold a variable amount of data.There are 4 BLOB types: TINYBLOB, BLOB, MEDIUMBLOB and LONGBLOB.They just differ in the maximum length of the value they can hold.

There are 4 TEXT types: TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT.These correspond to the 4 BLOB types, with the same maximum length and storage requirements.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "What are the data types supported by MySQL? Detailed Explanation of Data Types in MySQL" to help you.

Welcome to share the link of this article:https://www.chenweiliang.com/cwl-466.html

Welcome to the Telegram channel of Chen Weiliang's blog to get the latest updates!

🔔 Be the first to get the valuable "ChatGPT Content Marketing AI Tool Usage Guide" in the channel top directory! 🌟
📚 This guide contains huge value, 🌟This is a rare opportunity, don’t miss it! ⏰⌛💨
Share and like if you like!
Your sharing and likes are our continuous motivation!

 

Comment

Your email address will not be published. Required fields * Callout

scroll to top