Practica1 ConexionMySQL by 9Poq16Eo

VIEWS: 12 PAGES: 10

									                                 UNIVERSIDAD NACIONAL DE COLOMBIA
                                      FACULTAD DE INGENIERÍA




                                            BASES DE DATOS
                                    PROFESORA ELIZABETH LEÓN PhD.

                                                  PRÁCTICA

                          Parte I. Conexión a Motores de Bases de Datos
                                              MYSQL
OBJETIVOS

    1. Establecer conexión al servidor de bases de datos de mysql usando un cliente. Se utilizarán dos
       métodos de acceder al servidor.
    2. Aprender a usar un sistema administrador de bases de datos utilizando lenguaje SQL

1. Usando la herramienta cliente “MySQL Query Browser“

MySQL Query Browser es una herramienta gráfica proporcionada por MySQL AB para crear, ejecutar, y optimizar
consultas en un ambiente gráfico, está diseñado para ayudarle a consultar y analizar datos almacenados en su
base de datos MySQL.

MySQL Query Browser está disponible para Windows y para Linux, en forma de fuentes o compilados en la
dirección: www.mysql.com

1. Si esta herramienta no esta instalada en su computador instalarla.

2. Ejecutar la herramienta.

    Si esta trabajando en Windows, abrir MySQL Query Browser haciendo doble click en el ícono sobre el
    escritorio, o seleccionando su registro en el menú. Alternativamente, usted puede abrir una ventana MS-DOS
    y abrir MySQL Query Browser desde línea de comando:
    C:\%PROGRAMFILES%\MySQL\MySQL Query Browser 1.1\MySQLQuery Browser.exe

    %PROGRAMFILES% es el directorio de los programas por defecto en su maquina. Por ejemplo,
    C:\Archivos de Programa o C:\Program files. Si la ruta contiene espacios, es
    recomendable encerrar el comando con comillas dobles. Por ejemplo:
    C:\>"C:\archivos de programa\MySQL\GUITools\MySQLQueryBrowser. exe"

3. Establecer la conexión al servidor de bases de datos de MySql


                                                                                                            1
       Una vez que MySQL Query Browser ha sido iniciado, este despliega un dialogo de conexión. Se tiene
       que especificar el servidor MySQL al cual le gustaría conectarse, las credenciales son necesarias para la
       autorización en el servidor, y la base de datos seleccionada (Esquema) por defecto.




       Server host:     168.176.126.10
       Username:        Login del correo de la Universidad, por ejemplo flrodriguezc
       Password:        El mismo Username
       Schema:          (No es necesario) DB1 (Grupo1) o DB2 (Grupo2)

       Usted debe seleccionar la base de datos predeterminada a razón de sus consultas.

       Una vez que se ha conectado satisfactoriamente al servidor MySQL usted esta situado en la ventana
       central de consultas de el MySQL Query Browser. Todas las funcionalidades de la aplicación están
       disponibles a través de esta ventana.


4. Descripción de MySql Query Browser

        La ventana principal de consultas esta dividida en varias secciones:

        Barra de Herramientas de Consulta
        La barra de herramientas de consultas es donde se crea y ejecuta sus sentencias. Este esta compuesto
        por tres botones de navegación, el área de la consulta, dos botones de acción, y un indicador de
        estatus.



                                                                                                              2
        Barra de Herramientas Avanzadas:
        La barra de herramientas avanzadas contiene un set de tres botones: Los botones de Transacción(
        Start,Commit, Rollback), los botones de administración de consultas(Explain,
        Comparar), y el botón de creación de consultas (Select, From, Where, etc.).

      Area de Resultado:
      Todos los resultados de las consultas son desplegados en el área de resultados.

      Navegador de Objetos:
      El navegador de objetos es parte de la barra de al lado y permite administrar sus bases de datos,
      favoritos e historial.

      El Navegador de Bases de Datos
      El navegador de bases de datos (Esquemas) es la ventana primaria del navegador de objetos. Usted
      puede usar el navegador de bases de datos no solamente para seleccionar tablas y columnas a
      consultar, también puede editar tablas, crear nuevas tablas o bases de datos, eliminar tablas y bases de
      datos. También se puede configurar la base de datos por defecto.
      Usted puede filtrar las bases de datos mostradas usando la barra de búsquedas que se encuentra en la
      parte de arriba del navegador de bases de datos. Como se va escribiendo en la barra de búsquedas, las
      bases de datos que no coincidan serán ocultadas de la vista.

      Navegador de Información:
      El navegador de Información es parte de la barra de al lado y es usada para ver las funciones pre-
      construidas, y administrar consultas que contengan parámetros. Un ejemplo de esto es cuando
      establecemos una vista maestra con un par de consultas. Los datos en la consulta maestra están
      disponibles como parámetros de la consulta detallada.

      El Navegador de Sintaxis
      El navegador de sintaxis proporciona una herramienta de referencia rápida para determinar la sintaxis
      correcta a usar cuando se construye una consulta. Con doble click sobre los diferentes tipos de sintaxis
      (SELECT,REPLACE, etc) se muestran sobre de ellos información referente usando el sistema de
      ayuda en línea.


