Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Temario
INTRODUCCIN 1.-SENTENCIAS Sentencias DDL ( Lenguaje de Definicin de Datos)
CREATE ALTER DROP TRUNCATE
Sentencias de Descripcin
FROM WHERE
Operadores Lgicos
AND OR NOT
BETWEEN Especifica un intervalo de valores. LIKE Comparacin de un modelo GROUP BY HAVING ORDER BY
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
3. FUNCIONES DE AGREGADO AVG COUNT SUM MAX MIN 4. ESTRUCTURAS DE LAS TABLAS 5 Creacin de Tablas 6. NDICES UNIQUE PRIMARY KEY FOREIGN KEY
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
F-00.04.01.00.00-006
CREATE.
Este comando crea un objeto dentro de la base de datos. Puede ser de tablas, funciones, procedimientos almacenados, vistas, usuarios. Etc.
Ejemplo:
CREATE USER VG2TEST IDENTIFIED BY by VG2TEST;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
ALTER.
Este comando permite modificar la estructura de un objeto. Se pueden agregar/eliminar campos de una tabla, modificar la contrasea de un usuario etc. Ejemplo:
ALTER USER VG2TEST IDENTIFIED BY default" ACCOUNT UNLOCK;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
DROP
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, triger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. Ejemplo:
DROP USER VG2TEST;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
TRUNCATE.
Este comando permite modificar la estructura de un objeto. Se pueden agregar/eliminar campos de una tabla, modificar la contrasea de un usuario etc. Ejemplo:
TRUNCATE TABLE T_PRUEBA
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
INSERT.
Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional.
Nuevo Registr o
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Se pueden aadir nuevas filas a una tabla con el uso de la sentencia INSERT. tabla: Es el nombre de la tabla. columna: Es el nombre de la columna de la tabla a ser poblada. valor: Es el valor de la correspondiente columna. Nota: En esta sentencia con la clusula VALUES se agrega solamente una fila a la vez a la tabla. ( Ejercicio 1. )
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
);
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Puesto que cuando se inserta un nuevo registro esta contiene valores para cada columna, la lista de columnas no es requerida en una clusula INSERT. Sin embargo, si no se utiliza la lista de columnas, los valores deben ser listados, de acuerdo al orden por defecto de las columnas en la tabla, y los valores deben ser proporcionados para cada columna. Para esto utilizamos la sentencia
describe o desc: Para describir la tabla y as saber en que orden van las columnas.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
INSERT INTO VG2CURSO.USUARIO VALUES (2515, 'LUIS JAVIER' , 'MARTINEZ' , 'GARCIA' , 'LLLLLLLLTOP' , SYSDATE);
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Este seguro de que puede utilizar valores nulos en una columna verificando el estatus con el
comando DESCRIBE.
El servidor de Oracle automticamente hace cumplir los tipos de dato, rangos de datos y reglas de integridad. Ninguna columna que no sea mencionada explcitamente obtiene un valor nulo en una nueva fila.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
);
INSERT INTO VG2CURSO.USUARIO VALUES (2515, 'LUIS JAVIER' , 'MARTINEZ' , 'GARCIA' , NULL, NULL);
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
);
En el ejemplo anterior utilizamos la funcin SYSDATE para obtener la fecha actual del sistema, con este valor llenamos la columna FECHA_DE_INGRESO. Tambin podemos utilizar la funcin USER para obtener el usuario actual del sistema.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Insertando valores de fecha y hora especficos El formato DD-MON-YY es usualmente utilizado para insertar fechas. Con este formato, recuerde que el siglo por defecto es el siglo actual. Y puesto que la fecha tambin debe contener informacin de la hora, que por defecto es medianoche (00:00:00). Si una fecha debe ser ingresada en otro formato que no sea el formato por defecto, por ejemplo, con otro siglo, o con una hora especfica, se debe utilizar la funcin TO_DATE. Si el formato RR es usado, el sistema proporciona automticamente el siglo correcto, aun si este no es el actual. INSERT INTO VG2CURSO.USUARIO (USUARIO_UNIVERSAL, NOMBRE, APELLIDO_PAT, APELLIDO_MAT, RFC, FECHA_DE_INGRESO)
);
SELECT TO_DATE('03-FEB-99','DD/MM/YY) FROM dual = 03/02/2099 SELECT TO_DATE('03-FEB-99','DD/MM/RR) FROM dual = 03/02/1999
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
INSERT INTO USUARIO_TEMP ( USUARIO_UNIVERSAL,NOMBRE,APELLIDO_PAT,APELLIDO_MAT,RFC, FECHA_DE_INGRESO ) SELECT USUARIO_UNIVERSAL NOMBRE,APELLIDO_PAT APELLIDO_MAT,RFC FECHA_DE_INGRESO FROM USUARIO; , , ,
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
UPDATE.
La sentencia UPDATE modifica los registros indicados, si la clusula WHERE es especificada. Ejemplo:
Column aa Actualiz ar
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Sintaxis:
Update tabla Set columna = [valor] , [columna = valor , ] Where [ condicin ] ;
tabla : Es el nombre de la tabla a que vamos actualizar. columna : La columna a la que vamos a cambiar el valor. valor : Es el valor correspondiente de la columna. condicin :Identifica los registros que sern actualizadas y se compone de nombres de columnas, expresiones,
constantes, sub-consultas y operadores de comparacin. Confirme la operacin de actualizacin consultando en la tabla las filas modificadas.
Nota: En general, utilice llaves primarias para identificar una fila en particular.
Utilizando otras columnas se puede inesperadamente causar la actualizacin de diversas filas. Por ejemplo, identificar una fila determinada en la tabla USUARIO por medio de los apellido es peligroso puesto que ms de un empleado puede tener el mismo apellido.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Actualizando Registro:
UPDATE VG2CURSO.USUARIO SET FECHA_DE_INGRESO = TO_DATE('18-04-82','DD/MM/RR'), NOMBRE = J.PABLO FRANCO PEREZ WHERE USUARIO_UNIVERSAL = 22284;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Se pueden actualizar mltiples columnas en una clusula SET de una sentencia UPDATE con diversas sub consultas.
Sintaxis:
Update tabla Set columna = ( SELECT columna FROM tabla WHERE [ condicin ] ), columna =( SELECT columna FROM tabla WHERE [ condicin ] ) Where [ condicin ] ;
tabla : Es el nombre de la tabla a que vamos actualizar. columna : La columna a la que vamos a cambiar el valor. valor : Es el valor correspondiente de la columna. condicin :Identifica las filas que sern actualizadas y se compone de nombres de columnas, expresiones,
constantes, sub-consultas y operadores de comparacin.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
DELETE.
La sentencia DELETE elimina los registros indicados, si la clusula WHERE es especificada. Ejemplo:
Registr oa Eliminar
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Sintaxis:
DELETE FROM tabla Where [ condicin ] ;
tabla : Es el nombre de la tabla condicin :Identifica los registros que sern eliminados y se compone de nombres de
columnas, expresiones, constantes, sub-consultas y operadores de comparacin. Confirme la operacin consultando en la tabla las los regiros eliminados.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
MERGE.
Un mtodo alternativo es usarlo en ciclos PL/SQL y en mltiples sentencias DML. La sentencia MERGE, sin embargo, es fcil de usar y ms simplemente expresada como una simple sentencia SQL. La sentencia MERGE es adecuada para aplicaciones de almacenes. Por ejemplo, en informacin de aplicaciones de almacn, se puede necesitar trabajar con datos procedentes de diferentes lugares, algunos de los cuales pueden ser duplicados. Con la sentencia MERGE se puede condicionar el aadir o modificar filas
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Sintaxis:
MEREGE INTO tabla_A USING tabla_B ON (condicion join) WHEN MATCHED THEN UPDATE SET col1 = col_val1, col2 = col_val2 WHEN NOT MATCHED THEN INSERT (list_column) VALUES(column_values);
INTO : Especifica la tabla a ser actualizada o Insertada. USING : Identifica el origen de los datos que seran actualizados o insertados; puede ser una tabla
vista o sub-consulta ON :condicin sobre cual la sentencia MERGE operara la actualizacin o insercin join
WHEN MATCHED THEN / WHEN NOT MATCHED THEN :Indica al servidor como responder a los resultados de la condicin
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
SELECT.
La recuperacin de los datos en el lenguaje SQL se realiza mediante la sentencia SELECT, seleccionar. Esta sentencia permite indicar al SGBD la informacin que se quiere recuperar. Esta es la sentencia SQL, con diferencia, ms habitual. La sentencia SELECT consta de cuatro partes bsicas: La clusula SELECT seguida de la descripcin de lo que se desea ver, los nombres de las columnas a seleccionar. Esta parte es obligatoria.
La clusula FROM seguida de la especificacin de las tablas de las que se han de obtener los datos. Esta parte es obligatoria. La clusula WHERE seguida por un criterio de seleccin, una condicin. Esta parte es opcional. La clusula ORDER BY seguida por el criterio de ordenacin. Esta parte es opcional.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
2.-Clusulas
FROM :Define las tablas de las que van a seleccionar las columnas.
Se puede aadir al nombre de las tablas el usuario propietario (owner) de las mismas de la forma owner.tabla . De esta manera podemos distinguir entre las tablas de un usuario y otro. Oracle siempre considera como prefijo el nombre del propietario de las tablas, aunque no se lo indiquemos. De esta forma dos o ms usuarios pueden tener tablas que se llamen igual sin que surjan conflictos.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Sintaxis:
SELECT columna,[columna ] FROM owner.tabla, [owner.tabla ] columna : La columna que vamos a visualizar, como encabezado. owner : Es el usuario dueo del esquema de la base de datos. tabla :Especifica la tabla, que vamos a consultar. Ejemplo:
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
WHERE :Es a partir de donde definimos las condiciones que deben cumplir todas las filas para salir en el resultado de la consulta.
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Sintaxis:
SELECT columna,[columna ] FROM owner.tabla, [owner.tabla ] WHERE condicin, |AND | OR | NOT [columna ] condicin : la definicin de las condiciones para nuestra consulta.
Ejemplo:
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Operadores de comparacin
Operador = !=, <>, ^= < > <= >= IN Operacin Igualdad Desigualdad Menor que Mayor que Menor o igual que Mayor o igual que Igual a cualquiera de los miembros entre parntesis Distinto a cualquiera de los miembros entre parntesis Ejemplo
select * from emp where cod_dep = 100; select * from emp where cod_dep != 100; select * from emp where cod_dep < 200; select * from emp where cod_dep > 200; select * from emp where cod_dep <= 200; select * from emp where cod_dep >= 200; select * from emp where cod_dep in (100, 300);
NOT IN
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
select * from emp where cod_emp between 100 and 199; select * from emp where cod_emp not between 100 and 199;
Contiene la cadena 'abc' a select * from emp where nombre like 'Ma%'; partir del segundo carcter y luego cualquier cadena de caracteres
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Operadores Aritmticos
Operador Operacin Ejemplo + * / Suma Resta Producto Divisin
select nombre, salario+comision from emp where oficio='VENDEDOR'; select nombre from emp where sysdate-fecha_alta > 365; select nombre, salario*12 from emp; select nombre, salario/31 from emp;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006
Clusula Group by
SQL nos permite agrupar las filas resultado de una consulta en conjuntos y aplicar funciones sobre esos conjuntos de filas.
Sintaxis:
SELECT columna,[columna ] FROM owner.tabla, [owner.tabla ] WHERE condicin, |AND | OR | NOT [columna ]
GROUP BY columna,[columna ]
Ejemplo: SELECT C.NOMBRE, COUNT(*) AS CANTIDAD_DE_USUARIOS FROM vg2curso.USUARIO A, vg2curso.DEARTAMENTO_DE_USUARIOS B, vg2curso.DEARTAMENTO C WHERE A.USUARIO_UNIVERSAL = B.USUARIO_UNIVERSAL AND B.ID_DEPARTAMENTO = C.ID_DEPARTAMENTO GROUP BY C.NOMBRE ;
DIRECCION DE INFORMATICA GCIA SOPORTE Y ADMON MOBILE 2000 SOPORTE A USUARIOS Y SUSPEND GSM
F-00.04.01.00.00-006