Manual de BD4 / Lenguaje SQL / Sentencias / Manipulación de datos | Anterior / Siguiente |
SELECT :
Recuperar datos de la base de datos
SELECT [ SHARED | EXCLUSIVE ] { * | COUNT | SUM(expresión) | columna, ... } FROM tabla [ alias ], ... [ procedimiento (expresión, ...) [ alias ], ... ] [ WHERE condición ] [ ORDER BY columna [ DESC ], ... [ INDEX columna { = | > | < } constante, ... ] ]
La selección de los datos se realiza a partir de la primera tabla
de la cláusula FROM
. A partir de cada fila de la primera
tabla se accede a las del resto de las tablas mediante los enlaces
de la cláusula WHERE
, que deben ir al principio.
Los enlaces pueden ser de dos tipos:
=
con la columna de la tabla que
se quiere enlazar.
*=
en las comparaciones.
Para enlazar una tabla también se pueden usar valores constantes
a la izquierda del operador =
o *=
.
Estos enlaces constantes se suelen usar para leer los parámetros de
configuración guardados en varias tablas con una sola sentencia.
Después de los enlaces se puede definir cualquier expresión
booleana para filtrar los resultados. En cuanto se establece un
filtro, si éste no fija los valores de las primeras columnas de un
índice, entonces será necesario indicar la cláusula
ORDER BY
.
Las cláusulas SHARED
y EXCLUSIVE
permiten
bloquear las filas leídas en modo compartido y exclusivo,
respectivamente.
En la cláusula INDEX
se puede limitar el recorrido del
índice indicando columnas fijas (=
), punto de partida
(>
significa "desde") y punto final (<
significa "hasta").
Las columnas cuyos valores sean especificados deberán ser
consecutivas. Si se indican columnas fijas, deberán ser las
primeras de la cláusula INDEX
.
INSERT :
Insertar nuevas filas en una tabla de la base de datos.
INSERT INTO tabla (columna, ...) VALUES (constante, ...) [ INDEX (columna, ...) ... ]
Las cláusulas INDEX
sirven para indicar índices
ascendentes para los que se desea calcular automáticamente el valor
de su última columna. El número automático de la última columna del
primer índice se devolverá como "update count".
UPDATE :
Modificar datos existentes en la base de datos.
UPDATE [ CASCADE ] tabla SET columna=expresión, ... [ WHERE condición_where ]
La sentencia UPDATE
utiliza uno de los índices para
recorrer la tabla y actualizar las filas que cumplan la condición
de la cláusula WHERE
. Por ello, en esta cláusula se deben
definir los valores de las primeras columnas de uno de los índices.
Si no se indica la cláusula WHERE
se actualizarán todas
las filas de la tabla.
La cláusula CASCADE
es necesaria si se desea modificar
los valores de las columnas que componen la clave primaria, y
además, las filas modificadas están referenciadas desde otras tablas.
DELETE :
Borrar filas de la base de datos.
DELETE FROM tabla [ WHERE condición_where ]
La sentencia DELETE
utiliza uno de los índices para
recorrer la tabla y borrar las filas que cumplan la condición de
la cláusula WHERE
. Por ello, en esta cláusula se deben
definir los valores de las primeras columnas de uno de los índices.
Si no se indica la cláusula WHERE
se borrarán todas
las filas de la tabla.
CALL :
Llamar a un procedimiento almacenado.
CALL procedimiento_almacenado [ (parámetro, ...) ]