Anda di halaman 1dari 29

Introducción al

lenguaje SQL
SQL
El lenguaje SQL fue diseñado para trabajar con motores de base
datos (DBMS)
Con el SQL se puede definir, manipular y controlar una base de
datos relacional.
SQL
SQL básicamente esta compuesto por 2 tipos de comandos
los DDL que permiten crear y definir nuevas bases de datos,
campos e índices.
los DML que permiten generar consultas para ordenar, filtrar y
extraer datos de la base de datos.
Sentencias de manipulación
(DML)
Una vez creada la base de datos con sus tablas, debemos poder
insertar, modificar
y borrar los valores de las filas de las tablas. Para poder hacer esto,
el
SQL nos ofrece las siguientes sentencias: INSERT para insertar,
UPDATE para
modificar y DELETE para borrar. Una vez hemos insertado valores
en nuestras
tablas, tenemos que poder consultarlos. La sentencia para hacer
consultas a
una base de datos con el SQL es SELECT FROM. Veamos a
continuación estas
sentencias.
Comandos DML (lenguaje manipulación datos)

Comandos DML
Comando Descripción
Utilizado para consultar registros de la
SELECT base de datos que satisfagan un criterio
determinado
Utilizado para cargar lotes de datos en la
INSERT
base de datos en una única operación.
Utilizado para modificar los valores de los
UPDATE
campos y registros especificados
Utilizado para eliminar registros de una
DELETE
tabla de una base de datos
Inserción de filas en una
tabla
La sentencia INSERT INTO VALUES nos permite ingresar registros
a una tabla la sintaxis es la siguiente.
insert into nombre_tabla
(columna1,columna2,columna3…..,columnan) values
(valor1,valor2,valor3…….valorn)

Los valores (valor1,valor2,valor3,…..,valorn) deben pertenecer al


mismo tipo de dato de las columnas.
Inserción de filas en una
tabla
Insertar los datos de un empleado dada la siguiente tabla.
insert into empleado(idempleado,nombre,apellido,dirección,sueldo)
values(1, ’Juan’, ’Sanchez’, ’Sauces 2’,1000)

Insert into empleado(idempleado,nombre,apellido,dirección,sueldo)


values(2, ’Alex’, ’Campoverde’, ’Sauces 3’,800)

Tengo dos registros en la tabla empleado


Borrado de filas de una
tabla
Para borrar valores de algunas filas de una tabla podemos utilizar la sentencia
DELETE FROM WHERE.
Su formato es el siguiente:
DELETE FROM NOMBRE_TABLA WHERE CONDICION.
Ejemplo si quiero borrar el registro del empleado con id=2
DELETE FROM EMPLEADO WHERE IDEMPLEADO=2
En cambio, si lo que quisiéramos conseguir es borrar todas las filas de una
tabla, entonces sólo tendríamos que poner la sentencia DELETE FROM, sin
WHERE.
DELETE FROM EMPLEADO
Modificación de filas de una
tabla
Si quisiéramos modificar los valores de algunas filas de una tabla,
tendríamos
que utilizar la sentencia UPDATE SET WHERE. A continuación
presentamos su
formato:
UPDATE NOMBRE_TABLA SET
COLUMNA1=VALOR1,COLUMNA2=VALOR2,……
WHERE CONDICIONES.
EJEMPLO
Suponer que se quiere cambiar el sueldo en 500 dólares del
empleado con id=1
UPDATE EMPLEADO SET SUELDO=500 WHERE
IDEMPLEADO=1
Consultas a una base de
datos relacional
Para hacer consultas sobre una tabla con el SQL es preciso utilizar la
sentencia
SELECT FROM, que tiene el siguiente formato:
SELECT COLUMNA1 , COLUMNA2, COLUMNA3,…….COLUMNAN
FROM
NOMBRE_TABLA
Se muestran todos los registros con las columnas o campos
seleccionados.
Si quisiera seleccionar todas las columnas de mi tabla se podría
utilizar “*”
SELECT * FROM NOMBRE_TABLA
Consultas a una base de
datos relacional
1) Ejemplo consultar los registros de la tabla empleado,
pero solo presentar el nombre y apellidos de estos.
SELECT NOMBRE, APELLIDO FROM EMPLEADO
2) Consultar los registros de la tabla empleado y presentar
todas sus columnas o campos
SELECT * FROM EMPLEADO
Consultas a una base de datos relacional con la
clausula “where”

