Sentencias, comandos y ejercicios SQL: Bases de Datos II

Bases de Datos II Universidad La Salle Sentencias, comandos y ejercicios SQL Tablas de ejemplo: Tabla EMP_XXX (XXX = Ca

Views 168 Downloads 1 File size 305KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 compañeros). 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 compañeros). Name DEPTNO

Type NUMBER(2)

DNAME LOC

VARCHAR2(14) VARCHAR2(13)

Registros de la tabla EMP. EMPNO ENAME

JOB

MGR

HIREDATE

SAL

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

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

7902 7698 7698 7839 7698 7839 7839 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

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

7698 7788 7782 7698 7566

COMM DEPTNO

300 500 1400

0

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

1

Bases de Datos II Universidad La Salle

Comando: Utilización:

Create Creación de tablas

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

Comando: Utilización:

% _

LIKE Sirve para buscar una cadena de caracteres.

Igual a cualquier número de caracteres Igual a un solo carácter

Ejemplo 1: Desplegar los datos del empleado cuyo apellido comience con la letra “M” Mayúscula. 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” Mayúscula 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

2

Bases de Datos II Universidad La Salle

Comando: Utilización:

WHERE Sirve para calificar y seleccionar renglones de las tablas, especificando mas de una condición de búsqueda. (=,>,=,>=,IN, LIKE, IS NULL, BETWEEN ... AND.) (NOT, AND, OR)

Nota:  

Las constantes tipo carácter y fecha deben de ir entre comillas sencillas. Las constantes tipo carácter son sensibles a mayúsculas y minúsculas 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 más. SELECT ENAME, JOB, SAL FROM EMP WHERE SAL>=1500 AND JOB=’MANAGER’ OR JOB=’SALESMAN’;

Operadores:

= !=, , = > >= < =1500 JOB = ‘MANAGER’ OR JOB = ‘SALESMAN’;

Comando: Utilización:

NULL  Un valor NULO en una columna no es lo mismo que un cero.  Cero es un número, NULL no es un número.  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 comisión (cuyo valor en la columna comisión sea NULO). SELECT ENAME, JOB FROM EMP WHERE COMM IS NULL;

Ejemplos: USER_TABLES USER_USERS USER_VIEWS ALL_TABLES

Descripción de las tablas del usuario. Información sobre el usuario actual. Descripción de las visitas pertenecientes al usuario. Descripción de todas las tablas accesibles al usuario.

Edición 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

Añade un texto específico al final de la línea actual en el buffer. Cambiar la primer ocurrencia de texto en la línea actual del buffer con la cadena provista. C.ENP.EMP o C/ENP/EMP. Limpia el buffer. Borra la línea actual del buffer. Añade una o más líneas de texto después de la línea actual en el buffer. Lista todas las líneas del buffer. Lista la línea n del buffer. Despliega y ejecuta el contenido del buffer. Ejecuta el contenido del buffer Coloca el apuntador del buffer en la línea n. Reemplaza el contenido actual de la línea n con la cadena de texto provista, Ejemplo: 2 From emp; 1 Select * r 2 From Dept;

4

Bases de Datos II Universidad La Salle

Comando: Utilización:

CREATE TABLE Creación de tablas utilizando atributos de columna y datos de una tabla existente.

Ejemplos: Creación 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

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

Comando: Utilización:

datos Cadena de tipo caracter, puede tener un tamaño máximo de 255 bytes. Cadena de tipo caracter, puede tener un tamaño máximo de 2000 bytes. Valores numéricos de 0a 9. La posición, puede tener un rango de 1 a 38 y la posición 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) Tamaño máximo de 255 bytes. Datos en binario de longitud variable de tamaño hasta 2 Gb.

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 parámetros o solicitando valores. Insertar datos de un nuevo departamento a la tabla DEPT solicitando valores.

5

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: Utilización:

UPDATE Se utiliza para cambiar los datos de una tabla específica y para actualizar múltiples columnas en un solo renglón.

Ejemplo 1: Cambiar al empleado con número 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: Utilización:

DELETE Borra renglones de una tabla especifica.

Sintaxis: DELETE FROM WHERE

6

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: Utilización:

ALTER TABLE Altera. Modifica o actualiza la definición de la tabla.

Sintaxis: ADD Ejemplo 1: Añadir 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 TO ;

7