Está en la página 1de 26

Tipos de sentencias SQL y sus componentes sintácticos Lenguaje SQL

Pasamos a describir los tipos de sentencias sql que podemos encontrarnos y sus
componentes sintácticos.

En SQL tenemos bastantes sentencias que se pueden utilizar para realizar
diversas tareas.
Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos
principales (DML, DDL,DCL), aunque nos quedaría otro grupo que a mi entender
no está dentro del lenguaje SQL sino del PLSQL.
SENTENCIA
Manipulación de datos
SELECT
INSERT
DELETE
DML UPDATE

DDL

Definición de datos
CREATE TABLE
DROP TABLE
ALTER TABLE
CREATE VIEW
DROP VIEW
CREATE INDEX
DROP INDEX
CREATE SYNOYM
DROP SYNONYM

DCL

Control de acceso
GRANT
REVOKE
Control de transacciones
COMMIT
ROLLBACK

SQL Programático
DECLARE
OPEN
FETCH
PLSQL CLOSE

DESCRIPCIÓN
Recupera datos de la base de datos.
Añade nuevas filas de datos a la base de datos.
Suprime filas de datos de la base de datos.
Modifica datos existentes en la base de datos.
Añade una nueva tabla a la base de datos.
Suprime una tabla de la base de datos.
Modifica la estructura de una tabla existente.
Añade una nueva vista a la base de datos.
Suprime una vista de la base de datos.
Construye un índice para una columna.
Suprime el índice para una columna.
Define un alias para un nombre de tabla.
Suprime un alias para un nombre de tabla.
Concede privilegios de acceso a usuarios.
Suprime privilegios de acceso a usuarios
Finaliza la transacción actual.
Aborata la transacción actual.
Define un cursor para una consulta.
Abre un cursor para recuperar resultados de consulta.
Recupera una fila de resultados de consulta.
Cierra un cursor.

Componentes sintácticos

La mayoría de sentencias SQL tienen la misma estructura.
Todas comienzan por un verbo (select, insert, update, create), a continuación le
sigue una o más clausulas que nos dicen los datos con los que vamos a operar
(from, where), algunas de estas son opcionales y otras obligatorias como es el
caso del from.

Pildoritas de Bases de Datos: SQL. Tipos de
Comandos
category: bases de datos, informática y tecnología, pildoritas de bases de datos, sqlno
comments
pildoras bbdd
A petición popular (si entendemos como popular más de una persona) sigo con las
Pildoritas de Bases de Datos.
Después de explicar el diseño de modelos relacionales vamos a pasar a la chicha, es
decir, a crear modelos de datos relacionales y manipularlos. Para realizar esta tarea
todos los motores de bases de datos relacional usan un lenguaje de datos normalizado
(aunque con leves diferencias entre tecnologías) llamado SQL.
SQL (Structured Query Language) es un lenguaje declarativo de acceso a bases de
datos que aplica álgebra relacional para obtener y manipular conjuntos de datos desde
un modelo relacional (ahora seguramente entendáis por qué empecé con los dos
anteriores posts). SQL también permite ejecutar otra serie de comandos enfocados en
la definición de modelos de datos relacionales.
SQL está compuesto de dos tipos de comandos:
DLL (Data Definition Language): Permite crear y definir bases de datos, tablas, campos,
índices...
DML (Data Manipulation Language): Filtra y ordena los datos que queremos manipular.

En este caso he utilizado SQL Server. por lo que para definir un procedimiento almacenado en otra bases de datos con mirar la documentación os bastará. no obstante.Comandos DDL CREATE Sirve para crear un nuevo objeto dentro del gestor de bases de datos. ALTER El comando ALTER permite realizar modificaciones en un objeto de la base de datos ya existente. la estructura es muy similar en el resto de motores. Creación de una vista: ? CREATE VIEW NOMBRE_VISTA AS SUBCONSULTA. ALTER TABLE. procedimientos almacenados y vistas. . Los objetos de una bases de datos son tablas. Creación de una base de datos: ? CREATE DATABASE NOMBRE_BASE_DE_DATOS Creación de un índice: ? CREATE INDEX NOMBRE_ÍNDICE ON "NOMBRE_TABLA" (NOMBRE_COLUMNA) Creación de un procedimiento almacenado: ? CREATE CREATE PROCEDURE NOMBRE_PROCEDIMIENTO [PARAMETROS] AS (Sentencias SQL) [RETURN [VALOR]] *La definición de los procedimientos almacenados suele cambiar dependiendo del motor de bases de datos utilizado. El uso más común del comando ALTER es el enfocado en la edición de una tabla. índices.

