Tenho o costume de utilizar o DECLARE no SQL SQLSERVER tanto para criar stored procedures ou em outras operações, como em um select por exemplo.
Recentemente tentei fazer o uso do DECLARE no MySQL, sem estar dentro de uma stored procedures e percebi que o MySQL não dá suporte par esse tipo de operação e o seu uso só pode ser feito se estiver dentro de um BEGIN ...... END.
Uma solução para fazer o uso do DECLARE, para criar uma variável no mysql é utilizar somente o SET.
Por exemplo, no SQLSERVER:
DECLARE @tipo char(2)
DECLARE @tamanho int
SET @tipo = 'M'
SET @tamanho = 10
select @tipo, @tamanho;
Por exemplo, no MySQL:
SET @tipo = 'M';
SET @tamanho = 10;
select @tipo, @tamanho;
É isso, espero que tenha ajudado alguém!