viernes, 25 de noviembre de 2016

Ejercicio sentencias testtutorial mysql


  •  mysql -u root -p : Acceder a mysql. -u root para elegir usuario y -p para que nos pida la contraseña.
  • show databases : Nos muestra las bases de datos creadas.
  • create database testtutorial : Crea la base de datos "testtutorial".
  • show databases : Muestra de nuevo las bases de datos, vemos que ahora se añadió "testtutorial".
  • select * from user : Da error porque no hay ninguna tabla creada con ese nombre. Más adelante podremos hacerlo con "usuarios".





  • use testtutorial : Usamos la base de datos anteriormente creada.
  • show tables : Vemos las tablas. Vemos que de momento sale vacío.
  • create usuarios(id INTEGER PRIMARY KEY,nombre VARCHAR(100)) : Da error porque la sentencia correcta es create "table" usuarios.
  • create table usuarios(id INTEGER PRIMARY KEY,nombre VARCHAR(100)) :
     Crea la tabla "usuarios" con los campos "id"       y "nombre".
  • show tables : Muestra las tablas. Vemos que ahora aparece la tabla "usuarios".
  • describe usuarios : Muestra los campos y sus características de la tabla "usuarios".
  • alter table usuarios add apellido VARCHAR (100) : Modifica la tabla y añade el campo "apellido".
  • describe usuarios : Vemos que ahora además de los campos "id " y "mombre" se añadió "apellido".
  • insert into usuarios (id,nombre,apellido) VALUES (100,"Pepe","Ramos") : Inserta en la tabla "usuarios" para los campos id,nombre y apellidos los valores 100, Pepe y Ramos, respectivamente.
  • insert into usuarios (id,nombre,apellido) VALUES (101,"Pepa","Ramos") : Lo mismo que la sentencia anterior.
  • insert into usuarios (id,nombre,apellido) VALUES (102,"Juan","Ostras") : Lo mismo que la sentencia anterior.
  • insert into usuarios (id,nombre,apellido) VALUES (102,"Fran","Jurez") : Insertaría los valores si no fuera porque la clave primaria id 102 ya está asignada a Juan y no se puede duplicar.
  • insert into usuarios (id,nombre,apellido) VALUES (105,"Fran","Jurez") : Al cambiar el id de 102 a 105 ya nos permite añadir los valores.
  • select * from usuarios : Muestra todos los valores para cada uno de los campos de la tabla usuarios.
  • select * from usuarios where nombre LIKE "%Pep%" : Muestra la información(campos) de todos los usuarios que su "nombre" contenga "Pep". Existen Pepe y Pepa.
  • select * from usuarios where nombre LIKE "Pep" : Muestra la información de los usuarios que se llamen "Pep". No hay ninguno.
  • select * from usuarios where nombre LIKE "Pepe" : Muestra la información de los usuarios que se llamen "Pepe".
  • select * from usuarios where nombre LIKE "Pep%" : Muestra la información de los usuarios que su nombre comience por "Pep". Hay Pepe y Pepa.
  • select nombre,apellido from usuarios where nombre LIKE "Pep%" : Lo mismo que la sentencia anterior pero solo muestra los campos "nombre" y "apellido".
  • select nombre,apellido from usuarios where nombre NOT LIKE "Pep%" : Como la sentencia anterior pero lo contrario, muestra esos campos para los usuarios que su nombre no empiece por Pep. Tenemos a Juan y Fran.
  • select * from usuarios : Muestra todos los valores para cada uno de los campos de la tabla usuarios.
  • select * from usuarios where id > 101: Muestra todos los valores para cada uno de los campos de la tabla usuarios donde su "id" sea mayor de 101. 

  • select * from usuarios where id < 101: Lo mismo que la sentencia anterior pero que su "id" sea menor de 101.
  • select * from usuarios where id <= 101: Lo mismo que la sentencia anterior pero que su "id" sea menor o igual que 101.
  • select * from usuarios where id IN (100,101):
  •      Lo mismo que la sentencia anterior pero solo los usuarios que su "id" sea o 100 o 101.
  • select * from usuarios where id IN (100,120):
  •      Lo mismo que la sentencia anterior pero solo los usuarios que su "id" sea o 100 o 120.
  • delete from usuarios where id = 100 : Elimina el usuario que su "id" sea el 100.
  • select * from usuarios : Muestra todos los valores para cada uno de los campos de la tabla usuarios. Vemos que ahora no esta el usuario 100.
  • delete from usuarios limit 1 : Elimina el primer usuario que hay en la tabla.
  • delete from usuarios : Elimina todos los usuarios de la tabla.
  • drop table usuarios : Elimina la tabla "usuarios".
  • show tables : Vemos que ya no tenemos ninguna tabla.
  • drop database testtutorial : Elimina la base de datos "testtutorial".
  • show databases : Muestra las bases de datos. Vemos que ya no esta "testtutorial".
  • exit : Salimos de mysql.

