Está en la página 1de 24

BASE DE DATO

Lenguaje de Consulta
Estructurado
SQL
Structured Query Language
Prof. Edwuard Castaeda
Actualizado a 10/05/2014

BASE DE DATO
AGENDA

Definicin de Lenguaje de Consulta Estructurado.

Tipos de Sentencias SQL


DDL (Data Definition Language)
o CREATE
o ALTER
o DROP
DML (Data Manipulation Language)
o INSERT
o UPDATE
o DELETE

BASE DE DATO
SQL - Definicin

Lenguaje Estndar de Comunicacin con Base de


Datos, el cual est compuesto por un conjunto de
comandos que permiten manipular, administrar y
consultar datos requeridos para una organizacin.

BASE DE DATO
SQL - Caractersticas

Crear estructuras de base de datos y tablas.


Administracin de datos (agregar, actualizar, eliminar)
Consulta de datos previamente almacenados.
Ofrece una sintaxis de fcil aprendizaje.

BASE DE DATO
SQL Tipo de Sentencias

Lenguaje de Definicin de Datos (DDL).


Conjunto de Sentencias que afectan la estructura de los
elementos pertenecientes a una base de datos (Base de
datos, Tablas, Vistas, Funciones, Triggers, Indices,
Secuencias, Tipos de datos, entre otras)
Sentencias:
CREATE, ALTER, DROP

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Ejemplos
CREATE DATABASE nombre_base_de_datos;
CREATE DATABASE clase1;
Crea una base de datos de nombre clase1.
Recomendaciones
Para el nombre de la base de datos, no utilice espacios, ni caracteres especiales a
excepcin de _.
Ejecute la sentencia show databases; para verificar que la misma se haya creado, y
luego escriba la sentencia use clase1, para posicionarnos en la base de datos
creada,

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Sintaxis
CREATE TABLE nombre_de_tabla(
campo1 tipo_de_dato otras_propiedades,
campoN tipo_de_dato otras_propiedades
)
Recomendaciones
Para el nombre de las tablas, no utilice espacios, ni caracteres especiales a
excepcin de _. Ejecute la sentencia show tables; para verificar que la misma se
haya creado.

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Ejemplos
CREATE TABLE duenho(
id integer primary key,
nombres varchar(50)NOT NULL,
apellidos varchar(50) not null,
sexo character(1),
fecha_nacimiento date
);
Recomendaciones
Ejecute la sentencia show tables; para verificar que la misma se haya creado.
Ejecute describe duenho para verificar los campos creados.

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Ejemplos - Definiendo una clave fornea.
1.- Definir el Indice:
index (campo forneo),
2.- Definir la clausula foreign key
foreign key(campo_foraneo) references tabla_externa(campo_primario)
3.- Definir regla sobre actualizacin y eliminacin de el registro referencia:
On update Cascade On Delete Restrict

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Ejemplos - Definiendo una clave fornea.
CREATE TABLE apartamento(
nro_apto character(5) primary key,
piso integer NOT NULL,
cantidad_habitantes integer,
id_duenho integer not null,

index (id_duenho),
foreign key(id_duenho) references
duenho(id)
on update cascade on delete
restrict
);

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Ejemplos - Definiendo una clave fornea (sin declarar index y
colocando constraint)
CREATE TABLE apartamento(
nro_apto character(5) primary key,
piso integer NOT NULL,
cantidad_habitantes integer,
id_duenho integer not null,

constraint fk_apto_duenho foreign


key(id_duenho) references
duenho(id)
on update cascade on delete
restrict

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


CASCADE: Cuando se elimina o actualiza el registro en la tabla padre, de forma
automtica se elimina o actualiza los registros coincidentes en la tabla hija.
SET NULL: Cuando elimina o actualiza el registro en la tabla padre se colocan
en NULL la(s) de clave fornea en la tabla hija. Siempre y cuando no hayan sido
definidas como NOT NULL.
NO ACTION/RESTRICT: Al intentar eliminar o actualizar un valor de clave primaria,
este no ser permitido si en la tabla referenciada hay registros relacionados.
InnoDB rechaza la operacin de eliminacin o actualizacin en la tabla padre.

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


Sintaxis
ALTER TABLE nombre_de_tabla especificaciones
Ejemplo
Agregando columnas (add):
Alter table apartamento add column ubicacin varchar(100);
Alter table apartamento add column ubicacin varchar(100) default
frente;

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


ALTER TABLE nombre_de_tabla especificaciones
Ejemplo
Cambiando nombre de columnas(change):
Alter table apartamento change localizacion ubicacion;
Cambiando el tipo de dato (modify)
Alter table apartamento modify ubicacion varchar(100);
Eliminando columna
Alter table apartamento drop ubicacin;

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


ALTER TABLE nombre_de_tabla especificaciones
Ejemplo
Agregando clave primaria:
Alter table apartamento add primary key (nro_apto);
Agregando clave fornea
Alter table apartamento add foreign key(id_duenho)
References duenho(id) on update cascade on delete restrict;

BASE DE DATO
SQL Tipo de Sentencias - DDL

Lenguaje de Definicin de Datos (DDL).


DROP Database nombre_basededatos;
TABLE nombre_de_tabla;
Ejemplo
Drop database clase1;
Drop table apartamento;

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


INSERT: insercin de datos en una tabla.
Sintaxis
Insert into tabla (campos) value (valores);
insert into duenho(id, nombres, apellidos, sexo, fecha_nacimiento)
values(1,Edwuard,Castaeda,M,1977-01-29);

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


INSERT:

insercin de datos en una tabla.

Sintaxis (sin especificar los campos)


Insert into tabla values (valores); Deben respetarse el orden en el
que fueron definidos los campos con sus respectivos valores.
insert into duenho values(2,Ana,Prez,F,1970-05-29);

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


INSERT: insercin de datos en una tabla.
Sintaxis (Sin importar el orden de los campos)
Insert into tabla (campo1, campo3, campo2) values (valor1,
valor3,valor2);
Ejemplo
insert into duenho(id, apellidos, nombres)
values(3,Gmez, Carlos);

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


INSERT: insercin de datos en una tabla.
Sintaxis (Insertando varios registros)
Insert into tabla (campos) values (valores),(valores),,(valores);
Ejemplo
insert into duenho(id, nombres, apellidos, sexo, fecha_nacimiento)
values(4,Julia,Ramirez,F,1971-12-29),
(5,Maria,Lpez,F,1954-03-08),
(6,Pedro,Jimenes,M,1980-07-19);

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


UPDATE: Actualizacin de datos en una tabla.
Sintaxis
UPDATE TABLA
SET campo1 = valor1,
campo2 = valor2,
campoN = valorN
WHERE Condiciones (Si aplica);
Importante: Si no se especifican condiciones se actualizan
todos los registros.

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


UPDATE: Actualizacin de datos en una tabla.
Ejemplo
UPDATE duenho
SET fecha_nacimiento = 1976-02-24
WHERE id=2;
Se actualiza la fecha de nacimiento del duenho que tiene id
igual a 2;

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


UPDATE:

Actualizacin de datos en una tabla.

Ejemplo
UPDATE apartamentos
SET id_duenho= 2
WHERE piso=7;
Se actualiza el id_duenho de todos los apartamentos del piso 7

BASE DE DATO
SQL Tipo de Sentencias - DML

Lenguaje de Manipulacin de Datos (DML).


DELETE:

Eliminar datos en una tabla.

Sintaxis
DELETE FROM Table
WHERE Condiciones (Opcional);
Ejemplo
DELETE FROM apartamentos
WHERE piso=7;
Elimina todos los apartamentos del piso 7. Si no se especifican
condiciones se eliminan todos los registros de la tabla.