miércoles, 8 de febrero de 2012

SQL Básico

SQL es un lenguaje estándar de comunicación con las bases de datos que permite especificar diversos tipos de operaciones en éstas. SQL explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en las bases de datos.
Es un lenguaje de alto nivel, que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.
A continuación se mostrarán las sentencias estándar de SQL con algunos ejemplos.
CREATE: Crea nuevas tablas, campos e índices.
CREATE TABLE persona (DNIinteger notnull, primer-nombre varchar(20), apellido varchar(20), PRIMARY KEY (DNI))
DROP: Elimina tablas e índices.
DROP DATABASE prueba
ALTER: Modifica las tablas agregando campos o cambiando la definición de los campos.
ALTER TABLE usuario ADD teléfono VARCHAR(10)
SELECT: Consulta registros de la base de datos que satisfagan un criterio determinado.
SELECT primer-nombre,DNI FROM persona WHERE apellido=Duran”
INSERT INTO: Carga lotes de datos en la base de datos en una única operación.
UPDATE: Modifica los valores de los campos y registros especificados.
UPDATE prueba SET cod=’10’ WHERE apellido=‘Vega’
DELETE: Elimina registros de una tabla de una base de datos.
DELETE FROM nombre_tabla WHERE nombre=’pedro’
FROM: Especifica la tabla de la cual se van a seleccionar los registros.
WHERE: Especifica las condiciones que deben reunir los registros que se van a seleccionar.
GROUP BY: Separa los registros seleccionados en grupos específicos.
HAVING: Expresa la condición que debe satisfacer cada grupo.
SELECT “nombre1 “, SUM(“nombre2 “) FROM “nombre_tabla” GROUP BY “nombre1 ” HAVING (i>10)
ORDER BY: Ordena los registros seleccionados de acuerdo con un orden específico.
SELECT libro.ISBN,titulo FROM libro-autor WHERE autor=AviSilberschatz” AND libro.ISBN=libro-autor.ISBN ORDER BY libro.ISBN DESC
AND: Es el “y” lógico. Evalúa dos condiciones y devuelve un valor verdadero sólo si ambas condiciones son ciertas.
OR: Es el “o” lógico. Evalúa dos condiciones y devuelve un valor verdadero si alguna de las dos condiciones es cierta.
NOT: Negación lógica. Devuelve el valor contrario de la expresión.
<  Menor que
>  Mayor que
< >  Distinto de
<=  Menor ó Igual que
>=  Mayor ó Igual que
BETWEEN: Especifica un intervalo de valores.
SELECT nombre_columna FROM tabla WHERE nombre_columna BETWEEN ‘valor1′ AND ‘valor2′
LIKE: Permite hacer una búsqueda basada en un patrón.
SELECT * FROM tabla WHERE nombre LIKE ‘%AN%’
IN: Especifica registros de una base de datos.
AVG: Calcula el promedio de los valores de un campo determinado.
SELECT nombre-biblioteca, AVG antigüedad FROM bibliotecario,
COUNT: Devuelve el número de registros de la selección.
SELECT COUNT (columna_uno) FROM tabla
SUM: Devuelve la suma de todos los valores de un campo determinado.
SELECT columna, SUM(columna2) FROM tabla
MAX: Devuelve el valor más alto de un campo especificado.
MIN: Devuelve el valor más bajo de un campo especificado.
ALL: Devuelve todos los campos de la tabla.
TOP: Devuelve un determinado número de registros de la tabla.
DISTINCT: Omite los registros cuyos campos seleccionados coincidan totalmente.
SELECT DISTINCT nombre_columna FROM nombre_tabla
DISTINCROW: Omite los registros duplicados basándose en la totalidad del registro y no sólo en los campos seleccionados.
UNIQUE: Genera un índice de clave única. Lo que implica que los registros de la tabla no pueden contener el mismo valor en los campos indexados.
PRIMARY KEY: Genera un índice primario el campo o los campos especificados. Todos los campos de la clave principal deben ser únicos y no nulos, cada tabla sólo puede contener una única clave principal.
FOREIGN KEY: Genera un índice externo (toma como valor del índice campos contenidos en otras tablas). Si la clave principal de la tabla externa consta de más de un campo, se debe utilizar una definición de índice de múltiples campos, listando todos los campos de referencia, el nombre de la tabla externa, y los nombres de los campos referenciados en la tabla externa en el mismo orden que los campos de referencia listados.