Three commonly used MySQL data types

Three commonly used MySQL data types

Defining the type of data fields in MySQL is very important for optimizing your database.

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

Numeric Types

MySQL supports all standard SQL numeric data types.

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 stores 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 following table shows the storage and range required for each integer type.

type size Range (signed) Range (unsigned) use
TINYINT 1 byte (-128, 127) (0, 255) Small integer value
SMALLINT 2 bytes (-32 768, 32 767) (0, 65 535) Large integer values
MEDIUMINT 3 bytes (-8 388 608, 8 388 607) (0, 16 777 215) Large integer values
INT or INTEGER 4 bytes (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Large integer values
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) Very large integer value
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) Single-precision floating point value
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) Double-precision floating point value
DECIMAL For DECIMAL(M,D), if M>D, then M+2; otherwise, D+2 Depends on the values ​​of M and D Depends on the values ​​of M and D Decimal Values

Date and time types

The 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 you specify an illegal value that MySQL cannot represent.

The TIMESTAMP type has a special automatic update feature, which will be described later.

type Size (bytes) scope Format use
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD Date Value
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS Time value or duration
YEAR 1 1901/2155 YYYY Year value
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS Mixed date and time values
TIMESTAMP 4

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

The end time is 2147483647 seconds, Beijing time 2038-1-19 11:14:07, Greenwich time January 19, 2038 03:14:07

YYYYMMDD HHMMSS Mixed date and time values, timestamps

String Type

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

type size use
CHAR 0-255 bytes Fixed-length string
VARCHAR 0-65535 bytes Variable length string
TINYBLOB 0-255 bytes A binary string of no more than 255 characters
TINYTEXT 0-255 bytes Short text string
BLOB 0-65 535 bytes Long text data in binary form
TEXT 0-65 535 bytes Long text data
MEDIUMBLOB 0-16 777 215 bytes Medium-length text data in binary form
MEDIUMTEXT 0-16 777 215 bytes Medium length text data
LONGBLOB 0-4 294 967 295 bytes Very large text data in binary form
LONGTEXT 0-4 294 967 295 bytes Large Text Data

Notice:

The n in the brackets of char(n) and varchar(n) represents the number of characters, not the number of bytes. For example, CHAR(30) can store 30 characters.

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

BINARY and VARBINARY are similar to CHAR and VARCHAR, except that they contain binary strings rather than nonbinary strings. That is, they contain byte strings rather than character strings. This means that they have no character set, and sorting and comparison are based on the numeric value of the column value bytes.

A BLOB is a binary large object that can hold a variable amount of data. There are four BLOB types: TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB. The difference between them is the storage capacity.

There are 4 TEXT types: TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT. The corresponding 4 BLOB types have different maximum storage lengths, which can be selected according to actual conditions.

The above are the details of three commonly used MySQL data types. For more information about MySQL data types, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • MySQL bypasses granting information_schema objects and reports ERROR 1044 (4200) error
  • MySQL database design: detailed explanation of Schema operation method using Python
  • Explanation of monitoring parameters in performance and sys schema in MySQL 5.7 (recommended)
  • Error mysql Table ''performance_schema...Solution
  • How to use MySQL database analysis tool SchemaSpy
  • Can information_schema and mysql in mysql database be deleted?
  • Parsing MySQL's information_schema database
  • In-depth analysis of MySQL data type DECIMAL
  • About MYSQL, you need to know the data types and operation tables
  • Detailed explanation of the principles and usage of MySQL data types and field attributes
  • Detailed explanation of basic data types in mysql8.0.19
  • Detailed explanation of data types and schema optimization in MySQL

<<:  Detailed explanation of vue keepAlive cache clearing problem case

>>:  Looking at Tomcat's thread model from the connector component - BIO mode (recommended)

Recommend

jQuery implements time selector

This article example shares the specific code of ...

Understanding and using React useEffect

Table of contents Avoid repetitive rendering loop...

Detailed tutorial for installing MySQL on Linux

MySQL downloads for all platforms are available a...

Some settings of Div about border and transparency

frame: Style=”border-style:solid;border-width:5px;...

Several ways to backup MySql database

mysqldump tool backup Back up the entire database...

SpringBoot integrates Activiti7 implementation code

After the official release of Activiti7, it has f...

Installing Windows Server 2008 operating system on a virtual machine

This article introduces the installation of Windo...

Stealing data using CSS in Firefox

0x00 Introduction A few months ago, I found a vul...

js to achieve the effect of light switch

This article example shares the specific code of ...

Detailed tutorial on how to quickly install Zookeeper in Docker

Docker Quickly Install Zookeeper I haven't us...

MySQL chooses the right storage engine

When it comes to databases, one of the most frequ...

Solution to Tomcat server failing to open tomcat7w.exe

I encountered a little problem when configuring t...

Why is the disk space still occupied after deleting table data in MySQL?

Table of contents 1. Mysql data structure 2. The ...