MySQLマニュアルから「型」いろいろ

この記事は、2015年「MySQLマニュアルを読む」アドベントカレンダーの6日目です.


 MySQLは様々なデータ型を持っています。
これらを知るには、MySQL Reference Manual の、Chapter 11 Data Types を参照します。


 MySQL 5.6 から 5.7 へのもっとも大きな変更のひとつが、データ型の追加です。11.6 The JSON Data Type は、5.6までのマニュアルにはなかった新顔。 JSON_TYPE については後日何か書きたいと思いますので、ここではデータ型の概要(overview)を。
 型については、以下の一覧のとおり。大きく、「数値型」「日付時刻型」「文字型」、そして新しい「JSON型」あたりに分類して理解すれば良さそう。そのほか「SPATIAL型」も今後のキーワードになりそう(なってほしい)。また、ストレージエンジンによるデータ型の取り扱いが異なるという情報も、この章にて読むことができます。

11.1 Data Type Overview
 11.1.1 Numeric Type Overview
 11.1.2 Date and Time Type Overview
 11.1.3 String Type Overview
11.2 Numeric Types
 11.2.1 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
 11.2.2 Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC
 11.2.3 Floating-Point Types (Approximate Value) - FLOAT, DOUBLE
 11.2.4 Bit-Value Type - BIT
 11.2.5 Numeric Type Attributes
 11.2.6 Out-of-Range and Overflow Handling
11.3 Date and Time Types
 11.3.1 The DATE, DATETIME, and TIMESTAMP Types
 11.3.2 The TIME Type
 11.3.3 The YEAR Type
 11.3.4 YEAR(2) Limitations and Migrating to YEAR(4)
 11.3.5 Automatic Initialization and Updating for TIMESTAMP and DATETIME
 11.3.6 Fractional Seconds in Time Values
 11.3.7 Conversion Between Date and Time Types
 11.3.8 Two-Digit Years in Dates
11.4 String Types
 11.4.1 The CHAR and VARCHAR Types
 11.4.2 The BINARY and VARBINARY Types
 11.4.3 The BLOB and TEXT Types
 11.4.4 The ENUM Type
 11.4.5 The SET Type
11.5 Extensions for Spatial Data
 11.5.1 Spatial Data Types
 11.5.2 The OpenGIS Geometry Model
 11.5.3 Using Spatial Data
11.6 The JSON Data Type
11.7 Data Type Default Values
11.8 Data Type Storage Requirements
11.9 Choosing the Right Type for a Column
11.10 Using Data Types from Other Database Engines