23/03/2010
CONTENIDO:
1. Lenguaje SQL
1. Componentes
2. Comandos
3. Clausulas
4. Operadores lgicos
5. Operadores de comparacin
6. Funciones de agregado
2. MYSQL
1. Como entrar a MySQL
2. Comandos generales
3. Sintaxis comandos DDL
4. Sintaxis comandos DML
Versin original Desarrolla por IBM en 1974 basndose en un modelo matemtico
del investigador Dr. E. F.Codd, que luego se convierte en el MODELO
RELACIONAL DE DATOS actual.
Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado
SQUARE que despus se transform en SQL.
La empresa Relational Software Inc produce ORACLE, el primer sistema
comercial de BD que usa SQL como su lenguaje de consulta.
A mediados de los 80's el American National Standards Institute (ANSI) libera el
primer estndar para SQL esto es en 1986.
1
23/03/2010
El lenguaje SQL est compuesto por:
Comandos.
Clusulas.
Operadores
Funciones de agregado.
Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.
DDL: lenguaje de definicin de datos
permiten crear y definir nuevas tablas, campos, ndices, usuarios.
Comando Descripcin
CREATE Utilizado para crear nuevas tablas, campos e ndices
DROP para eliminar tablas e ndices
ALTER Utilizado para modificar las tablas agregando campos o
cambiando la definicin de los campos.
2
23/03/2010
DML: Lenguaje de manipulacin de datos
permiten crear consultas para ordenar, filtrar y extraer los datos de la base de datos.
Comando Descripcin
Utilizado para consultar registros de la base de datos que
SELECT
satisfagan un criterio determinado
Utilizado para cargar lotes de datos en la base de datos en una
INSERT
nica operacin.
UPDATE Utilizado para modificar los valores de los campos y registros
especificados
DELETE Utilizado para modificar las tablas agregando campos o
cambiando la definicin de los campos.
Son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar o manipular.
Clusula Descripcin
Utilizada para especificar la tabla de la cual se van a seleccionar los
FROM
registros
Utilizada para especificar las condiciones que deben reunir los registros que
WHERE
se van a seleccionar
GROUP
Utilizada para separar los registros seleccionados en grupos especficos
BY
HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER Utilizada para ordenar los registros seleccionados de acuerdo con un orden
BY especfico
3
23/03/2010
Son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar o manipular.
Uso
Operador
Es el "y" lgico. Evala dos condiciones y devuelve un valor de
AND
verdad slo si ambas son ciertas.
Es el "o" lgico. Evala dos condiciones y devuelve un valor de
OR
verdad si alguna de las dos es cierta.
NOT Negacin lgica. Devuelve el valor contrario de la expresin.
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor Igual que
>= Mayor Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparacin de un modelo
IN Utilizado para especificar registros de una base de datos
4
23/03/2010
Se usan dentro de una clusula SELECT en grupos de registros para
devolver un nico valor que se aplica a un grupo de registros.
Funcin Descripcin
Utilizada para calcular el promedio de los valores de un campo
AVG
determinado
COUNT Utilizada para devolver el nmero de registros de la seleccin
Utilizada para devolver la suma de todos los valores de un campo
SUM
determinado
MAX Utilizada para devolver el valor ms alto de un campo especificado
MIN Utilizada para devolver el valor ms bajo de un campo especificado
1. Iniciamos el servidor WAMP.
2. Abrimos la consola de MySQL
5
23/03/2010
Obtener lista de opciones: mysql> help contents;
Versin del servidor de BD: mysql> select version();
Fecha actual: mysql>select current_date;
Usuario actual: mysql>select user();
Ver las bases de datos: mysql> show databases;
Acceder a una base de datos: mysql>use my_base;
Ver las tablas de una base de datos: mysql> show tables;
Ver los campos de una tabla: mysql> describe tabla;
Crear una base de datos: mysql> create database my_base;
6
23/03/2010
Creacin de BASES DE DATOS:
CREATE DATABASE nombre_base_de_datos;
Creacin de Tablas Nuevas:
CREATE TABLE nombre_tabla (
campo1 tipo (tamao),
campo2 tipo (tamao),
...,
PRIMARY KEY(campo)
);
7
23/03/2010
Cod_dep integer not null,
Nombre varchar(20) not null,
Ubicacion varchar(20) not null,
Primary key(cod_dep));
Creacin de Tablas Nuevas- EJEMPLO:
DEPARTAMENTO Create table departamento(
COD_DEP NOMBRE UBICACION Cod_dep integer not null,
10 Ventas Bogot Nombre varchar(20) not null,
20 sistemas Cali Ubicacion varchar(20) not null,
30 Comercial Pereira Primary key(cod_dep));
Modificar el Diseo de una Tabla:
Adicionar un campo:
ALTER TABLE nombre_tabla ADD COLUMN campo tipo tamao;
Eliminar un campo:
ALTER TABLE nombre_tabla DROP COLUMN campo;
8
23/03/2010
Modificar el Diseo de una Tabla: -ejemplos-
Agrega un campo Salario de tipo Moneda a la tabla Empleados:
ALTER TABLE Empleados ADD COLUMN Salario CURRENCY;
Elimina el campo Salario de la tabla Empleados.
ALTER TABLE Empleados DROP COLUMN Salario;
Eliminar una base de datos:
DROP DATABASE base de datos;
Eliminar una tabla:
DROP TABLE tabla;
9
23/03/2010
Comandos DML MySQL
INSERT
Agrega un registro en una tabla.
Se la conoce como una consulta de datos aadidos.
Esta consulta puede ser de dos tipos:
Insertar un nico registro
Insertar en una tabla los registros contenidos en otra tabla.
Comandos DML MySQL
INSERT
Para insertar un nico Registro:
INSERT INTO nombre_Tabla (campo1, campo2, .., campoN)
VALUES
(valor1, valor2, ..., valorN);
10
23/03/2010
Comandos DML MySQL
INSERT
Para insertar Registros de otra Tabla:
INSERT INTO Tabla [IN base_externa] (campo1, campo2, ...,
campoN) SELECT TablaOrigen.campo1, TablaOrigen.campo2, ...,
TablaOrigen.campoN FROM TablaOrigen
INSERT INTO Tabla SELECT TablaOrigen.* FROM TablaOrigen
Si Tabla y TablaOrigen poseen la misma estructura podemos simplificar la sintaxis a:
Recordar:
Tabla debe tener todos los campos de TablaOrigen (igual nombre e igual tipo).
Al insertar un valor en un campo autonumrico se escribe el valor que contenga su campo
homlogo en la tabla origen, no incrementandose como le corresponde.
Comandos DML MySQL
INSERT
Insertar Datos
Otra forma de insertar datos en una tabla es cargarlos desde un archivo de
texto:
Crear un archivo texto en el BLOC DE NOTAS, conservando el orden de los
campos en la tabla y separados por una tabulacin.
Despus de crear el archivo se escribe el siguiente comando teniendo en cuenta la
ruta donde se guard el archivo:
LOAD DATA LOCAL INFILE 'c://archivo.txt' INTO TABLE nombre_tabla ;
11
23/03/2010
Comandos DML MYSQL
DELETE
Elimina los registros de una o ms de las tablas listadas en la clusula FROM
que satisfagan la clusula WHERE.
Una vez que se han eliminado los registros utilizando una consulta de borrado,
no puede deshacer la operacin.
DELETE FROM Empleados WHERE Cargo = 'Vendedor';
Comandos DML MYSQL
UPDATE
Crea una consulta de actualizacin que cambia los valores de los campos de una tabla
especificada basndose en un criterio especfico.
UPDATE no genera ningn resultado.
UPDATE Empleados SET Grado = 5 WHERE Grado = 2;
UPDATE Productos SET Precio = Precio * 1.1 WHERE Proveedor = 8 AND Familia = 3;
Si en una consulta de actualizacin suprimimos la clusula WHERE todos los registros de
la tabla sealada sern actualizados.
UPDATE Empleados SET Salario = Salario * 1.1 ;
12