Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de la base de datos. Esta gua pretende mostrar como crear, modificar y eliminar tablas de una base de datos MySQL; no obstante las sentencias implicadas en estas operaciones son extensas y complejas y abordarlas en su totalidad sera engorroso y poco prctico. Para ms informacin remtase al sitio oficial de MySQL Crear Tabla Crear la tabla hotel con la siguiente especificacin: - Identificador: entero sin signo, autoincrementable, llave primaria - nombre: longitud variable, 100 carcteres como mxima longitud y no nulo - activo: booleano, no nullo, 1 valor por defecto - url: longitud variable, 255 carcteres como mxima longitud, ndice nico CREATE TABLE hotel (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100) NOT NULL, descripcion TEXT, activo TINYINT(1) DEFAULT '1' NOT NULL, url VARCHAR(255), UNIQUE INDEX url_idx (url)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB; Ntese que hemos especificado codificacin UTF-8 y motor de almacenamiento InnoDB para esta tabla. (La codificacin y motor de almacenamiento en una instalacin MySQL por defecto son latin1 y MyISAM respectivamente) Crear la tabla trabajador con la siguiente especificacin: - Identificador: entero sin signo, autoincrementable, llave primaria - nombre: longitud variable, 100 carcteres como mxima longitud y no nulo - activo: booleano, no nullo, 1 valor por defecto CREATE TABLE trabajador (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100) NOT NULL, activo TINYINT(1) DEFAULT '1' NOT NULL, hotel_id INT UNSIGNED ) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB; Ver especificacin de una tabla desc hotel; Ver ndices de una tabla
show index from hotel; Modificar definicin de una columna Restringir los valores de hotel_id a valores no nulos en la tabla trabajador ALTER TABLE trabajador MODIFY COLUMN hotel_id INT UNSIGNED NOT NULL; Agregar columna Agregar la columna cdigo a la tabla trabajador ALTER TABLE trabajador ADD COLUMN codigo CHAR(11) NOT NULL; Crear ndice El cdigo del trabajador debe ser nico CREATE UNIQUE INDEX trabajador_codigo_idx USING BTREE on trabajador(codigo); Crear relacin Aqu se establece la relacin entre trabajador y hotel (Un hotel puede terner muchos trabajadores y un trabajador pertenece a un solo hotel). Cuando se elemina un hotel se eliminan todos sus trabajadores ALTER TABLE trabajador ADD CONSTRAINT trabajador_hotel_id_hotel_id FOREIGN KEY (hotel_id) REFERENCES hotel(id) ON DELETE CASCADE; Renombrar columna Cambiar el nombre de la columna url a slug de la tabla hotel y restringir los valores a no nulos y cadena vaca como valor por defecto ALTER TABLE hotel CHANGE COLUMN url slug varchar(255) NOT NULL DEFAULT ''; Renombrar tabla ALTER table trabajador RENAME TO trabajadores; Eliminar tabla DROP table tabla1[,tabla2, ...]
Eliminar ndice alter table drop index Eliminar columna Eliminar la columna cdigo de la tabla trabajadores ALTER TABLE trabajadores DROP COLUMN codigo; trabajador_codigo_idx;