viernes, 2 de mayo de 2014

Sentencias de Definición de Datos


1. CREATE DATABASE
Crea una base de datos con el nombre dado.
Sintaxis:
CREATE DATABASE [IF NOT EXISTS] BaseDeDatos;
Ejemplo:
CREATE DATABASE IF NOT EXISTS nomina;


2. CREATE TABLE
Crea una tabla con el nombre dado.
Sintaxis:
CREATE TABLE [IF NOT EXISTS] tabla (
Campo1  TIPO(longitud) [NOT NULL o NULL],
Campo2  TIPO(longitud) [NOT NULL o NULL],
CampoN  TIPO(longitud) [NOT NULL o NULL],
PRIMARY KEY (Campo),
UNIQUE (Campo),
FOREIGN KEY (CampoDeEstaTabla) REFERENCES OtraTabla(CampodeOtraTabla)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE = INNODB;

Atributos de columna
Atributo
Significado
NULL
Se permiten valores nulos, atributo por omisión si no se especifica lo contrario.
NOT NULL
No se permiten valores nulos.
DEFAULT valor
Valor por omisión que se asigna a la columna.
AUTO_INCREMENT
El valor se asigna automáticamente incrementando en uno el máximo valor registrado  hasta el momento.
PRIMARY KEY
Señala al campo como clave primaria, implícitamente también lo declara como not null. Solo puede haber una sola clave primaria por tabla.

Aunque la creación de una clave primaria puede declararse como atributo de columna, es conveniente definirla como restricción de tabla, como se verá enseguida.

Restricciones de Tabla    
Restricción
Significado
PRIMARY KEY
Define el campo que servirá como clave primaria.
UNIQUE
Define los campos en las que no pueden duplicar valores.
FOREIGN KEY(Campo)
REFERENCES tabla2 (campo2)
Define un campo que es clave foránea en la tabla actual y es clave principal en otra tabla. Esto asegura que no se realicen referencias a registros que no existen.

Ejemplo:
CREATE TABLE IF NOT EXISTS empleado(
codigo INT(5) NOT NULL,
nombre VARCHAR(50) NOT NULL,
ingreso DATE NOT NULL,
num_hijos INT(2) UNSIGNED NOT NULL,
tipo ENUM("Fijo","Temporal") NOT NULL,
tiempo_contrato TINYINT(2) UNSIGNED DEFAULT 1 NOT NULL,
PRIMARY KEY(codigo)
) ENGINE=innodb;

  
3. ALTER TABLE
Cambia la estructura de una tabla existente.
Sintaxis:
(Para agregar campos)
ALTER TABLE tabla ADD nuevocampo definicióndecampo [FIRST o AFTER campo]
(Para modificar campos)
ALTER TABLE tabla CHANGE actualnombredecampo nuevonombredecampo definicióndecampo [FIRST o AFTER campo]
(Para eliminar campos)
ALTER TABLE tabla DROP campo;
(Para agregar llave primaria)
ALTER TABLE tabla ADD PRIMARY KEY(campoprimario)
(Para eliminar llave primaria)
ALTER TABLE tabla DROP PRIMARY KEY;
(Para renombrar tabla)
ALTER TABLE actualnombredetabla RENAME nuevonombredetabla

Ejemplos:
Agrega a la tabla 'empleado' el campo 'sueldo' (con 5 enteros y dos decimales) luego del campo ingreso.
ALTER TABLE empleado ADD sueldo FLOAT(7,2) AFTER ingreso;
Modifica a la tabla 'empleado' el campo sueldo agregando NOT NULL.
ALTER TABLE empleado CHANGE sueldo sueldo FLOAT(7,2) NOT NULL;
Elimina de la tabla 'empleado' el campo 'ciudad'
ALTER TABLE empleado DROP ciudad;
Renombra la tabla 'empleado' como 'obrero' 
ALTER TABLE empleado RENAME obrero;
Elimina de la tabla 'empleado' la llave primaria.
ALTER TABLE empleado DROP PRIMARY KEY;
Asignar al campo 'codigo' de la tabla 'empleado' como llave primaria.
ALTER TABLE empleado ADD PRIMARY KEY(codigo);


4. DROP TABLE
Borra una o más tablas.
Sintaxis:
DROP TABLE tabla
Ejemplo:
Borra la tabla 'empleados'.
DROP TABLE empleados


5. DROP DATABASE
Borra todas las tablas en la base de datos y borra la base de datos
Sintaxis:
DROP DATABASE basededatos
Ejemplo:
Borra la base de datos 'nomina'
DROP DATABASE nomina





No hay comentarios:

Publicar un comentario