el comando ALTER. para agregar una nueva columna a una tabla ya existente ejecutaríamos el siguiente comando: ? ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO TIPO. No obstante. así como los comandos UPDATE y DELETE. con indicar la procedencia de los datos ya podríamos crear nuestra primera consulta: ? SELECT CAMPO FROM TABLA Esta sentencia recuperaría todos los datos de la tabla. es aplicable a cualquier objeto de la base de datos. que indicaran de donde obtener la información y que condiciones deben cumplir dichos datos.. como todos los comandos DLL.Por ejemplo. La forma básica de este comando es el siguiente: ? INSERT INTO 'NOMBRE_TABLA' ('COLUMNA1'. No obstante.['COLUMNA2. ']) . Por ejemplo. podríamos borrar una tabla con la siguiente sentencia: ? DROP TABLE 'NOMBRE_TABLA' Comandos DML SELECT Este comando sirve para recuperar un conjunto de datos siguiendo unos criterios de filtrado. necesitan su vez de una serie de clausulas. DROP Sirve para eliminar objetos de la base de datos. en las cuales entraré en el próximo post. pero como podéis imaginar podemos querer filtrar estos campos para obtener sólo un subconjunto (utilizando las clausulas WHERE y HAVING) o agruparlos y ordenarlos de una determinada forma (por medio de las clausulas GROUP BY y ORDER BY) INSERT la sentencia INSERT agrega registros a la base de datos.. El comando SELECT..

Y hasta aquí ha llegado la primera pildorita de SQL.. Definición de las selects Optimización. pero hay que empezar con un poco de teoría inicial para poder enterarnos de la sintaxis básica del lenguaje. ? UPDATE NOMBRE_TABLA SET CAMPO = 'VALOR' WHERE CAMPO = 'VALOR'.VALUES ('VALOR1'. Se que ha sido un peñazo terrible. Consideraciones de rendimiento de los operadores Optimización. y dependiendo del motor de bases de datos. En el próximo post hablaré de las clausulas. se pueden insertar en una sentencia varios registros indicados de forma literal o incluso por medio de una consulta. Optimización. los operadores lógicos y las funciones de agregado. Join SQL. Predicados Optimización. UPDATE y DELETE La sentencia UPDATE sirve para modificar los valores de un conjunto de registros existentes en una tabla. ['VALOR2. En las siguientes entregas intentaré que la lectura sea más práctica y amena. El comando DELETE elimina uno o varios registros de una tabla: ? DELETE FROM NOMBRE_TABLA WHERE CAMPO = 'VALOR'.. Clausulas II SQL. Clausulas I SQL.. Tipos de Comandos SQL. Condiciones SARGABLE Optimización. Explain Plan . Índice de Pildoritas Diseño de Bases de Datos Diseño de Bases de Datos II SQL.']) No obstante.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 UPDATE .  CREATE .  ALTER .elimina todos los registros de la tabla.Video Tutorial 4 SQL.data manipulation language (DML).borra objetos de la base de datos.para obtener datos de una base de datos.  TRUNCATE . Algunos ejemplos:  SELECT . Lenguaje de definición de datos.  INSERT .para modificar datos existentes dentro de una tabla. DDL y DML.para insertar datos a una tabla. Sentencia SELECT La sentencia SELECT se utiliza para seleccionar datos de una base de datos.para crear objetos en la base de datos. DDL y DML Las sentencias SQL se dividen en dos categorías. no borra los espacios asignados a los registros. incluyendo todos los espacios asignados a los registros. . Sentencias SELECT FROM WHERE y ORDER BY con Mysql Workbench.elimina todos los registros de la tabla.  DELETE . data definition language (DDL) yLenguaje de manipulación de datos .modifica la estructura de la base de datos. Lenguaje de manipulación de datos (DML) Las sentencias de lenguaje de manipulación de datos (DML) son utilizadas para gestionar datos dentro de los schemas.  DROP . Lenguaje de definición de datos (DDL) Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas así como otros objetos de la base de datos.

Se guarda el resultado en una tabla llamada "result-set". "autor" y "isbn" de todos los registros de la tabla "books". Sintaxis de la Sentencia SELECT 1 SELECT column_name. Podemos escribir SQL tanto en minúsculas como mayúsculas. Ejemplo de la sentencia SELECT En el siguiente ejemplo pedimos el "titulo". EL asterisco * significa que queremos todas las columnas de la tabla. . y Sintaxis de la Sentencia SELECT 2 SELECT * FROM table_name.column_name FROM table_name. Como ven SQL no hace distinción entre mayúsculas y minúsculas.

estamos utilizando indistintamente la consola y el workbench. . Ejemplo de la sentencia SQL WHERE En este ejemplo. ya que así la pueden utilizar cuando no tengan una interface gráfica. Funciona como un filtro.Ejemplo de la sentencia SELECT * FROM A continuación podemos ver el resultado de la petición. Conseguiremos los resultados que cumplan esa condición. toda la información de la tabla "publisher". estamos pidiendo todos los registros de la tabla "books" que tengan "idpublisher"=1. Es importante que la consola les sea familiar.column_name FROM table_name WHERE column_name operator value. Sentencia SQL WHERE La sentencia WHERE se usa para extraer sólo los registros que cumplan con una condición. Sintaxis de la sentencia SQL WHERE SELECT column_name. SELECT * FROM eli. Como ven.publisher.

. Sintaxis de la claúsula SQL ORDER BY SELECT column_name. Ejemplo de la claúsula ORDER BY En este ejemplo ordenamos la tabla "books" en orden alfabético utilizando el "título". La claúsula ORDER BY ordena los registros de manera ascendente por defecto.Claúsula ORDER BY La claúsula ORDER BY se utiliza para ordenar los resultados a través de una o más columnas.column_name ASC|DESC. se puede utilizar la claúsula DESC. Para hacerlo de manera descendente.column_name FROM table_name ORDER BY column_name.