0% encontró este documento útil (0 votos)
6 vistas6 páginas

Creación de Tablas y Consultas SQL en MySQL

El documento describe la implementación de tablas en una base de datos MySQL usando sentencias SQL. Se crean tres tablas (EMP, DEPT, SALGRADE) y se insertan registros de ejemplo en cada una. Luego se muestran ejemplos de consultas SQL SELECT para extraer información específica de la tabla EMP.

Cargado por

Darling Fajardo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas6 páginas

Creación de Tablas y Consultas SQL en MySQL

El documento describe la implementación de tablas en una base de datos MySQL usando sentencias SQL. Se crean tres tablas (EMP, DEPT, SALGRADE) y se insertan registros de ejemplo en cada una. Luego se muestran ejemplos de consultas SQL SELECT para extraer información específica de la tabla EMP.

Cargado por

Darling Fajardo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UASD/ 2013-1/ INF-424/ LAB 05-2

NOMBRE DARLING MATRICULA


1 0 0 4 5 1 8 1 5 Para uso
APELLIDO FAJARDO del
profesor
SECCIÓN: 05 Sábados

TEMA 05: Structured Query Language (SQL)


Tiempo disponible: 60 mins.

5.2.1 Implemente de una manera simple las siguientes tablas usando el DBMS MySQL bajo el
schema INF424DB.

Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 1 of 6
5.2.2 Requerimientos

a) Cree las tablas de acuerdo a lo aprendido en uso de sentencias DDL CREATE TABLE. Seleccione los
dominios de cada atributo de acuerdo a su apreciación en las figuras anteriores y basándose en los
tipos de datos disponibles en MySQL.

Referencias disponibles:
- (Skydrive) Manual de referencia de mysql, capitulo 11 – Tipos de columna
- (Skydrive) Documento INF424_05_SQL_Guia_de_referencia.xls
- (Este documento) Cuadro de tipos de datos soportados en campos MySQL
- Tutoriales de internet

mysql> use inf424db;


Database changed

mysql> CREATE TABLE emp


-> (empno smallint,
-> ename varchar(25),
-> job varchar(9),
-> MGR smallint,
-> hiredate date,
-> sal decimal,
-> comm decimal,
-> deptno tinyint);
Query OK, 0 rows affected (0.63 sec)

mysql> CREATE TABLE dept


-> (deptno tinyint,
-> dname varchar(10),
-> loc varchar(10));
Query OK, 0 rows affected (0.33 sec)

mysql> CREATE TABLE salgrade (grade TINYINT, losal DECIMAL, hisal DECIMAL);
Query OK, 0 rows affected (0.33 sec)

b) En cada tabla, inserte los registros que se encuentran en las diferentes figuras.

Tabla SALGRADE

mysql> insert into salgrade values (1, 700, 1200);


Query OK, 1 row affected (0.08 sec)

mysql> insert into salgrade values (1, 1201, 1400);


Query OK, 1 row affected (0.06 sec)

mysql> insert into salgrade values (3, 1402, 2000);


Query OK, 1 row affected (0.03 sec)

mysql> insert into salgrade values (4, 2001, 3000);


Query OK, 1 row affected (0.05 sec)

mysql> insert into salgrade values (5, 3001, 9999);


Query OK, 1 row affected (0.03 sec)

mysql> select * from salgrade;


+-------+-------+-------+
Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 2 of 6
| grade | losal | hisal |
+-------+-------+-------+
| 1 | 700 | 1200 |
| 2 | 1201 | 1400 |
| 3 | 1401 | 2000 |
| 4 | 2001 | 3000 |
| 5 | 3001 | 9999 |
+-------+-------+-------+
5 rows in set (0.00 sec)

Tabla DEPT

mysql> insert into dept values (10, 'ACCOUNTING', 'NEW YORK');


Query OK, 1 row affected (0.05 sec)

mysql> insert into dept values (20, 'RESEARCH', 'DALLAS');


Query OK, 1 row affected (0.05 sec)

mysql> insert into dept values (30, 'SALES', 'CHICAGO');


Query OK, 1 row affected (0.03 sec)

mysql> insert into dept values (40, 'OPERATIONS', 'BOSTON');


Query OK, 1 row affected (0.03 sec)

mysql> select * from dept;


+--------+------------+----------+
| deptno | dname | loc |
+--------+------------+----------+
| 10 | ACCOUNTING | NEW YORK |
| 20 | RESEARCH | DALLAS |
| 30 | SALES | CHICAGO |
| 40 | OPERATIONS | BOSTON |
+--------+------------+----------+
4 rows in set (0.00 sec)

Tabla EMP

mysql> insert into emp


