Toda URL que puedas almacenar en una tabla se almacena como CHAR, VARCHAR o BLOB, según tu quieras almacenarla. MySQL
no posee tipos de campo definidos por usuario (al menos que yo sepa hasta ahora), como es el caso, por ejemplo, de Oracle, por lo que los datos se almacenan y recuperan como alguno de esos tipos de dato.
Entonces, el problema de que sea o no una URL,
no es algo que la base de datos pueda manejar. Te repito: no existe el tipo de dato URL.
El uso de un string recuperado de la base que vayas a usar como URL es un problema que tienes que resolver en la interfase de usuario, no en la base de datos. Es asunto de PHP, JavaScript, VB.NET, ASP.NET, Java, C#.net o lo que sea que uses para programar. Lo que tienes que lograr es validar el string ANTES de almacenarlo y DESPUES de recuperarlo. Fuera de eso, la base de datos no tiene nada que hacer con el problema.
Si tu consulta es
cuál es el código PHP para hacerlo, sería mejor que postearas el problema en el foro de
PHP, este es
Bases de Datos.