Está en la página 1de 3

SENTENCIAS EN SQL

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 quedara otro grupo que a mi
entender no est dentro del lenguaje SQL sino del PLSQL.
SENTENCIA

DML

Manipulacin de datos
SELECT
INSERT
DELETE
UPDATE

DESCRIPCIN
Recupera datos de la base de datos.
Aade 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.
Aade una nueva tabla a la base de datos.

DDL

DCL

Definicin de datos
CREATE TABLE
DROP TABLE
ALTER TABLE
CREATE VIEW
DROP VIEW
CREATE INDEX
DROP INDEX
CREATE SYNOYM
DROP SYNONYM
Control de acceso
GRANT
REVOKE
Control de
transacciones
COMMIT
ROLLBACK

Suprime una tabla de la base de datos.


Modifica la estructura de una tabla existente.
Aade 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 transaccin actual.
Aborata la transaccin actual.
Define un cursor para una consulta.

PLSQL

SQL Programtico
DECLARE
OPEN
FETCH
CLOSE

Abre un cursor para recuperar resultados de


consulta.
Recupera una fila de resultados de consulta.
Cierra un cursor.

Jos Luis de la Puente Ros

Privilegios de usuarios:
Para crear un nuevo usuario se utiliza la sentencia GRANT, ejemplo:
GRANT USAGE ON *.* TO nom_usuario IDENTIFIED BY 'clave';
Pero hay una manera ms sencilla y corta:
CREATE USER nom_usuario IDENTIFIED BY 'clave';
Si queremos limitar la conexin de manera local va el siguiente cdigo:
CREATE USER 'nom_usuario'@'localhost' IDENTIFIED BY 'clave';
Si queremos crear una contrasea si se tiene uno, o tal vez cambiar el
actual va el siguiente cdigo:
SET PASSWORD FOR usuario = PASSWORD ('contrasea');
Ejemplo:
SET PASSWORD FOR david@localhost = PASSWORD ('telesup');
Los nuevos usuarios que hemos creado no poseen privilegios para nada,
para ello se debe utilizar la sentencia GRANT y las siguientes sentencias:
Opciones de tipo de permiso
GRANT SELECT
Un permiso especifico
GRANT SELECT, INSERT, UPDATE
Varios permisos
GRANT ALL
Todos los permisos
Opciones para indicar a que base de datos y tablas se aplicarn dichos
permisos
ON DATABASE.TABLE
A una tabla
ON DATABASE.TABLE1,
A varias tablas
DATABASE.TABLE2,
DATABASE2.TABLE.
ON DATABASE.*
A todas las tablas de la BD
Opciones para indicar a quienes se indicarn dichos permisos
TO usuario
Un usuario
TO usuario1, usuario2
Varios usuarios

Vistas
Una vista es una tabla temporal, naturalmente es utilizado para realizar
consultas. Se puede utilizar desde un cdigo sencillo hasta una ms
compleja, pero exista cierta limitacin en cdigo respecto a las vistas, para
ello se debe hacer directamente en la base de datos. La vista creada nos
permitir consultar rpidamente cualquier consulta que hayamos
programado.
Para crear una vista se utiliza la sentencia CREATE VIEW.
CREATE VIEW (nombre de la vista) AS SELECT * FROM (tabla);
Ejemplo: CREATE VIEW vista_producto AS SELECT nompro,
marpro FROM producto;
Para consultar esta vista escribiremos lo siguiente:
SELECT * FROM vista_producto;
Pero si queremos actualizar la vista no necesariamente tenemos que hacer
otro, para ellos aplicaremos la sentencia OR REPLACE.
Ejemplo: CREATE OR REPLACE VIEW vista_producto AS SELECT nompro,
marpro, stockpro FROM producto;
Para eliminar una vista se utiliza la sentencia: DROP VIEW <vista>
Ejemplo: DROP VIEW vista_producto;

Jos Luis de la Puente Ros

Recordar para estos casos, slo el usuario con privilegios puede realizar esta
sentencia.
Una manera de ver la definicin de una vista creada se utiliza la siguiente
sentencia:
SHOW CREATE VIEW vista_producto;
Bien ahora haremos un ejemplo con un grado de dificultad un poco mayor.

Jos Luis de la Puente Ros

También podría gustarte