martes, 23 de junio de 2015

ACTIVIDAD DE EVALUACION 2.2


Practica 1

1.-Crearemos una base de datos llamada db123

mysql> create database db123;

Query OK, 1 row affected (0.00 sec)

2.-Usaremos o nos posicionamos en la base de datos

mysql> use db123;

Database changed

3.-Creamos una tabla:

mysql> create table tmujer(id int(2) not null auto_increment primary key, nombre varchar(60) not null, tipo varchar(20) null);

Query OK, 0 rows affected (0.08 sec)

4.-Veremos como quedo la table con el contenido

mysql> describe tmujer;

+--------+-------------+------+-----+---------+----------------+

| Field  | Type        | Null | Key | Default | Extra          |

+--------+-------------+------+-----+---------+----------------+

| id     | int(2)      | NO   | PRI | NULL    | auto_increment |

| nombre | varchar(60) | NO   |     | NULL    |                |

| tipo   | varchar(20) | YES  |     | NULL    |                |

+--------+-------------+------+-----+---------+----------------+

3 rows in set (0.00 sec)

5.-Ahora crearemos en procedimiento para agregar datos ala table antes creada, de igual manera que se inserte un nuevo registro y al final que muestre la tabla resultante.

Pero antes será necesario cambiar el delimitador mediante el comando “delimiter” que se utiliza para poder cambiar ”;” por otro carácter temporalmente por ejemplo “//” o “$”, esto es porque el “;” delimita el fin de la consulta, entonces el procedimiento puede tener varia consultas y entonces el procedimiento puede tener varias consultas y entonces nos indicaría el error al tratar de crear el procedimiento

mysql> delimiter //

mysql> create procedure setmujer(in nombre varchar(60), in tipo varchar(20))

    -> begin

    -> insert into tmujer(nombre,tipo) values (nombre,tipo);

    -> select * from tmujer;

    -> end//

Query OK, 0 rows affected (0.06 sec)

6.- El procedimiento ha sido creado entonces será necesario regresar al delimitador anterior

mysql> delimiter ;

 

7.-Para poder visualizar el procedimiento anterior es necesario cambiar de base de datos, los procedimientos se guardan en Mysql

mysql> use Mysql ;

Database changed

8.-Ahora veremos el procedimiento realizado con la sentencia

mysql> select specific_name from proc where type='procedure';

+---------------+

| specific_name |

+---------------+

| setmuje       |

+---------------+

1 row in set (0.00 sec)

9.-Ahora para poder ver el código se utiliza la sentencia

mysql> select body from proc where specific_name='setmujer';

Empty set (0.00 sec)

10.-Ahora verificamos el funcionamiento del procedimiento cambiándonos a la base de datos creada por nosotros

mysql> use db123;

Database changed

11.-Utilizamos la siguiente sentencia para invocar al procedimiento

mysql> call setmujer('pedro','vendedor');

+----+--------+----------+

| id | nombre | tipo     |

+----+--------+----------+

|  1 | pedro  | vendedor |

+----+--------+----------+

1 row in set (0.02 sec)

 

Query OK, 0 rows affected (0.03 sec)

12.-Veremos cómo se ejecutan cada una de las líneas del procedimiento insertando el nuevo registro y posteriormente mostrándonos la tabla resultante. Podemos agregar otro registro de la siguiente manera

mysql> call setmujer('maria','secretaria');

+----+--------+------------+

| id | nombre | tipo       |

+----+--------+------------+

|  1 | pedrp  | vendedor   |

|  2 | maria  | secretaria |

+----+--------+------------+

2 rows in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

13.- Para eliminar el procedimiento se utiliza la siguiente sentencia

mysql> drop procedure setmujer;

Query OK, 0 rows affected (0.00 sec)

14.-Verificamos cambiándonos a la base de datos mysql

mysql> use mysql;

Database changed

15.-Luego colocamos la sentencia

mysql> select specific_name from proc;

Empty set (0.00 sec)

 

 

 

 

 

 

 

Practica 1 vistas

 

mysql> create table t(qyt int, price int);

