Mysql Basico
Enviado por alfonsouitzil2 • 19 de Agosto de 2013 • 881 Palabras (4 Páginas) • 283 Visitas
CREAR / MODIFICAR / ELIMINAR TABLAS EN MYSQL
enero 24, 2011 • por sedlav • in Base de Datos, BSD, GNU/Linux, MySql
Esta guía forma parte de la serie: Administrar MySQL desde la línea de comandos.
Una de las tareas frecuentes durante el proceso de desarrollo de un proyecto es el cambio de la estructura de la base de datos. Esta guía 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 sería engorroso y poco práctico. Para más información remítase al sitio oficial de MySQL
Crear Tabla
Crear la tabla hotel con la siguiente especificación:
• - Identificador: entero sin signo, autoincrementable, llave primaria
• - nombre: longitud variable, 100 carácteres como máxima longitud y no nulo
• - activo: booleano, no nullo, 1 valor por defecto
• - url: longitud variable, 255 carácteres como máxima 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;
Nótese que hemos especificado codificación UTF-8 y motor de almacenamiento InnoDB para esta tabla. (La codificación y motor de almacenamiento en una instalación MySQL por defecto son latin1 y MyISAM respectivamente)
Crear la tabla trabajador con la siguiente especificación:
• - Identificador: entero sin signo, autoincrementable, llave primaria
• - nombre: longitud variable, 100 carácteres como máxima 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 especificación de una tabla
desc hotel;
Ver índices de una tabla
show index from hotel;
Modificar definición 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 código a la tabla trabajador
ALTER TABLE trabajador ADD COLUMN codigo CHAR(11) NOT NULL;
Crear índice
El código del trabajador debe ser único
CREATE UNIQUE INDEX trabajador_codigo_idx USING BTREE
on trabajador(codigo);
alter table alumno add index(matricula),;
alter table asignatura add index(clave alumno);
Crear relación
Aquí se establece la relación 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;
Alter table alumno add constraint
TBRAlumnoAsignatura
...