Blog de Gonzalo

TIPO DE DATO ENUM EN MYSQL

El tipo de dato enum en mysql representa una enumeración. Puede tener un máximo de 65535 valores distintos y es una cadena cuyo valor se elige de una lista enumerada de valores permitidos que se especifica al definir el campo y puede ser una cadena vacía e incluso null. Dicha lista de valores comienza en 1 no como los arrays en los lenguajes de programación que comienzan en 0.
Este tipo de dato hay que usarlo cuando en una base de datos se define un tipo, por ejemplo, tenemos un sitio web con diferentes tipos de usuario y va a ser muy limitado pues lo ideal es definir un campo "tipo_usuario" de tipo enum o definir unas categrías en una tienda, etc...
El tipo de dato enum en MySQL es más eficiente que el tipo varchar.
Código de creación de la tabla y de inserción / modificación:


 create table usuarios
id int unsigned auto_increment,
email char(30),
nombre varchar(30),
telefono varchar(15),
password varchar(10),
tipo_usuario enum('administrador','usuario'),
primary key(email)
);

//En el ejemplo se creará el usuario de tipo "administrador" (tipo 1)
insert into usuarios(email,nombre,telefono,passsword,tipo_usuario)
values('pepe@email.com','Pepe Montoya','655555555',1);

//El siguiente ejemplo también es válido
insert into usuarios(email,nombre,telefono,passsword,tipo_usuario)
values('pepe@email.com','Pepe Montoya','655555555','administrador');

//Un update sería igual que en el insert

//para buscar por el tipo enum sería
select nombre,email,telefono from usuarios where tipo_usuario='usuario';

Os invito a ver el post: tipo de dato set en mysql y los enums en php.
En el siguiente post explico como recuperar valores campo enum en mysql para poder usarlos, por ejemplo, en un select de html.

Compartir en twitter