Con la sentencia SELECT FROM podemos seleccionar columnas de una


tabla,
pero para seleccionar filas de una tabla es preciso añadirle la cláusula
WHERE.
El formato es:
SELECT COLUMNA1 , COLUMNA2, COLUMNA3,…….COLUMNAN FROM
NOMBRE_TABLA WHERE CONDICION(S)
Ejemplo
“Seleccionar todos los registros o filas de la tabla empleado donde el
sueldo de ellos supere los 799 dólares presente el
nombre,apellido,sueldo.”
Select nombre,apellido,sueldo from empleado
Where sueldo>799
Consultas a mas de una tabla
Utilicemos de Ejemplo el Siguiente Modelo Relacional (Lógico)
Mediante código SQL (DML), realizar las siguientes instrucciones

Registrar Los Estudiantes del 3ero Informática.


Registrar 5 Profesores.
Registrar 1 notificación, para los 5 primeros estudiantes.
Por parte de cualquier profesor.
Registrar 2 notificaciones, para los 2 últimos estudiantes
por parte de cualquier profesor.
Actualizar el motivo de las notificaciones a “Sin motivo”,
para los tres primeros estudiantes.
Borrar las notificaciones al ultimo estudiante .
Mediante código SQL (DML), realizar las siguientes
instrucciones
Presentar todos los profesores. Campos (cedula, nombre, apellido)
Presentar todas las notificaciones. campos (motivo, fecha ingreso,
estudiante_matricula)
Presentar todos los estudiantes. Campos (matricula, nombre,
apellido, curso).
Mediante código SQL (DDL y DML), realizar las
siguientes instrucciones
Adicionar la columna sueldo a la tabla profesor.
Además el sueldo debe ser mayor a o igual a 366;
Asignar sueldo a cada uno de los profesores.
Incrementar el sueldo del profesor (numero 3), en un 20% con
respecto al sueldo anterior.
Actualizar la fecha de ingreso de las 5 primeras notificaciones a
“2016-08-31”.
Borrar todas las notificaciones del día de HOY.
Presentar todos los motivos de las notificaciones de los estudiantes,
los campos a presentar son: nombre , apellido, motivo
Consultas a mas de una tabla
Para hacer consultar a mas de una tabla se la puede realizar de la siguiente
manera :
Instrucción en forma general
SELECT CAMPOS
FROM TABLA1, TABLA2, TABLA3,…….TABLA N
WHERE
CONDICIONES
Recordar que al realizar la sentencia SQL Select Campos from Tabla1, Tabla2
Lo que se realiza internamente es un producto CRUZ es decir cada fila de la
tabla1 se “relacionan” con todas las filas de la tabla 2, es por ello que debe
tener en cuenta de que los registros que me genera esta nueva consulta (Tabla)
no todos tienen concuerdan o guardan relación alguna , para esto debe filtrar
esos registros con una clausula WHERE.
Análisis de la consulta
En la tabla notificación se han ingresado 9 notificaciones ese
debería de ser el numero de registros final de la consulta.
Si ejecutara la siguiente consulta.
select matricula, nombres, apellidos, curso, motivo ,fecha
from alumno, notificacion
Sin ninguna condición el resultado no seria el deseado ya que se
realiza un producto cruz entre las tablas alumno y notificación
siendo este el resultado.
Análisis De La Consulta
Realizar Las Siguientes
Consultas
Se pide presentar todas las notificaciones que los alumnos poseen
los campos o columnas a presentar son nombre, apellido,
curso, motivo, fecha.
Como podemos apreciar en esta consulta se involucran dos tablas
alumno y notificaciones.
Entonces la sentencia SQL podría ser la siguiente
SELECT nombre, apellido, curso, motivo ,fecha
FROM alumno, notificación
WHERE matricula=alumno
“Note la clausula Where, es hay donde se hace el filtro o
condición, la condición depende de la clave foránea que
enlaza la tabla alumno con notificación para así poder saber
a que alumno se le realizo dicha notificación.”
Análisis de la consulta
Si nos damos cuenta en las columnas matricula que pertenece a la
tabla “Alumno” y la columna alumno que pertenece a la tabla
“Notificación” en donde están son iguales es donde se dan los
registros validos.
“Es decir se relacionan la clave primaria de la tabla alumno
con la clave foránea de notificación que referencia
precisamente a la tabla alumno.”
Es por ello que cuando una notificación es ingresada esta necesita
tener una referencia a un alumno mediante su clave foránea.
SELECT nombres, apellidos, curso, motivo ,fecha_ingreso
FROM alumno, notificación
WHERE matricula=alumno
CONSULTAS A MAS DE UNA TABLA
Se pide realizar la siguiente consulta en base al diseño antes
presentado.