jueves, 17 de noviembre de 2016

Ejercicios Propuestos T2 Ejer 10

10. Has perdido todos tus datos aunque posees una copia de seguridad completa (un fichero sql generado con el programa mysqldump) de hace 48 horas. Dispones tambien de un registro binario de esas 48 horas. ¿Como retornas el servidor a su estado exacto en el momento de la
perdida de datos?


1º. Restauramos la base de datos con el fichero sql generado con mysqldump: mysql -u root -p nombre_base_de_datos < fichero.sql

2º Actualizar el servidor al momento exacto de la perdida con el comando:
mysqlbinlog log-file | mysql-h nombre_servidor

Ejercicios Propuestos T2 Ejer 9

9. Averigua el significado del concepto de replicación en el contexto de base de datos. ¿Que relación crees que tiene la replicación con los registros binarios?

El proceso de replicación de una base de datos consiste en replicar las consultas de actualización (tanto DML como DDL) en una base de datos maestra (master) sobre una o varias bases de datos esclavas (slave), de manera que tengamos una copia de las mismas a lo largo del tiempo.
El registro binario también se utiliza en los servidores maestros de replicación como recordatorio de las sentencias que deben ser enviadas a los servidores esclavos.

Ejercicios Propuestos T2 Ejer 8

8. Usa tu máquina virtual con Linux para comprobar el contenido del directorio bin de mysql. Indica al menos 3 programas adicionales que incluya, con respecto a la instalacion de windows y comentalos brevemente usando la ayuda de man.
mysqladmin → Sirve para configurar mysql
mysqlbug → Genera un reporte de bugs

mysqlbug → Un programa para el mantenimiento de tablas

Ejercicios Propuestos T2 Ejer 7

7. ¿Qué dos aspectos debemos tener en cuenta en el servidor para permitir el acceso remoto? Haz que uno o más compañeros se conecten a tu servidor. Indica el comando para visualizarlas usando el programa mysqladmin

Que las lineas del archivo de configuracion my.ini que ponen skip-networking y bind address tienen que estar comentadas. De lo contrario si están descomentadas se prohibe las conexiones al servidor desde otro equipo remoto

viernes, 11 de noviembre de 2016

Ejercicios Propuestos T2 Ejer 6

6. Averigua el tamaño máximo de los archivos de registro binario y en qué variable se configura. Configura dicha variable para un tamaño máximo de 5BK y comprueba su funcionamiento después de algunas inserciones en la tabla test.t1.


Ejercicios Propuestos T2 Ejer 5

5. Crea una tabla t1 en la base test con un campo numérico y de tipo InnoDB. Modifícala para que sea MyISAM. ¿Qué cambios observas en el sistema de ficheros en el directorio de datos de MySQL?

(Se observa que crear unos archivos de la tabla t1 nuevos con extensiones .MYD y .MYI)

InnoDB
  • Bloqueo de registros. Importante para accesos múltiples al mantenimiento de tablas, es decir, ejecuciones de sentencias tipo INSERT o UPTATE, éstas ejecuciones tienen una velocidad optimizada.
  • Capacidad para soportar transacciones e integridad de datos, es decir previene el alta de datos no adecuados.
  • Aplica las características propias de ACID (Atomicity, Consistency, Isolation and Durability), consistentes en garantizar la integridad de las tablas.
MyISAM
  • Se establece por defecto cuando se crea una tabla, salvo que se indique lo contrario.
  • Soporta transacciones.
  • Realizar bloqueo de registros.
  • Soporta un gran número de consultas SQL, lo que se refleja en unavelocidad de carga muy rápida para nuestra web.
  • No realiza bloqueo de tablas