参考サイト:http://d.hatena.ne.jp/yamaback/20110819/1313735667

CREATE TABLE TABLE_A(SAMPLE VARCHAR(400));

/*暗号化:*/
INSERT INTO TABLE_A (SAMPLE) VALUES(HEX(AES_ENCRYPT('sample', 'password')));

/*復号化:*/
SELECT CONVERT(AES_DECRYPT(UNHEX(SAMPLE), 'password') USING utf8) FROM TABLE_A;

VARCHARに格納できるようにHEX関数を利用する。
AES_ENCRYPTで暗号化すると、文字数は以下の計算式の通りになるため、最低でも16文字必要。
16 × (trunc(string_length / 16) + 1)
HEX関数を利用するため、文字列として保存するにはさらに4倍は必要。

バイナリのまま登録するのであれば、VARBINARYを使用すればいい。

CREATE TABLE TABLE_A(SAMPLE VARBINARY(100));

/*暗号化:*/
INSERT INTO TABLE_A (SAMPLE) VALUES(AES_ENCRYPT('sample', 'password'));

/*復号化:*/
SELECT CONVERT(AES_DECRYPT(SAMPLE, 'password') USING utf8) FROM TABLE_A;