Se pide presentar todas las notificaciones que los alumnos poseen
los campos o columnas a presentar son nombre_alumno,
apellido_alumno, curso, motivo, fecha_ingreso,
apellido_profesor, nombre_profesor.

Si analizamos la consulta nos podemos dar cuenta rápidamente que


esta involucra 3 tablas (alumno, notificación y profesor).
CONSULTAS A MAS DE UNA
TABLA
En esta consulta aparte de tener la relación entre la clave
primaria de la tabla “Alumno” con la clave foránea de la
tabla “Notificación” que referencia a la tabla “Alumno”.
También debe haber otra relación entre la clave primaria de la
tabla “Profesor” con la clave foránea de la tabla
“Notificación” que referencia a la tabla “Profesor”.

SELECT alumno.nombres, alumno.apellidos, curso, motivo


fecha_ingreso, profesor.apellidos, profesor.nombres
FROM alumno, notificacion, profesor
WHERE matricula=alumno and profesor=clave
CONSULTAS A MAS DE UNA
TABLA
REALIZAR LAS SIGUIENTES
CONSULTAS
 Se pide presentar todas las notificaciones los campos a presentar son
los siguientes
Motivo, fecha_ingreso, nombre_profesor,apellido profesor.

 Se pide presentar todas las notificaciones hechas por el profesor con


clave =‘1’
Los campos a presentar son los siguientes.
Motivo, fecha_ingreso, nombre_profesor,apellido profesor.

 Se pide presentar todas las notificaciones que tiene el estudiante con


matricula=‘1’
Los campos a presentar son.
Apellido_alumno,nombre_alumno,motivo,fecha_ingreso, apellido_profesor.
MODELO SISTEMA_BIBLIOTECARIO (PRESTAMOS Y
DEVOLUCIONES)
Realizar el código sql , para lo
siguiente
Insertar 5 clientes
Insertar 3 empleados
Insertar 3 libros, Fundamentos Base Datos, Java, Física 1.
Insertar 3 ejemplares por cada libro. El campo estado es “d”.
Se pide efectuar por lo menos 7 prestamos, y el campo tipo es
igual a “p.
REALIZAR LAS SIGUIENTES
CONSULTAS
SE PIDE PRESENTAR EL TITULO, ISBN , EDITORIAL DE TODOS LOS LIBROS.
SE PIDE PRESENTAR EL TITULO ,ISBN DE TODOS LOS LIBROS DE LA EDITORIAL
(USTED ELIGE DE QUE EDITORIAL DESEA PRESENTAR LA INFORMACIÓN).
SE PIDE PRESENTAR TITULO, ISBN, DE TODOS LIBROS ESCRITOS POR (USTED ELIGE
EL NOMBRE DEL AUTOR).
SE PIDE PRESENTAR TODOS LOS EJEMPLARES DEL LIBRO “PROGRAMACION EN JAVA”.
PRESENTAR EL TITULO_LIBRO, FECHA_PRESTAMO, NOMBRE_CLIENTE, DE TODOS
LOS LIBROS PRESTADOS DURANTE EL MES DE “AGOSTO”.
PRESENTAR EL TITULO, FECHA_PRESTAMO,NOMBRE_CLIENTE,APELLIDO_CLIENTE DE
LOS LIBROS PRESTADOS POR EL CLIENTE. (USTED ELIGE EL CLIENTE EL CUAL SE
DESEA PRESENTAR LA INFORMACIÓN).
NOTA: ADICIONAR LA COLUMNA ISBN A LA TABLA LIBRO.
LA TAREA DEBE SER PRESENTADA EN EL CUADERNO DE LA MATERIA,
SE DEBE ESCRIBIR EL CÓDIGO DE CADA CONSULTA, Y TOMAR
CAPTURA DE PANTALLA DE LA INFORMACIÓN CONTENIDA EN
CADA TABLA (NO DEL RESULTADO DE LAS CONSULTAS).

LA TABLA CLIENTE, DEBE CONTENER INFORMACIÓN DE POR


LO MENOS 4 FAMILIARES INCLUIDO USTED.

Anda mungkin juga menyukai