O tipo Double é um tipo de dados de ponto flutuante de precisão dupla e é usado para representar números com decimais maiores.
O tipo Decimal é um tipo de dados que representa números decimais exatos e é usado para cálculos financeiros e monetários;
O tipo Real Representa um valor com ponto flutuante. Oferece uma grande precisão e uma extensa faixa de valores;
Os tipos de dados float e double são usados para guardar números reais, mas a diferença entre eles é a precisão.
O tipo Float tem uma precisão de 6 casas decimais e o Double tem uma precisão de 10 casas decimais.
Bit e Boolean = A diferença basicamente será em relação ao tamanho de armazenamento e aos valores que poderão ser armazenados. O tinyint pode comportar valores inteiros de modo geral (contanto que não ultrapasse sua faixa de tamanho), já o tipo bit só aceitará o binário.
Enum e Set =
Os valores na definição do tipo ENUM são dados na forma de uma lista de strings entre aspas separadas por virgulas. Internamente, o MySQL armazena as strings como números inteiros, usando os valores 1 a n para uma coluna com n membros na enumeração.
O tipo de dados SET, como o ENUM, é declarado usando-se uma lista de Strings entre aspas separadas por virgulas que definem seus membros válidos. Contudo, diferentemente de ENUM, uma determinada coluna do tipo SET pode receber a atribuição de um valor consistindo de qualquer combinação desses membros.