# Objectives
+ In this chapter, you will learn to:
  + Describe data types
  + Describe numeric, date, string, and **NULL** 
  + Describe boolean expressions
  + Describe how to choose the right data type for columns

------------------------------------------------------------
TiDB supports all MySQL data types except spatial types (SPATIAL), including numeric types, string types, time and date types, and JSON types. In addition, JSON is still in the experimental stage.

- The data type definition is generally T (M [, D]), where:
  - T indicates a specific type.
  - M 
    - 1) indicates the maximum display length in integer types;
    - 2) Expressing precision in float numbers or fixed-point numbers;
    - 3) Indicates the maximum length in the character type.
  - The maximum value of M depends on the specific type.
  - D indicates the decimal length of a float number or fixed-point number.