-> values (7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
Query OK, 1 row affected (0.06 sec)

mysql> insert into emp


-> values (7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7782,'CLARK','MANAGER',7839,'1981-06-09',1500,NULL,10);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
Query OK, 1 row affected (0.03 sec)

Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 3 of 6
mysql> insert into emp
-> values (7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
Query OK, 1 row affected (0.03 sec)

mysql> insert into emp


-> values (7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
Query OK, 1 row affected (0.06 sec)

mysql> insert into emp


-> values (7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
Query OK, 1 row affected (0.03 sec)

mysql> insert into emp


-> values (7788,'SCOTT','ANALYST',7566,'1982-12-09',3000,NULL,20);
Query OK, 1 row affected (0.06 sec)

mysql> insert into emp


-> values (7876,'ADAMS','CLERK',7788,'1983-01-12',1100,NULL,20);
Query OK, 1 row affected (0.05 sec)

mysql> insert into emp


-> values (7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
Query OK, 1 row affected (0.03 sec)

mysql> select * from emp;


+-------+--------+-----------+------+------------+------+------+--------+
| empno | ename | job | MGR | hiredate | sal | comm | deptno |
+-------+--------+-----------+------+------------+------+------+--------+
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 1500 | NULL | 10 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 4 of 6
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000 | NULL | 20 |
| 7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
+-------+--------+-----------+------+------------+------+------+--------+
14 rows in set (0.00 sec)

c) Escriba las sentencias DML SELECT necesarias para extraer las siguientes informaciones de la
bases de datos:

a. Muestre todos los registros de la tabla EMP

Sentencia SELECT utilizada:

SELECT * FROM emp;

b. Muestre solo los empleados que se desempeñan como gerentes (JOB=’MANAGER’)

Sentencia SELECT utilizada:

SELECT * FROM emp WHERE job = 'MANAGER';

c. Muestre los empleados que ganan más de 2,975.00

Sentencia SELECT utilizada:

SELECT * FROM emp WHERE sal > 2975;

d. Muestre los empleados que trabajen como ‘CLERK’, cuyo salario es mayor a 1,150.00

Sentencia SELECT utilizada:

SELECT * FROM emp WHERE job = 'CLERK' AND sal > 1150;

e. Muestre los empleados que trabajen como ‘CLERK’ o como ‘PRESIDENT’

Sentencia SELECT utilizada:

SELECT * FROM emp WHERE job IN ('CLERK', 'PRESIDENT');

f. Muestre los empleados que tienen 31 o más años de trabajo. Proyecte ENAME, JOB,
HIREDATE, “TIEMPO TRABAJADO” y SAL.

Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 5 of 6
Sentencia SELECT utilizada:

SELECT ename, job, hiredate, TIMESTAMPDIFF(YEAR, hiredate, CURDATE()) AS "TIEMPO


TRABAJADO", sal FROM emp WHERE TIMESTAMPDIFF(YEAR, hiredate, CURDATE()) >= 31;

g. Muestre los empleados que no tienen comisión.

Sentencia SELECT utilizada:

SELECT * FROM emp WHERE comm IS NULL;

5.2.3 Referencias

Cuadro de tipos de datos soportados en campos MySQL


Tipo Descripción
Tinyint[Unsigned] Entero de 0 a 255 o de -128 a 128
Smallint[Unsigned] Entero de 0 a 65535 o de -32768 a 32768
Int o Integer Entero normal. Rango de -2147483648 a 214783648
Float[ (M,D) ] Número de coma flotante de simple precisión si no se pasa ningún
argumento M es el nº de dígitos y D el nº de decimales
Double [ (M,D) ] Número de coma flotante de doble precisión. Siempre dispone de signo
MyD
Decimal [ (M [,D]) ] Número almacenado como cadena de caracteres M es el número total
de dígitos y D el nº de decimales
Date Tipo fecha. Admite formatos "AAAA-MM-DD" o "AA-MM-DD" o
"AAMMDD"
Time Tipo hora. Admite formato "HH:MM:SS" o "HHMMSS" o "HHMM" o "HH"
Char(longitud) Cadena de caracteres de la longitud indicada. Se reserva el espacio en
caracteres aunque no se usen
Varchar(longitud) Cadena de caracteres de la longitud indicada que se almacena con su
ocupación. Máxima longitud: 255 caracteres
Blob Tipo destinado a almacenar bits sin interpretar. Se usa para almacenar
texto más largo de 255 caracteres. Diferencia mayúsculas de
minúsculas.
Text Tipo Destinado a almacenar bits sin interpretar. Se usa para almacenar
texto más largo de 255 caracteres. No diferencia mayúsculas de
minúsculas.

Laboratorio 5-2 del tema SQL, Profesores Victor Calcaño y Julio Castro, Página 6 of 6

También podría gustarte