2. Usando SSH Secure Shell

    En Windows
     Abrir la aplicación de “Secure Shell Client”, haciendo doble click en el ícono sobre el escritorio, o
     seleccionando desde Inicio.




                                                                                                            3
    Por medio de Quick Connect:

    Host Name: 168.176.126.10
    User Name: dbcourse
    Port number: 22
    Authentication Method: Password

    Después pide la contraseña:
    Password: “será proporcionado en clase”

 En Linux,
      o Verificar si el cliente esta instalado en el computador
      Para chequear si existe mysql ejecutar:        mysql --version
     Si no existe, es necesario ejecutar el comando desde otra máquina donde si esta arriba el cliente:
          Ejecutar el comando ssh desde la consola de comandos

                  ssh –l dbcourse 168.176.126.10

        o Ahora usaremos el cliente para conectarnos a la base de datos de la siguiente manera:

               mysql –u nombre_usuario –p

    NOTA: nombre_usuario es el login del correo de la Universidad, por ejemplo flrodriguezc
    Enseguida pregunta el password.

    Enter password: nombre_usuario
    NOTA: por defecto se encuentra el mismo nombre_usuario


                                                                                                          4
                           Parte II. Manipulación básica del Motor MYSQL

Las siguientes sentencias, deben ser llevadas a cabo en la práctica, tanto en la consola del SSH Secure Shell
como en MySQL Query Browser.

1. Comandos Básicos

    Comandos de interprete

    \q salir
    \h ayuda

    Dentro de MySql pueden existir varias bases de datos. Cada base de datos es un espacio independiente con
    sus propios objetos de datos. Para ver la lista de bases de datos disponible se usa:

    SHOW DATABASES;

    Seleccionar Bases de Datos

Para seleccionar una base de datos se usa:

USE nombre_base_de_datos;

Seccionar la base de datos DB1


    Mostrar tablas en la base de datos

Para ver la lista de tablas que contiene la base de datos ya seleccionada se usa:

SHOW TABLES;


    Mostrar descripción de una tabla

Para ver la descripción de una tabla específica de la base de datos seleccionada se usa:

DESCRIBE nombre_tabla;

En el ejemplo:

DESCRIBE restaurante;

    Seleccionar el contenido de una tabla


                                                                                                           5
Para seleccionar toda la información de la tabla:

SELECT * FROM restaurante;

Para ver la información de un campo específico (Proyección) se usa:

SELECT nombre_campo FROM nombre_tabla;

Seleccionar otros campos de la tabla.

    Cambiar password

Para cambiar la contraseña del usuario se usa:

SET password = password (‘nuevo password’);

Para verificar el password: salir de Mysql (EXIT) y volver a entrar.


2. Creación y Borrado de tablas en MYSQL

El comando para crear tablas es CREATE TABLE (se recomienda escribirlo siempre en mayúscula). Ejemplo:

CREATE TABLE agendaNumero (
   nombre TEXT,
   apellido TEXT,
   telefono INTEGER,
   nacimiento INTEGER,
   estatura FLOAT
);
En este ejemplo TEXT e INTEGER son dos tipos de datos que existen en MySQL.

