El lenguaje de consulta estructurado o SQL (por sus siglas en ingls Structured Query
Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite
especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla informacin de inters de bases de datos, as como hacer cambios en ellas. El SQL se usa para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando usa SQL, debe emplear la sintaxis correcta. La sintaxis es el conjunto de reglas mediante las cuales se combinan los elementos de un lenguaje correctamente. La sintaxis de SQL se basa en la sintaxis del ingls. Por ejemplo, una simple instruccin SQL que recupera una lista de los apellidos de contactos cuyo nombre es Mara podra ser similar a esto: SELECT Apellidos FROM Contactos WHERE Nombre = 'Mara';
NOTA: l SQL no se usa slo para manipular datos, sino tambin para crear y modificar el diseo de objetos de una base de datos, como tablas. La parte de SQL que se usa para crear y modificar objetos de una de base de datos se denomina lenguaje de definicin de datos (DDL). Caractersticas generales del SQL El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite as gran variedad de operaciones. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base terica y su orientacin al manejo de conjuntos de registros y no a registros individuales permite una alta productividad en codificacin y la orientacin a objetos. De esta forma, una sola sentencia puede equivaler a uno o ms programas que se utilizaran en un lenguaje de bajo nivel orientado a registros. SQL tambin tiene las siguientes caractersticas: Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para la definicin de esquemas de relacin, borrado de relaciones y modificaciones de los esquemas de relacin. Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en lgebra relacional como en clculo relacional de tuplas. Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos. Definicin de vistas: El LDD incluye comandos para definir las vistas. Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transaccin. SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP, Cobol, Pascal y Fortran. Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas. Tipos de Datos Algunos de los tipos de datos bsicos de SQL son: Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el da. Time: La hora del da en horas minutos segundos (el valor predeterminado es 0). Timestamp: la combinacin de Date y Time.
Clusulas de SQL Al igual que una frase, una instruccin SQL tiene clusulas. Cada clusula realiza una funcin para la instruccin SQL: CLUSULA SQL FUNCIN SELECT Muestra una lista de los campos que contienen datos de inters. FROM Muestra las tablas que contienen los campos de la clusula SELECT. WHERE Especifica los criterios de campo que cada registro debe cumplir para poder ser incluido en los resultados. ORDER BY Especifica la forma de ordenar los resultados. GROUP BY En una instruccin SQL que contiene funciones de agregado, muestra los campos que no se resumen en la clusula SELECT. HAVING En una SQL instruccin que contiene funciones de agregado, especifica las condiciones que se aplican a los campos que se resumen en la instruccin SELECT.
Trminos de SQL Cada clusula SQL consta de trminos, comparables a diferentes partes de la oracin. En la siguiente tabla se enumeran los tipos de trminos de SQL. TRMINO DE SQL PARTE DE LA ORACIN COMPARABLE DEFINICIN identificador sustantivo Nombre que se usa para identificar un objeto de la base de datos, como el nombre de un campo. operador verbo o adverbio Palabra clave que representa o modifica una accin. constante sustantivo Valor que no cambia, como un nmero o NULO. expresin adjetivo Combinacin de identificadores, operadores, constantes y funciones que se evala como un valor nico.