Lenguaje de Consulta Estructurado.pptx

24
BASE DE DATOS Lenguaje de Consulta Estructurado SQL Structured Query Language Prof. Edwuard Castañeda Actualizado a 10/05/2014

Transcript of Lenguaje de Consulta Estructurado.pptx

Page 1: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOS

Lenguaje de Consulta Estructurado

SQLStructured Query Language

Prof. Edwuard CastañedaActualizado a 10/05/2014

Page 2: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSAGENDA

•Definición de Lenguaje de Consulta Estructurado.

•Tipos de Sentencias SQL• DDL (Data Definition Language)

o CREATEo ALTERo DROP

• DML (Data Manipulation Language)o INSERTo UPDATEo DELETE

Page 3: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL - Definición

Lenguaje Estándar de Comunicación con Base de

Datos, el cual está compuesto por un conjunto de

comandos que permiten manipular, administrar y

consultar datos requeridos para una organización.

Page 4: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL - Características

• Crear estructuras de base de datos y tablas.

• Administración de datos (agregar, actualizar, eliminar)

• Consulta de datos previamente almacenados.

• Ofrece una sintaxis de “fácil” aprendizaje.

Page 5: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias

• Lenguaje de Definición 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

Page 6: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición 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

excepción 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,

Page 7: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición 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

excepción de ‘_’. Ejecute la sentencia show tables; para verificar que la misma se

haya creado.

Page 8: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

EjemplosCREATE 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.

Page 9: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

Ejemplos - Definiendo una clave foránea.

1.- Definir el Indice:

index (campo foráneo),

2.- Definir la clausula foreign key

foreign key(campo_foraneo) references tabla_externa(campo_primario)

3.- Definir regla sobre actualización y eliminación de el registro referencia:

On update Cascade On Delete Restrict

Page 10: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

Ejemplos - Definiendo una clave foránea.

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);

Page 11: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

Ejemplos - Definiendo una clave foránea (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);

Page 12: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

CASCADE: Cuando se elimina o actualiza el registro en la tabla padre, de forma automática 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 foránea 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 operación de eliminación o actualización en la tabla padre.

Page 13: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

Sintaxis

ALTER TABLE nombre_de_tabla especificaciones

EjemploAgregando columnas (add):

Alter table apartamento add column ubicación varchar(100);

Alter table apartamento add column ubicación varchar(100) default

‘frente’;

Page 14: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

ALTER TABLE nombre_de_tabla especificaciones

EjemploCambiando 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 ubicación;

Page 15: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

ALTER TABLE nombre_de_tabla especificaciones

EjemploAgregando clave primaria:

Alter table apartamento add primary key (nro_apto);

Agregando clave foránea

Alter table apartamento add foreign key(id_duenho)

References duenho(id) on update cascade on delete restrict;

Page 16: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DDL

• Lenguaje de Definición de Datos (DDL).

DROP Database nombre_basededatos;

TABLE nombre_de_tabla;Ejemplo

Drop database clase1;

Drop table apartamento;

Page 17: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

INSERT: inserción de datos en una tabla.

SintaxisInsert into tabla (campos) value (valores);

insert into duenho(id, nombres, apellidos, sexo, fecha_nacimiento)

values(1,’Edwuard’,’Castañeda’,’M’,’1977-01-29’);

Page 18: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

INSERT: inserción 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’,’Pérez’,’F’,’1970-05-29’);

Page 19: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

INSERT: inserción 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,’Gómez’, ’Carlos’);

Page 20: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

INSERT: inserción 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’,’López’,’F’,’1954-03-08’),

(6,’Pedro’,’Jimenes’,’M’,’1980-07-19’);

Page 21: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

UPDATE: Actualización de datos en una tabla.

Sintaxis UPDATE TABLA

SET campo1 = valor1, campo2 = valor2, … campoN = valorNWHERE Condiciones (Si aplica);

Importante: Si no se especifican condiciones se actualizan

todos los registros.

Page 22: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

UPDATE: Actualización de datos en una tabla.

EjemploUPDATE duenho

SET fecha_nacimiento = ‘1976-02-24’WHERE id=2;

Se actualiza la fecha de nacimiento del duenho que tiene id

igual a 2;

Page 23: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

UPDATE: Actualización de datos en una tabla.

EjemploUPDATE apartamentos

SET id_duenho= 2WHERE piso=7;

Se actualiza el id_duenho de todos los apartamentos del piso 7

Page 24: Lenguaje de Consulta Estructurado.pptx

BASE DE DATOSSQL – Tipo de Sentencias - DML

• Lenguaje de Manipulación de Datos (DML).

DELETE: Eliminar datos en una tabla.

SintaxisDELETE FROM TableWHERE Condiciones (Opcional);

Ejemplo

DELETE FROM apartamentosWHERE piso=7;

Elimina todos los apartamentos del piso 7. Si no se especifican condiciones se eliminan todos los registros de la tabla.