El comando usado para borrar tablas es DROP TABLE. Ejemplo:

DROP TABLE agenda

Actividad: Crear una tabla llamada agenda_numero donde numero es el numero del grupo al cual pertenecen.
Para ver si la tabla fue creada exitosamente usar SHOW TABLES, y para ver todos los datos de la tabla SHOW
COLUMNS FROM agendaNumero.


3. Inserción de datos

El comando usado es INSERT. Ejemplos:

INSERT INTO agenda (nombre, apellido, telefono, nacimiento, estatura) VALUES (‘Juan’,’Rios’, 2309876, 1990, 1.70);



                                                                                                                     6
INSERT INTO agenda (nombre, apellido, telefono, nacimiento, estatura) VALUES (‘Ana’,’Suarez’, 2456876, 1983, 1.60);

Actividad: insertar 10 filas, al menos dos con el mismo nombre pero distinto apellido, y al menos dos con la
misma fecha de nacimiento.

4. Borrado de datos

El comando para borrar datos en la tabla es DELETE TABLE (se recomienda escribirlo siempre en mayúscula).
Para borrar todos los datos de la tabla se usa:

DELETE TABLE nombre tabla

Para borrar solo algunos registros de la tabla se usa con la cláusula WHERE. Ejemplo:

DELETE TABLE agenda WHERE nacimiento < 1980

Actividad: borrar 3 filas de la tabla agenda con alguna condición.

5. Consultas

Los siguientes comandos ejecutan consultas a la base de datos:
SELCT*FR OMag enda; SELCT nombre,apeli doF RO SELCTtelfonFROM agend WHR Eapi d='Gonzlz'; SELCT nombr eFROM agend WHR Ea into1984;




SELCT*FR OMag enda; SELCT nombre,apeli doF RO SELCTtelfonFROM agend WHR Eapi d='Gonzlz'; SELCT nombr eFROM agend WHR Ea into1984;




SELECT * FROM agenda;
SELECT nombre, apellido FROM agenda;
SELECT telefono FROM agenda WEHRE apellido='Gonzalez';
SELECT nombre FROM agenda WHERE nacimiento = 1983;

SELECT DISTINCT nombre FROM agenda;

SELECT nombre FROM agenda WHERE apellido='Rios' OR apellido='Gonzalez’
SELECT nombre FROM agenda WHERE apellido='Rios' AND nacimiento = 1983;

SELECT apellido FROM agenda WHERE LIKE 'P%';

Actividad: Escribir 5 consultas sobre la tabla de agenda creada por el grupo.

Actividad: Crear una tabla con mínimo 5 columnas (tema de libre elección). Insertar 10 filas y luego hacer 5
consultas diferentes.

Actividad: Crear las tablas de la tarea de Algebra relacional (productos, envíos, proyectos y partes), y realizar
las consultas.

6. Consultas Complejas


                                   6.1 Usar Base de Datos del Grupo
                                          a. Seleccionar la base de datos de su grupo. GR1_2 indica que el grupo del curso es el 1 y el


                                                                                                                                          7
            grupo de trabajo es el 2. Si usted es del grupo2 y su grupo de trabajo es el 5 entonces su base
            de datos es GR2_5
         b. Cargar el archivo municipios.sql .
                  i. Primero bajar el archivo municipios.sql de la página del curso y
                 ii. Usando la aplicación de Query Browser, en File del menú principal y la opción open
                     script se carga el script municipios.sql
                iii. Ejecutar el script haciendo click en el boton execute (verde)

         c. Verificar si los datos fueron cargados
                    i. SHOW columns FROM comunitat;
                   ii. SHOW columns FROM municipi;
         d. Verificar si tienen datos
                    i. SELECT * FROM comunitat;
                   ii. SELECT * FROM municipi;
         Si las tablas no existen o no contienen datos, repetir el proceso cuidadosamente. Las tablas deben
         estar creadas y cargadas para los siguientes puntos.

