Está en la página 1de 7

Bases de Datos II

Universidad La Salle

Sentencias, comandos y ejercicios SQL


Tablas de ejemplo: Tabla EMP_XXX (XXX = Caracteres para diferenciarla de otras de tus compaeros).
Name EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO Type NOT NULL NUMBER(4) VARCHAR2(10) VARCHAR2(9) NUMBER(4) DATE NUMBER(7,2) NUMBER(7,2) NOT NULL NUMBER(2)

Tabla DEPT_XXX (XXX = Caracteres para diferenciarla de otras de tus compaeros). Name DEPTNO Type NUMBER(2)

DNAME LOC

VARCHAR2(14) VARCHAR2(13)

Registros de la tabla EMP.


EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

7369 7499 7521 7566 7654 7698 7782 7788 7839 7844 7876 7934 7900 7902

SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS MILLER JAMES FORD

CLERK SALESMAN SALESMAN MANAGER SALESMAN MANAGER MANAGER ANALYST PRESIDENT SALESMAN CLERK CLERK CLERK ANALYST

7902 7698 7698 7839 7698 7839 7839 7566 7698 7788 7782 7698 7566

17-DEC-80 20-FEB-81 22-FEB-81 02-APR-81 28-SEP-81 01-MAY-81 09-JUN-81 19-APR-87 17-NOV-81 08-SEP-81 23-MAY-87 23-JAN-82 03-DEC-81 03-DEC-81

880 1600 1250 2975 1250 2850 2450 3000 5000 1500 1100 1300 950 3000

300 500 1400

20 30 30 20 30 30 10 20 10 30 20 10 30 20

Registros de la tabla DEPT;


DEPTNO DNAME LOC

10 20 30

SALES ADMINISTRATION MARKETING

NEW YORK TEXAS MIAMI

Bases de Datos II
Universidad La Salle

Comando: Utilizacin:

Create Creacin de tablas

CREATE TABLE NOMBRE (ID NUMBER(5), ENAME VARCHAR2(34));

Comando: Utilizacin:

LIKE Sirve para buscar una cadena de caracteres.

% _

Igual a cualquier nmero de caracteres Igual a un solo carcter

Ejemplo 1: Desplegar los datos del empleado cuyo apellido comience con la letra M Mayscula. SELECT ENAME, JOB, DEPTNO, HIREDATE FROM EMP WHERE ENAME LIKE M%;

Ejemplo 2: Desplegar los datos de los empleados cuyo apellido comience con la letra J Mayscula seguida de dos caracteres y que termine con ES. SELECT ENAME, JOB, DEPTNO, HIREDATE FROM EMP WHERE ENAME LIKE J _ _ ES;

Nota: Se puede utilizar el operador NOT para negar condiciones con los operadores siguientes:

NOT BETWEEN ... AND ... NOT IN (List) IS NOT NULL NOT LIKE

Bases de Datos II
Universidad La Salle

Comando: Utilizacin:

WHERE Sirve para calificar y seleccionar renglones de las tablas, especificando mas de una condicin de bsqueda. (=,>,<,>=,>=,IN, LIKE, IS NULL, BETWEEN ... AND.) (NOT, AND, OR)

Nota:

Las constantes tipo carcter y fecha deben de ir entre comillas sencillas. Las constantes tipo carcter son sensibles a maysculas y minsculas y las constantes tipo fecha deben estar en el formato DD-MON-YY.

Sintaxis: SELECT ... FROM ... WHERE ... AND .... OR ...

Ejemplo 1: Despliegue los datos de los Gerentes y Vendedores empleados que ganen $1,500 o ms. SELECT ENAME, JOB, SAL FROM EMP WHERE SAL>=1500 AND JOB=MANAGER OR JOB=SALESMAN;

Operadores:

= !=, <>, = > >= < <= Between and IN (list) IS NULL LIKE

Igual a No igual a Mayor que Mayor igual a Menor Menor igual a Entre dos valores Igual a cualquier miembro de la siguiente lista Es un valor nulo Busca un patrn de caracter usando caracter comodn

Bases de Datos II
Universidad La Salle

Ejemplo 2: Despliegue el nombre del empleado, puesto y salario para los gerentes que ganen $1,500 o ms, tambin considere a todos los vendedores. SELECT ENAME, JOB, SAL FROM EMP WHERE SAL>=1500 JOB = MANAGER OR JOB = SALESMAN;

Comando: Utilizacin:

NULL Un valor NULO en una columna no es lo mismo que un cero. Cero es un nmero, NULL no es un nmero. NULL significa que el valor es desconocido, faltante o no aplicable; no debe de ser tratado como un cero.

Ejemplo 1: Desplegar todos los empleados que NO son candidatos para recibir comisin (cuyo valor en la columna comisin sea NULO). SELECT ENAME, JOB FROM EMP WHERE COMM IS NULL;

Ejemplos: USER_TABLES USER_USERS USER_VIEWS ALL_TABLES Descripcin de las tablas del usuario. Informacin sobre el usuario actual. Descripcin de las visitas pertenecientes al usuario. Descripcin de todas las tablas accesibles al usuario.