Query OK, 0 rows affected (0.08 sec)

 

mysql> insert into t values(3,50);

Query OK, 1 row affected (0.01 sec)

 

mysql> create view v as select qyt,price, qyt*price as value from t;

Query OK, 0 rows affected (0.06 sec)

 

mysql> select * from v;

+------+-------+-------+

| qyt  | price | value |

+------+-------+-------+

|    3 |    50 |   150 |

+------+-------+-------+

1 row in set (0.01 sec)

 

mysql> show create view v;

+------+----------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------+

| View | Create View

                                         |

+------+----------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------+

| v    | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `t`.`qty` AS `qty`,`t`.`price` AS `price`,(`t`.

`qty` * `t`.`price`) AS `value` from `t` |

+------+----------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------+

1 row in set (0.06 sec)

Practica 2 vistas

Enter password: ****

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database datos;

Query OK, 1 row affected (0.00 sec)

mysql> use datos;

Database changed

mysql> create table alum_matri(matricula int not null primary key,nombre varchar(30),apellidos varchar(50),semestre varchar(20),modulo varchar(50),calif_1 int, calif_2 int, calif_3 int);

Query OK, 0 rows affected (0.03 sec)

 

mysql> insert into

    -> alum_matri(matricula,nombre,apellidos,semestre,modulo,calif_1,calif_2, calif_3) values

    -> (123,'pamela','garcia lopez','cuarto','aswe',8,9,8),

    -> (456,'ariel','delvalle perreira','cuarto','aswe',7,9,9),

    -> (789,'miguel','barajas rivera','cuarto','aswe',9,9,9);

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

 

mysql> create view vista_alum_matri as select matricula,nombre,apellidos,(calif_1+calif_2+calif_3)/3 as promedio from alum_matri;

Query OK, 0 rows affected (0.00 sec)

 

mysql> show tables;

+------------------+

| Tables_in_datos  |

+------------------+

| alum_matri       |

| vista_alum_matri |

+------------------+

2 rows in set (0.00 sec)

mysql> select * from vista_alum_matri;

+-----------+--------+-------------------+----------+

| matricula | nombre | apellidos         | promedio |

+-----------+--------+-------------------+----------+

|       123 | pamela | garcia lopez      |   8.3333 |

|       456 | ariel  | delvalle perreira |   8.3333 |

|       789 | miguel | barajas rivera    |   9.0000 |

+-----------+--------+-------------------+----------+

3 rows in set (0.00 sec)

 

mysql> insert into alum_matri values(155,'marcos','sanches ibarra','cuarto','aswe',9,10,9);

Query OK, 1 row affected (0.00 sec)

 

mysql> select * from alum_matri;

+-----------+--------+-------------------+----------+--------+---------+---------+---------+

| matricula | nombre | apellidos         | semestre | modulo | calif_1 | calif_2 | calif_3 |

+-----------+--------+-------------------+----------+--------+---------+---------+---------+

|       123 | pamela | garcia lopez      | cuarto   | aswe   |       8 |       9 |       8 |

|       456 | ariel  | delvalle perreira | cuarto   | aswe   |       7 |       9 |       9 |

|       789 | miguel | barajas rivera    | cuarto   | aswe   |       9 |       9 |       9 |

|       155 | marcos | sanches ibarra    | cuarto   | aswe   |       9 |      10 |       9 |

+-----------+--------+-------------------+----------+--------+---------+---------+---------+

4 rows in set (0.00 sec)

 

mysql> select * from vista_alum_matri;

+-----------+--------+-------------------+----------+

| matricula | nombre | apellidos         | promedio |

+-----------+--------+-------------------+----------+

|       123 | pamela | garcia lopez      |   8.3333 |

|       456 | ariel  | delvalle perreira |   8.3333 |

|       789 | miguel | barajas rivera    |   9.0000 |

|       155 | marcos | sanches ibarra    |   9.3333 |

+-----------+--------+-------------------+----------+
4 rows in set (0.00 sec)

No hay comentarios.:

Publicar un comentario