6.2 Búsqueda de Strings
     El operador más usado en MYSql para buscar strings es LIKE. Con este comando se pueden realizar las
     siguientes consultas:
          Consulta Exacta
                   LIKE ´Catalunya´
          Consulta omitiendo una parte
                   LIKE ´Catal%´
          Consulta omitiendo un carácter
                   LIKE ´Ca_t__unya’
     Se pueden combinar usando AND, OR y NOT

         e. Cuales son los resultados y explicar de:
            SELECT nom FROM comunitat WHERE nom LIKE ‘%Castilla% AND nom NOT LIKE
            ‘%Mancha’%’;

     Funciones que se pueden aplicar sobre los strings:
         LENGHT(´texto´) -> 5
         CONCAT(´text´, ‘to’) -> texto
         LOWER(´TexTO´) -> texto
         UPPER(´TexTO´) -> TEXTO
         RTRIM(´TexTO ´) -> TexTO //quitar espacios

     Todas las funciones pueden ser combinadas, por ejemplo:

         SELECT nom FROM municipi WHERE LOWER (nom) LIKE ´%a%´ AND LENGTH(nom) <=3

         f.   Escribirt una consulta para:
                   i. Municipios que tengan solamente una X en su nombre (una y sóla una) y que su nombre
                       sea mas largo que 20 caracteres


                                                                                                              8
                ii. Municipios que tengan sólo untito de vocal en su nombre. Esto incluye: todos los que se
                    escriben solo con A, todos los que se escriben solo con E, … en una sóla consulta.
                    Ejemplo: “Tolox” y “Jun” están bien, pero “portbou” no. Use paréntesis para agrupar
                    condiciones, y escriba todo en una sola consulta

6.3 Búsqueda con condiciones numéricas
    Los operadores numéricos que se usan son: <,>,!=,<= y >=

   Ejemplo:SELECT NOM from municipi WHERE poblacio2003 > 1000000

   Existe la posibilidad de usar operadores de agregación, que usan los valores de una columna completa.
   Los típicos son:
        AVG: promedio,
        MIN y MAX : minimo y máximo
        SUM: suma
        Count: contar

   Ejemplo usando operadores de agregación:

   SELECT MAX(poblacio2003) FROM municipi;
   SELECT poblacio2001-poblacio1991 FROM municipi;
   SELECT AVG(superficie) FROM municipi;
   SELECT nom FROM municipi WHERE poblacio2003=(SELECT MAX(poblacio2003) FROM municipi)

   Las columnas numéricas se pueden usar para ordenar usando ORDER BY. Adicionalmente se puede
   usar LIMIT para restringir el máximo de elementos a retornar

   Ejemplo: SELECT nom FROM municipi ORDER BY poblacio2003 DESC LIMIT 10
   Escribir una consulta para:
       a. Nombre de los 5 municipios más densamente poblados en el 2003.
            Densidad=población/superficie
       b. Nombre de los municipios que tienen una superficie menor a 1/10 del promedio
       c. Nombre y población en el 1991 y en el 2001 de los municipios que tienen una población 10
            veces mayor en el 2001 que en 1991, pero que tenían habitantes en 1991 (hay sólo uno)

6.4 Búsqueda en más de una tabla

   Para buscar en mas de una tabla, lo que se necesita es unir ambas tablas por una columna que tenga el
   mismo significado. En este caso, la tabla comunitat tiene una columna ca_id, y la tabla municipi también:

   Ejemplo:
       SELECT municipi.nom, comunitat.nom FROM municipi, comunitat WHERE municipi.ca=id =
          comunitat.ca_id AND Comunitat.nom = ´Catalunya´ ORDER BY municipi.nom;
       SELECT comunitat.nom, SUM(municipi.poblacio2003) FROM municipi, comunitat WHERE
          municipi.ca_id= comunitat.ca_id GROUP BY comunitat.nom ORDER BY comunitat.nom




                                                                                                           9
Escribir una consultya para:
         a. Superficie total de cada comunidad
         b. Variación de la población entre 1991 y 2001 en cada comunidad
         c. Superficie total de la comunidad de Galicia




                                                                            10

								
To top