Edicin del Buffer de SQL con comandos de SQL*Plus A[PPEND] C[CHANGE] CL[EAR] BUFFER o CLE[AR] BUFFER DEL I[NPUT] L[IST] L[IST]n R[UN] / n n <text string> Aade un texto especfico al final de la lnea actual en el buffer. Cambiar la primer ocurrencia de texto en la lnea actual del buffer con la cadena provista. C.ENP.EMP o C/ENP/EMP. Limpia el buffer. Borra la lnea actual del buffer. Aade una o ms lneas de texto despus de la lnea actual en el buffer. Lista todas las lneas del buffer. Lista la lnea n del buffer. Despliega y ejecuta el contenido del buffer. Ejecuta el contenido del buffer Coloca el apuntador del buffer en la lnea n. Reemplaza el contenido actual de la lnea n con la cadena de texto provista, Ejemplo: 2 From emp; 1 Select * r 2 From Dept; <resultado>
4

Bases de Datos II
Universidad La Salle

Comando: Utilizacin:

CREATE TABLE Creacin de tablas utilizando atributos de columna y datos de una tabla existente.

Ejemplos: Creacin de tablas con campos existentes.


1.-

CREATE TABLE HDATES AS SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE DEPTNO=10;

2.CREATE TABLE HDATESBKUP AS SELECT * FROM HDATES;

Tipos

d e

datos
Cadena de tipo caracter, puede tener un tamao mximo de 255 bytes. Cadena de tipo caracter, puede tener un tamao mximo de 2000 bytes. Valores numricos de 0a 9. La posicin, puede tener un rango de 1 a 38 y la posicin d puede tener un rango de 84 a 127. Cadena de caracteres de longitud variable, puede contener hasta 2 Gb. Parecido al tipo MEMO Valores tipo fecha y hora, desde Enero 1, 4712 A.C. a Diciembre 31,4712 D.C. Datos en binario. (n) Tamao mximo de 255 bytes. Datos en binario de longitud variable de tamao hasta 2 Gb.

CHAR VARCHAR2 NUMBER(N,D) LONG DATE RAW(N) LOW RAW

Comando: Utilizacin:

INSERT Inserta datos en los renglones de una tabla. El conjunto de estos datos son registros.

Ejemplo 1: Insertar el departamento de Finanzas, departamento 50 en los Angeles, a tabla DEPT.

INSERT INTO DEPT VALUES (50,FINANCE,LOS ANGELES);


34,alberto,,

Ejemplo 2: Insertando valores a columnas utilizando parmetros o solicitando valores. Insertar datos de un nuevo departamento a la tabla DEPT solicitando valores.

Bases de Datos II
Universidad La Salle

INSERT INTO DEPT VALUES (&DEPTNO, &DNAME, &LOC); Ejemplo 3: Insertando renglones de otra tabla. Se puede utilizar el comando INSERT con un QUERY para seleccionar renglones de una tabla e insertarlos en otra. El QUERY sustituye el comando VALUES.

INSERT INTO EMP(EMPNO, ENAME, DEPTNO) SELECT ID, NAME, DEPARTAMENT FROM OLD_EMP WHERE DEPARTMENT IN (10,20,30,40);

Comando: Utilizacin:

UPDATE Se utiliza para cambiar los datos de una tabla especfica y para actualizar mltiples columnas en un solo rengln.

Ejemplo 1: Cambiar al empleado con nmero 7566 a un puesto de ventas del departamento 30. UPDATE EMP SET JOB=SALESMAN, DEPTNO=30 WHERE EMPNO=7566; Ejemplo 2: Transferir al empleado 7788 a Ventas y darle un aumento salarial del 5%. UPDATE EMP SET JOB=SALESMAN, SAL=SAL*1.05, DEPTNO=30 WHERE EMPNO=7788; Ejemplo 3: Cambie el titulo de los puestos SALESMAN a SALES de la tabla EMP, es decir, todos los empleados que tengan un puesto de SALESMAN, cambien a SALES. UPDATE EMP SET JOB=SALES WHERE JOB=SALESMAN; Comando: Utilizacin: DELETE Borra renglones de una tabla especifica.

Sintaxis: DELETE FROM <Tabla> WHERE <condicin>

Bases de Datos II
Universidad La Salle

Ejemplo 1: Borrar el empleado con numero 1234 de la tabla EMP para reflejar su despido. DELETE FROM EMP WHERE EMPNO=1234;

Comando: Utilizacin: Sintaxis: ADD

ALTER TABLE Altera. Modifica o actualiza la definicin de la tabla.

Ejemplo 1: Aadir una columna a la tabla HDATES para almacenar el numero de gerente. ALTER TABLE HDATES ADD (MANAGER NUMBER(4)); Sintaxis: MODIFY Ejemplo 1: Incrementar la longitud de la columna de ENAME de 10 a 18 caracteres. ALTER TABLE HDATES MODIFY (ENAME CHAR (18)); Sintaxis: DROP (Borrar) Ejemplo 1: Borrar la llave primaria de la tabla DEPT. ALTER TABLE DEPT DROP PRIMARY KEY CASCADE; Sintaxis: RENAME (Renombrar) Ejemplo 1: Renombrar una tabla. RENAME <ALUMNOS> TO <TABLA_ALUMNOS>;