SlideShare une entreprise Scribd logo
1  sur  77
Para principiantes:
desde cero hasta triggers
   Nancy Michelle Torres Villanueva


                              MySQL para principiantes
                                 por Michelle Torres
Índice
    1. Introducción
    2. Obtener ayuda en MySQL
    3. Conectarse con el servidor
    4. Mostrar bases de datos
    5. Acceder a una base de datos
    6. Crear una base de datos
    7. Borrar una base de datos
    8. Mostrar tablas

2                                    MySQL para principiantes
                                        por Michelle Torres
… Índice
    9. Crear una tabla
    10.Valores nulos
    11.Valores por defecto
    12.Borrar una tabla
    13.Estructura de una tabla
    14.Modificar tablas
    15.Cargar datos
    16.Modificar datos

3                                MySQL para principiantes
                                    por Michelle Torres
… Índice
    17.Eliminar datos
    18.Consultas
       •   Ordenar
       •   Renombrar
       •   Agrupar
       •   Cálculos
    19.Manejo de Fechas
    20.Patrones
    21.Expresiones regulares
4                              MySQL para principiantes
                                  por Michelle Torres
… Índice
    22.Consultas con varias tablas
    23.Imágenes
    24.Triggers




5                                    MySQL para principiantes
                                        por Michelle Torres
Introducción
    ●   En este taller obtendrás los conocimientos primordiales
        para el manejo de bases de datos MySQL.
    ●   El objetivo es mostrarte el uso de MySQL, para crear y
        usar una sencilla base de datos, y con un poquito más,
        inclusive utilizar triggers para hacer esta base de datos
        mas completa.




6                                             MySQL para principiantes
                                                 por Michelle Torres
MySQL
    ●   MySQL es un gestor de base de datos que
        permite conectarnos a un servidor, ejecutar
        algunas consultas, y ver los resultados.
    ●   MySQL puede ser usado también en modo
        batch: es decir, se pueden colocar toda una
        serie de consultas en un archivo, y
        posteriormente decirle a MySQL que ejecute
        dichas consultas.

7                                     MySQL para principiantes
                                         por Michelle Torres
Obtener ayuda en MySQL
      mysql --help




8                    MySQL para principiantes
                        por Michelle Torres
Conectarse al servidor
    Para acceder a la cuenta de MySQL se ingresa con los
    siguientes datos.
    ●   Username: bdxxxxxxx
    ●   Password: xxxxxxx
    Una vez dentro, tendremos a nuestra disposición todas las
    sentencias de MySQL para el trabajo con la base de datos
    y el lenguaje SQL.



9                                          MySQL para principiantes
                                              por Michelle Torres
Conectarse al servidor


     mysql-h computadora -u usuario -p




10                         MySQL para principiantes
                              por Michelle Torres
Mostrar bases de datos
     Mediante la sentencia SHOW se encuentran las bases de datos
     que existen actualmente en el servidor



                  SHOW DATABASES;




11                                           MySQL para principiantes
                                                por Michelle Torres
Acceder a una base de datos



        USE nombre_bd;




12                    MySQL para principiantes
                         por Michelle Torres
Crear una base de datos

     CREATE DATABASE Nombre_BD;




13                      MySQL para principiantes
                           por Michelle Torres
Conectarse a MySQL ya con una
         base de datos especificada
     Debemos seleccionar la base de datos cada vez que iniciamos una
     sesión con mysql, así que es recomendable indicar la base de datos
     sobre la que vamos a trabajar al momento de invocar al monitor de
     MySQL.


         mysql -h computadora -u usuario -p nombre_BD




14                                                 MySQL para principiantes
                                                      por Michelle Torres
Borrar una base de datos

     DROP DATABASE Nombre_BD;




15                     MySQL para principiantes
                          por Michelle Torres
Mostrar tablas existentes
     La sentencia SHOW TABLES mostrará las tablas
     existentes dentro de la base de datos.


                    SHOW TABLES;




16                                       MySQL para principiantes
                                            por Michelle Torres
Crear una tabla
 La sentencia CREATE TABLE es utilizada para indicar
 como estarán conformados los registros de nuestra base
 de datos.
         CREATE TABLE nombre_tabla(
         nombre_atributo tipo_dato,
         …
         …
         );


17                                       MySQL para principiantes
                                            por Michelle Torres
Tipos de datos
     Para guardar los datos, se utilizan tipos donde
     las clasificaciones básicas son:
     ●   Numéricos
     ●   Fecha
     ●   Texto



18                                   MySQL para principiantes
                                        por Michelle Torres
Numéricos
     Tipo         Rango
     TinyInt      -128 a 127
                  0 a 255
     Bit o Bool   0ó1
     SmallInt     -32768 a 32767
                  0 a 65,535
     MediumInt    -8388608 a 8388607
                  0 a16777215



19                           MySQL para principiantes
                                por Michelle Torres
Numéricos
     Tipo   Rango
     Integer -2147483648 a 2147483647
     , Int   0 a 4294967295
     BigInt -9223372036854775808 a
            9223372036854775807
            0 a 18446744073709551615
     Float  -3.402823466E+38 a
            -1.175494351E-38
     xReal, -1.7976931348623157E+308
     Double a -2.2250738585072014E-308
20                         MySQL para principiantes
                              por Michelle Torres
Fecha

     Date:
     año-mes-dia
     DateTime:
     año-mes-dia horas:minutos:segundos
     Time:
     Hh:mm:ss
     Year

21                                    MySQL para principiantes
                                         por Michelle Torres
Fecha

     TimeStamp: El formato de almacenamiento
     depende del tamaño del campo
                 Tamañ            Formato
                   o     AñoMesDiaHoraMinutoSegundo
                   14
                              aaaammddhhmmss
                   12    AñoMesDiaHoraMinutoSegundo
                               aammddhhmmss
                   8         ñoMesDia aaaammdd
                   6         AñoMesDia aammdd
                   4            AñoMes aamm
                   2               Año aa




22                                           MySQL para principiantes
                                                por Michelle Torres
Texto

     Char(n): Cadena fija, máximo 255 caracteres
     VarChar(n): Cadena variable, , máximo 255
     caracteres
     Blob y Text: Máximo 65535 caracteres
     LongBlob y LongText: Máximo 4294967295
     caracteres.



23                                     MySQL para principiantes
                                          por Michelle Torres
Enum
     ●   Permite declarar campos cuyo contenido
         puede ser una de entre varias opciones.


                   Sexo ENUM(‘M’, ‘H’)




24                                    MySQL para principiantes
                                         por Michelle Torres
Restricciones
     ●   Llaves primarias
     Especificarlo a un lado del atributo
         nombre_atributo tipo_dato PRIMARY KEY
     Agregando la restricción formalmente
           constraint nombre_restriccion
               primary key (atributo)

25                                     MySQL para principiantes
                                          por Michelle Torres
… Restricciones
     ●   Llaves foráneas


         FOREIGN KEY (atributo) REFERENCES
           nombre_tabla (nombre_atributo)




26                              MySQL para principiantes
                                   por Michelle Torres
… Restricciones
     ●   Campos autoincrementables
     Esta restricción permite que un campo númerico
     lleve un incremento automático en base a cada
     tupla insertada.


     Solo se debe agregar la palabra
     AUTO_INCREMENT

27                                     MySQL para principiantes
                                          por Michelle Torres
Valores nulos
     ●   Al definir cada columna podemos decidir si podrá o no
         contener valores nulos.
     ●   La opción por defecto es que se permitan valores nulos,
         NULL, y para que no se permitan, se usa NOT NULL.




28                                              MySQL para principiantes
                                                   por Michelle Torres
Valor por defecto
     ●   Para cada columna también se puede definir,
         opcionalmente, un valor por defecto. El valor por defecto
         se asignará de forma automática a una columna cuando
         no se especifique un valor determinado al añadir filas.
     ●   Para asignarlo se agrega DEFAULT y el valor deseado.




29                                            MySQL para principiantes
                                                 por Michelle Torres
Estructura de una tabla
     Para revisar la estructura de la tabla, se utiliza el comando
     DESCRIBE



              DESCRIBE nombre_tabla;




30                                             MySQL para principiantes
                                                  por Michelle Torres
Borrar una tabla

     DROP TABLE nombre_tabla;




31                     MySQL para principiantes
                          por Michelle Torres
Borrar los datos de la tabla

     TRUNCATE TABLE nombre_tabla;




32                            MySQL para principiantes
                                 por Michelle Torres
Modificar una tabla
     ALTER TABLE nombre_tabla
     ●   ADD nombre_atributo tipo_atributo
     ●   CHANGE nombre_anterior_atributo
         nombre_nuevo_atributo tipo_atributo
     ●   MODIFY nombre_atributo
         nuevo_tipo_atributo
     ●   DROP nombre_atributo

33                                MySQL para principiantes
                                     por Michelle Torres
Cambiar nombre a la tabla


       ALTER TABLE nombre_tabla
     RENAME TO nuevo_nombre_tabla;




34                      MySQL para principiantes
                           por Michelle Torres
Insertar datos
              INSERT INTO nombre_tabla
             VALUES ('Diana','f','2000-03-30');
     ●   En esta sentencia se tienen que poner los valores en el
         orden en que se encuentran en la estructura de la tabla.
     ●   Si se desea poner en otro orden o no todos los datos se
         utiliza de la siguiente manera

     INSERT INTO nombre_tabla (atributos)
              VALUES (valores);
35                                               MySQL para principiantes
                                                    por Michelle Torres
Insertar con auto_increment
     ●   Cuando existe un campo auto_increment, el
         insert se hace de la siguiente manera:


            INSERT INTO nombre_tabla
         VALUES (null,'Diana','f','2000-03-30');



36                                   MySQL para principiantes
                                        por Michelle Torres
Insertar datos desde un archivo
         LOAD DATA LOCAL INFILE 'nombre_del_archivo'
                 INTO TABLE nombre_tabla;

     ●   Separador de campos por default es tabulador
     ●   Para indicar otro tipo de separador se agrega a la
         sentencia


           FIELDS TERMINATED BY 'separador'

37                                            MySQL para principiantes
                                                 por Michelle Torres
Modificar datos

     UPDATE nombre_tabla
     SET atributo1=valor1
     WHERE condicion;



38                      MySQL para principiantes
                           por Michelle Torres
Eliminar datos

     DELETE FROM nombre_tabla
     WHERE condicion;




39                              MySQL para principiantes
                                   por Michelle Torres
Consultas
     ●   Esto nos permitirá obtener los datos
         guardados dento de nuestra BD.


               SELECT atributos
               FROM nombre_tabla;



40                                     MySQL para principiantes
                                          por Michelle Torres
Caracter comodin

     SELECT *
     FROM nombre_tabla;




41                    MySQL para principiantes
                         por Michelle Torres
Varios atributos como uno solo

     SELECT CONCAT(atributo1, ' ', atributo2)
     FROM nombre_tabla;




42                                 MySQL para principiantes
                                      por Michelle Torres
Ordenar
     SELECT *
     FROM nombre_tabla
     ORDER BY nombre_atributo DESC;




43                       MySQL para principiantes
                            por Michelle Torres
Solo una cantidad de tuplas
     SELECT *
     FROM nombre_tabla
     ORDER BY nombre_atributo DESC
     LIMIT n;



44                       MySQL para principiantes
                            por Michelle Torres
Cálculos

     SELECT nombre_atributo + nombre_atributo
     FROM nombre_tabla;




45                              MySQL para principiantes
                                   por Michelle Torres
Otros cálculos
     ●   MAX
     ●   MIN
     ●   AVG
     ●   SUM




46                MySQL para principiantes
                     por Michelle Torres
Renombrar atributo

     SELECT nombre_atributo AS nuevo_nombre
     FROM nombre_tabla;




47                             MySQL para principiantes
                                  por Michelle Torres
Contar filas
     SELECT COUNT(*)
     FROM nombre_tabla;




48                         MySQL para principiantes
                              por Michelle Torres
Agrupar
     SELECT COUNT(*)
     FROM nombre_tabla
     GROUP BY nombre_atributo;




49                               MySQL para principiantes
                                    por Michelle Torres
No mostrar tuplas repetidas

     SELECT DISTINCT nombre_atributo
     FROM nombre_tabla;




50                             MySQL para principiantes
                                  por Michelle Torres
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




51                      MySQL para principiantes
                           por Michelle Torres
Solo algunas tuplas

     SELECT atributos
     FROM nombre_tabla
     WHERE condición;




52                       MySQL para principiantes
                            por Michelle Torres
Manejo de fechas
     ●   MySQL permite realizar distintas operaciones
         con fechas lo cual facilita el trabajo con estas.




53                                       MySQL para principiantes
                                            por Michelle Torres
Fecha y hora actual
     ●   CURDATE() :
     Esta función devuelve la fecha actual en formato 'YYYY-MM-DD' o
     'YYYYMMDD' (Año-Mes-Día)
           mysql> select curdate();
             --> 2007-01-03
     ●   CURTIME() :
     Devuelve la hora actual en formato 'HH:MM:SS' o 'HHMMSS'.
             mysql> select curtime();
                --> 17:33:07

54                                                MySQL para principiantes
                                                     por Michelle Torres
Fecha y hora actual
     ●   NOW() :
     Esta función de fecha devuelve la fecha y hora actual en formato 'YYYY-MM-
     DD HH:MM:SS' o YYYYMMDDHHMMSS (Año-Mes-Día
     Hora:Minuto:Segundo)
                    mysql> select now();
                       --> 2007-01-04 14:56:15




55                                                     MySQL para principiantes
                                                          por Michelle Torres
Rangos de fechas
     ●   DATEDIFF(fecha1,fecha2) :
     Esta función devuelve fecha1 – fecha2 expresados como un valor en
     días de una fecha a la otra. Aquí sólo las partes de fecha serán
     consideradas para el cálculo.
              mysql> select datediff('2007-2-6 17:33:25','2007-1-1');
                 --> 36




56                                                 MySQL para principiantes
                                                      por Michelle Torres
Rangos de fechas
     ●   DATE_ADD(fecha, INTERVAL rango expresión) :
     Esta función agrega el rango indicado.
               mysql> select date_add('2007-1-14', interval 15 day);

                      --> 2007-01-29




57                                                MySQL para principiantes
                                                     por Michelle Torres
Día y mes
     ●   DAYNAME(fecha) :
     Devuelve el nombre del día para una fecha especificada.
               mysql> select dayname('2007-01-04');
                   --> Thursday


     ●   MONTHNAME(fecha) :
     Devuelve el nombre del mes para la fecha especificada.
               mysql> select monthname('2007-07-09');
                    --> July

58                                                     MySQL para principiantes
                                                          por Michelle Torres
Semana
     ●   DAYOFWEEK(fecha) :
     Devuelve el día de la semana en formato numérico como 1 para
     Domingo hasta 7 para Sábado.
            mysql> select dayofweek('2007-01-04');
                 --> 5




59                                               MySQL para principiantes
                                                    por Michelle Torres
Secciones
     ●   HOUR(hora) :
     Devuelve la hora del tiempo especificado en formato numérico de 0 a 23.
     ●   MINUTE(hora) :
     Devuelve el minuto del tiempo especificado en formato numérico de 0 a 59.
     ●   MONTH(fecha) :
     Devuelve el mes para la fecha dada en formato numérico en rango de 0 a 12
     ●   DAY(fecha) :
     Devuelve la fecha para el día del mes en el rango de 1 a 31



60                                                       MySQL para principiantes
                                                            por Michelle Torres
Patrones
     ●   Los patrones en SQL permiten emplear el caracter '_' para
         representar coincidencia con un carácter individual y '%' para
         representar una serie de caracteres.
     ●   En MySQL, por defecto, los patrones SQL no son case-
         sensitive.
     ●   No se emplean los operadores = o <> para trabajar con
         patrones SQL, en lugar de eso se usan los operadores de
         comparación LIKE o NOT LIKE.




61                                                MySQL para principiantes
                                                     por Michelle Torres
●   Para encontrar nombres que comiencen con 'b':



           SELECT *
           FROM nombre_tabla
           WHERE nombre_atributo LIKE 'b%';


62                                            MySQL para principiantes
                                                 por Michelle Torres
Expresiones regulares
     ●   Una expresión regular describe un conjunto de cadenas.
     ●   MySQL permite hacer una evaluación de coincidencia con
         una expresión regular por medio de la palabra REGEXP, en
         caso de no coincidir, devolverá 0.
     ●   Los siguientes caracteres especiales son utilizados para
         construir expresiones regulares.




63                                               MySQL para principiantes
                                                    por Michelle Torres
●   ^
             Coincidencia del principio de una cadena.
             mysql> SELECT 'fonfo' REGEXP '^fo$';        -> 0
             mysql> SELECT 'fofo' REGEXP '^fo';          -> 1


     ●   $
             Coincidencia del final de una cadena.
             mysql> SELECT 'fono' REGEXP '^fono$';        -> 1
             mysql> SELECT 'fono' REGEXP '^fo$';         -> 0




64                                                              MySQL para principiantes
                                                                   por Michelle Torres
●   .

             Coincidencia de cualquier carácter (incluyendo los de avance o el retorno de línea).

              mysql> SELECT 'fofo' REGEXP '^f.*$'; -> 1

             mysql> SELECT 'fornfo' REGEXP '^f.*$'; -> 1
     ●   a*

              Coincidencia de cualquier secuencia de cero o más caracteres.

             mysql> SELECT 'Ban' REGEXP '^Ba*n';                  -> 1

             mysql> SELECT 'Baaan' REGEXP '^Ba*n';                 -> 1

             mysql> SELECT 'Bn' REGEXP '^Ba*n';                  -> 1
     ●   a+

              Coincidencia de cualquier secuencia de uno o más caracteres.

              mysql> SELECT 'Ban' REGEXP '^Ba+n';                  -> 1

              mysql> SELECT 'Bn' REGEXP '^Ba+n';                  -> 0


65                                                                         MySQL para principiantes
                                                                              por Michelle Torres
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




66                      MySQL para principiantes
                           por Michelle Torres
Consultas con mas de una tabla

         SELECT *
         FROM tabla1
         INNER JOIN tabla2
         ON tabla1.id = tabla2.id


67                            MySQL para principiantes
                                 por Michelle Torres
Motor InnoDB
     ●   Las tablas innoDB permiten transacciones,
         operaciones concurrentes y control estricto
         de referencias (lo que se conoce como
         integridad referencial) entre otros detalles.
             CREATE TABLE nombre_tabla(
             nombre_atributo tipo_dato,
             …
             …
             ) engine=innodb;

68                                        MySQL para principiantes
                                             por Michelle Torres
Convertir una tabla a InnoDB


     ALTER TABLE nombre_tabla type=innoDB;




69                            MySQL para principiantes
                                 por Michelle Torres
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




70                      MySQL para principiantes
                           por Michelle Torres
Respaldar la base de datos
     ●   La respaldo
     mysqldump nombre_bd >
     nombre_archivo.sql;

     ●   La recupero
     mysql nombre_bd < nombre_archivo.sql;


71                              MySQL para principiantes
                                   por Michelle Torres
Imágenes en MySQL
     ●   No existe un campo como tal para guardar imágenes, lo
         que se hace es que por medio de aplicaciones tales
         como PHP se realiza la conversión a binario de la
         imágen y esta se guarda dentro de un campo tipo
         BLOB.
     ●   Mi recomendación es guardar solamente la ruta donde
         se encuentra guardada la imágen.




72                                          MySQL para principiantes
                                               por Michelle Torres
Triggers
     ●   Un disparador se asocia con una tabla y se define para que
         se active al ocurrir una sentencia INSERT, DELETE, o
         UPDATE sobre dicha tabla.
     ●   Puede también establecerse que se active antes o despues
         de la sentencia en cuestión. Por ejemplo, se puede tener un
         disparador que se active antes de que un registro sea
         borrado, o después de que sea actualizado.
     ●   Para crear o eliminar un disparador, se emplean las
         sentencias CREATE TRIGGER y DROP TRIGGER.



73                                               MySQL para principiantes
                                                    por Michelle Torres
CREATE TABLE account (
     acct_num INT,
     amount DECIMAL(10,2)
     );

     CREATE TRIGGER ins_sum BEFORE INSERT ON
     account
     FOR EACH ROW SET @sum = @sum + NEW.amount;

74                                 MySQL para principiantes
                                      por Michelle Torres
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




75                      MySQL para principiantes
                           por Michelle Torres
RETROALIMENTACIÓN



76              MySQL para principiantes
                   por Michelle Torres
¡Muchas gracias!




77                      MySQL para principiantes
                           por Michelle Torres

Contenu connexe

Tendances

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Pasos para diseñar una bd
Pasos para diseñar una bdPasos para diseñar una bd
Pasos para diseñar una bdsilsilvetti
 
Ejercicios básicos, bases de datos SQL
Ejercicios básicos, bases de datos SQL Ejercicios básicos, bases de datos SQL
Ejercicios básicos, bases de datos SQL angiesumalave
 
Trabajo final ac_grupo_2
Trabajo final ac_grupo_2Trabajo final ac_grupo_2
Trabajo final ac_grupo_2Andy Stinsson
 
Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql serverCEUNISAL
 
Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programaciónoposicionestic
 
MySQL: Indexing for Better Performance
MySQL: Indexing for Better PerformanceMySQL: Indexing for Better Performance
MySQL: Indexing for Better Performancejkeriaki
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosVicente Alberca
 
De Cero A Python En 45 Min
De Cero A Python En 45 MinDe Cero A Python En 45 Min
De Cero A Python En 45 MinMarco Mansilla
 

Tendances (20)

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Gestion De Red
Gestion De RedGestion De Red
Gestion De Red
 
Proyencto netbeans
Proyencto netbeansProyencto netbeans
Proyencto netbeans
 
STP
STPSTP
STP
 
Pasos para diseñar una bd
Pasos para diseñar una bdPasos para diseñar una bd
Pasos para diseñar una bd
 
Firebird
FirebirdFirebird
Firebird
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Ejercicios básicos, bases de datos SQL
Ejercicios básicos, bases de datos SQL Ejercicios básicos, bases de datos SQL
Ejercicios básicos, bases de datos SQL
 
Trabajo final ac_grupo_2
Trabajo final ac_grupo_2Trabajo final ac_grupo_2
Trabajo final ac_grupo_2
 
Basic SQL
Basic SQLBasic SQL
Basic SQL
 
Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql server
 
Informix
InformixInformix
Informix
 
Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programación
 
MySQL: Indexing for Better Performance
MySQL: Indexing for Better PerformanceMySQL: Indexing for Better Performance
MySQL: Indexing for Better Performance
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
De Cero A Python En 45 Min
De Cero A Python En 45 MinDe Cero A Python En 45 Min
De Cero A Python En 45 Min
 
Unidad 5 interfaces
Unidad 5  interfacesUnidad 5  interfaces
Unidad 5 interfaces
 

Similaire à MySQL para principiantes: guía completa desde cero hasta triggers

Similaire à MySQL para principiantes: guía completa desde cero hasta triggers (20)

MySql
MySqlMySql
MySql
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Practica 4
Practica 4Practica 4
Practica 4
 
PHP MySql FIEI - UNFV Clase05
PHP MySql FIEI - UNFV Clase05PHP MySql FIEI - UNFV Clase05
PHP MySql FIEI - UNFV Clase05
 
Tema 7 Trabajando Con Mysql
Tema 7 Trabajando Con MysqlTema 7 Trabajando Con Mysql
Tema 7 Trabajando Con Mysql
 
Comandos basicos para bases de datos
Comandos basicos para bases de datosComandos basicos para bases de datos
Comandos basicos para bases de datos
 
EL MYSQL ZRNFO [Autoguardado].pptx
EL MYSQL ZRNFO [Autoguardado].pptxEL MYSQL ZRNFO [Autoguardado].pptx
EL MYSQL ZRNFO [Autoguardado].pptx
 
My sql
My sqlMy sql
My sql
 
Conexion mysql
Conexion mysqlConexion mysql
Conexion mysql
 
14.- Servidor my sql
14.- Servidor my sql14.- Servidor my sql
14.- Servidor my sql
 
Comandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql yComandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql y
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
Mysql
MysqlMysql
Mysql
 
Servidor Mysql
Servidor MysqlServidor Mysql
Servidor Mysql
 
Mysql2
Mysql2Mysql2
Mysql2
 
INSTALACION CASSANDRA
INSTALACION CASSANDRAINSTALACION CASSANDRA
INSTALACION CASSANDRA
 
Presentación MySQL.kkkkkkkkkkkkkkkk.pptx
Presentación MySQL.kkkkkkkkkkkkkkkk.pptxPresentación MySQL.kkkkkkkkkkkkkkkk.pptx
Presentación MySQL.kkkkkkkkkkkkkkkk.pptx
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
 
Clase07
Clase07Clase07
Clase07
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 

Plus de Michelle Torres

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobileMichelle Torres
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en CMichelle Torres
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMichelle Torres
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Michelle Torres
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Michelle Torres
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaMichelle Torres
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAMichelle Torres
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde CeroMichelle Torres
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)Michelle Torres
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes webMichelle Torres
 

Plus de Michelle Torres (16)

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobile
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en C
 
Arreglos en PHP
Arreglos en PHPArreglos en PHP
Arreglos en PHP
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informática
 
Cpu12 Reference Manual
Cpu12 Reference ManualCpu12 Reference Manual
Cpu12 Reference Manual
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorola
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde Cero
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)
 
Cv resumido conaic
Cv resumido conaicCv resumido conaic
Cv resumido conaic
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes web
 
Servidores web
Servidores webServidores web
Servidores web
 
XHTML y CSS
XHTML y CSSXHTML y CSS
XHTML y CSS
 

Dernier

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Dernier (16)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

MySQL para principiantes: guía completa desde cero hasta triggers

  • 1. Para principiantes: desde cero hasta triggers Nancy Michelle Torres Villanueva MySQL para principiantes por Michelle Torres
  • 2. Índice 1. Introducción 2. Obtener ayuda en MySQL 3. Conectarse con el servidor 4. Mostrar bases de datos 5. Acceder a una base de datos 6. Crear una base de datos 7. Borrar una base de datos 8. Mostrar tablas 2 MySQL para principiantes por Michelle Torres
  • 3. … Índice 9. Crear una tabla 10.Valores nulos 11.Valores por defecto 12.Borrar una tabla 13.Estructura de una tabla 14.Modificar tablas 15.Cargar datos 16.Modificar datos 3 MySQL para principiantes por Michelle Torres
  • 4. … Índice 17.Eliminar datos 18.Consultas • Ordenar • Renombrar • Agrupar • Cálculos 19.Manejo de Fechas 20.Patrones 21.Expresiones regulares 4 MySQL para principiantes por Michelle Torres
  • 5. … Índice 22.Consultas con varias tablas 23.Imágenes 24.Triggers 5 MySQL para principiantes por Michelle Torres
  • 6. Introducción ● En este taller obtendrás los conocimientos primordiales para el manejo de bases de datos MySQL. ● El objetivo es mostrarte el uso de MySQL, para crear y usar una sencilla base de datos, y con un poquito más, inclusive utilizar triggers para hacer esta base de datos mas completa. 6 MySQL para principiantes por Michelle Torres
  • 7. MySQL ● MySQL es un gestor de base de datos que permite conectarnos a un servidor, ejecutar algunas consultas, y ver los resultados. ● MySQL puede ser usado también en modo batch: es decir, se pueden colocar toda una serie de consultas en un archivo, y posteriormente decirle a MySQL que ejecute dichas consultas. 7 MySQL para principiantes por Michelle Torres
  • 8. Obtener ayuda en MySQL mysql --help 8 MySQL para principiantes por Michelle Torres
  • 9. Conectarse al servidor Para acceder a la cuenta de MySQL se ingresa con los siguientes datos. ● Username: bdxxxxxxx ● Password: xxxxxxx Una vez dentro, tendremos a nuestra disposición todas las sentencias de MySQL para el trabajo con la base de datos y el lenguaje SQL. 9 MySQL para principiantes por Michelle Torres
  • 10. Conectarse al servidor mysql-h computadora -u usuario -p 10 MySQL para principiantes por Michelle Torres
  • 11. Mostrar bases de datos Mediante la sentencia SHOW se encuentran las bases de datos que existen actualmente en el servidor SHOW DATABASES; 11 MySQL para principiantes por Michelle Torres
  • 12. Acceder a una base de datos USE nombre_bd; 12 MySQL para principiantes por Michelle Torres
  • 13. Crear una base de datos CREATE DATABASE Nombre_BD; 13 MySQL para principiantes por Michelle Torres
  • 14. Conectarse a MySQL ya con una base de datos especificada Debemos seleccionar la base de datos cada vez que iniciamos una sesión con mysql, así que es recomendable indicar la base de datos sobre la que vamos a trabajar al momento de invocar al monitor de MySQL. mysql -h computadora -u usuario -p nombre_BD 14 MySQL para principiantes por Michelle Torres
  • 15. Borrar una base de datos DROP DATABASE Nombre_BD; 15 MySQL para principiantes por Michelle Torres
  • 16. Mostrar tablas existentes La sentencia SHOW TABLES mostrará las tablas existentes dentro de la base de datos. SHOW TABLES; 16 MySQL para principiantes por Michelle Torres
  • 17. Crear una tabla La sentencia CREATE TABLE es utilizada para indicar como estarán conformados los registros de nuestra base de datos. CREATE TABLE nombre_tabla( nombre_atributo tipo_dato, … … ); 17 MySQL para principiantes por Michelle Torres
  • 18. Tipos de datos Para guardar los datos, se utilizan tipos donde las clasificaciones básicas son: ● Numéricos ● Fecha ● Texto 18 MySQL para principiantes por Michelle Torres
  • 19. Numéricos Tipo Rango TinyInt -128 a 127 0 a 255 Bit o Bool 0ó1 SmallInt -32768 a 32767 0 a 65,535 MediumInt -8388608 a 8388607 0 a16777215 19 MySQL para principiantes por Michelle Torres
  • 20. Numéricos Tipo Rango Integer -2147483648 a 2147483647 , Int 0 a 4294967295 BigInt -9223372036854775808 a 9223372036854775807 0 a 18446744073709551615 Float -3.402823466E+38 a -1.175494351E-38 xReal, -1.7976931348623157E+308 Double a -2.2250738585072014E-308 20 MySQL para principiantes por Michelle Torres
  • 21. Fecha Date: año-mes-dia DateTime: año-mes-dia horas:minutos:segundos Time: Hh:mm:ss Year 21 MySQL para principiantes por Michelle Torres
  • 22. Fecha TimeStamp: El formato de almacenamiento depende del tamaño del campo Tamañ Formato o AñoMesDiaHoraMinutoSegundo 14 aaaammddhhmmss 12 AñoMesDiaHoraMinutoSegundo aammddhhmmss 8 ñoMesDia aaaammdd 6 AñoMesDia aammdd 4 AñoMes aamm 2 Año aa 22 MySQL para principiantes por Michelle Torres
  • 23. Texto Char(n): Cadena fija, máximo 255 caracteres VarChar(n): Cadena variable, , máximo 255 caracteres Blob y Text: Máximo 65535 caracteres LongBlob y LongText: Máximo 4294967295 caracteres. 23 MySQL para principiantes por Michelle Torres
  • 24. Enum ● Permite declarar campos cuyo contenido puede ser una de entre varias opciones. Sexo ENUM(‘M’, ‘H’) 24 MySQL para principiantes por Michelle Torres
  • 25. Restricciones ● Llaves primarias Especificarlo a un lado del atributo nombre_atributo tipo_dato PRIMARY KEY Agregando la restricción formalmente constraint nombre_restriccion primary key (atributo) 25 MySQL para principiantes por Michelle Torres
  • 26. … Restricciones ● Llaves foráneas FOREIGN KEY (atributo) REFERENCES nombre_tabla (nombre_atributo) 26 MySQL para principiantes por Michelle Torres
  • 27. … Restricciones ● Campos autoincrementables Esta restricción permite que un campo númerico lleve un incremento automático en base a cada tupla insertada. Solo se debe agregar la palabra AUTO_INCREMENT 27 MySQL para principiantes por Michelle Torres
  • 28. Valores nulos ● Al definir cada columna podemos decidir si podrá o no contener valores nulos. ● La opción por defecto es que se permitan valores nulos, NULL, y para que no se permitan, se usa NOT NULL. 28 MySQL para principiantes por Michelle Torres
  • 29. Valor por defecto ● Para cada columna también se puede definir, opcionalmente, un valor por defecto. El valor por defecto se asignará de forma automática a una columna cuando no se especifique un valor determinado al añadir filas. ● Para asignarlo se agrega DEFAULT y el valor deseado. 29 MySQL para principiantes por Michelle Torres
  • 30. Estructura de una tabla Para revisar la estructura de la tabla, se utiliza el comando DESCRIBE DESCRIBE nombre_tabla; 30 MySQL para principiantes por Michelle Torres
  • 31. Borrar una tabla DROP TABLE nombre_tabla; 31 MySQL para principiantes por Michelle Torres
  • 32. Borrar los datos de la tabla TRUNCATE TABLE nombre_tabla; 32 MySQL para principiantes por Michelle Torres
  • 33. Modificar una tabla ALTER TABLE nombre_tabla ● ADD nombre_atributo tipo_atributo ● CHANGE nombre_anterior_atributo nombre_nuevo_atributo tipo_atributo ● MODIFY nombre_atributo nuevo_tipo_atributo ● DROP nombre_atributo 33 MySQL para principiantes por Michelle Torres
  • 34. Cambiar nombre a la tabla ALTER TABLE nombre_tabla RENAME TO nuevo_nombre_tabla; 34 MySQL para principiantes por Michelle Torres
  • 35. Insertar datos INSERT INTO nombre_tabla VALUES ('Diana','f','2000-03-30'); ● En esta sentencia se tienen que poner los valores en el orden en que se encuentran en la estructura de la tabla. ● Si se desea poner en otro orden o no todos los datos se utiliza de la siguiente manera INSERT INTO nombre_tabla (atributos) VALUES (valores); 35 MySQL para principiantes por Michelle Torres
  • 36. Insertar con auto_increment ● Cuando existe un campo auto_increment, el insert se hace de la siguiente manera: INSERT INTO nombre_tabla VALUES (null,'Diana','f','2000-03-30'); 36 MySQL para principiantes por Michelle Torres
  • 37. Insertar datos desde un archivo LOAD DATA LOCAL INFILE 'nombre_del_archivo' INTO TABLE nombre_tabla; ● Separador de campos por default es tabulador ● Para indicar otro tipo de separador se agrega a la sentencia FIELDS TERMINATED BY 'separador' 37 MySQL para principiantes por Michelle Torres
  • 38. Modificar datos UPDATE nombre_tabla SET atributo1=valor1 WHERE condicion; 38 MySQL para principiantes por Michelle Torres
  • 39. Eliminar datos DELETE FROM nombre_tabla WHERE condicion; 39 MySQL para principiantes por Michelle Torres
  • 40. Consultas ● Esto nos permitirá obtener los datos guardados dento de nuestra BD. SELECT atributos FROM nombre_tabla; 40 MySQL para principiantes por Michelle Torres
  • 41. Caracter comodin SELECT * FROM nombre_tabla; 41 MySQL para principiantes por Michelle Torres
  • 42. Varios atributos como uno solo SELECT CONCAT(atributo1, ' ', atributo2) FROM nombre_tabla; 42 MySQL para principiantes por Michelle Torres
  • 43. Ordenar SELECT * FROM nombre_tabla ORDER BY nombre_atributo DESC; 43 MySQL para principiantes por Michelle Torres
  • 44. Solo una cantidad de tuplas SELECT * FROM nombre_tabla ORDER BY nombre_atributo DESC LIMIT n; 44 MySQL para principiantes por Michelle Torres
  • 45. Cálculos SELECT nombre_atributo + nombre_atributo FROM nombre_tabla; 45 MySQL para principiantes por Michelle Torres
  • 46. Otros cálculos ● MAX ● MIN ● AVG ● SUM 46 MySQL para principiantes por Michelle Torres
  • 47. Renombrar atributo SELECT nombre_atributo AS nuevo_nombre FROM nombre_tabla; 47 MySQL para principiantes por Michelle Torres
  • 48. Contar filas SELECT COUNT(*) FROM nombre_tabla; 48 MySQL para principiantes por Michelle Torres
  • 49. Agrupar SELECT COUNT(*) FROM nombre_tabla GROUP BY nombre_atributo; 49 MySQL para principiantes por Michelle Torres
  • 50. No mostrar tuplas repetidas SELECT DISTINCT nombre_atributo FROM nombre_tabla; 50 MySQL para principiantes por Michelle Torres
  • 51. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 51 MySQL para principiantes por Michelle Torres
  • 52. Solo algunas tuplas SELECT atributos FROM nombre_tabla WHERE condición; 52 MySQL para principiantes por Michelle Torres
  • 53. Manejo de fechas ● MySQL permite realizar distintas operaciones con fechas lo cual facilita el trabajo con estas. 53 MySQL para principiantes por Michelle Torres
  • 54. Fecha y hora actual ● CURDATE() : Esta función devuelve la fecha actual en formato 'YYYY-MM-DD' o 'YYYYMMDD' (Año-Mes-Día) mysql> select curdate(); --> 2007-01-03 ● CURTIME() : Devuelve la hora actual en formato 'HH:MM:SS' o 'HHMMSS'. mysql> select curtime(); --> 17:33:07 54 MySQL para principiantes por Michelle Torres
  • 55. Fecha y hora actual ● NOW() : Esta función de fecha devuelve la fecha y hora actual en formato 'YYYY-MM- DD HH:MM:SS' o YYYYMMDDHHMMSS (Año-Mes-Día Hora:Minuto:Segundo) mysql> select now(); --> 2007-01-04 14:56:15 55 MySQL para principiantes por Michelle Torres
  • 56. Rangos de fechas ● DATEDIFF(fecha1,fecha2) : Esta función devuelve fecha1 – fecha2 expresados como un valor en días de una fecha a la otra. Aquí sólo las partes de fecha serán consideradas para el cálculo. mysql> select datediff('2007-2-6 17:33:25','2007-1-1'); --> 36 56 MySQL para principiantes por Michelle Torres
  • 57. Rangos de fechas ● DATE_ADD(fecha, INTERVAL rango expresión) : Esta función agrega el rango indicado. mysql> select date_add('2007-1-14', interval 15 day); --> 2007-01-29 57 MySQL para principiantes por Michelle Torres
  • 58. Día y mes ● DAYNAME(fecha) : Devuelve el nombre del día para una fecha especificada. mysql> select dayname('2007-01-04'); --> Thursday ● MONTHNAME(fecha) : Devuelve el nombre del mes para la fecha especificada. mysql> select monthname('2007-07-09'); --> July 58 MySQL para principiantes por Michelle Torres
  • 59. Semana ● DAYOFWEEK(fecha) : Devuelve el día de la semana en formato numérico como 1 para Domingo hasta 7 para Sábado. mysql> select dayofweek('2007-01-04'); --> 5 59 MySQL para principiantes por Michelle Torres
  • 60. Secciones ● HOUR(hora) : Devuelve la hora del tiempo especificado en formato numérico de 0 a 23. ● MINUTE(hora) : Devuelve el minuto del tiempo especificado en formato numérico de 0 a 59. ● MONTH(fecha) : Devuelve el mes para la fecha dada en formato numérico en rango de 0 a 12 ● DAY(fecha) : Devuelve la fecha para el día del mes en el rango de 1 a 31 60 MySQL para principiantes por Michelle Torres
  • 61. Patrones ● Los patrones en SQL permiten emplear el caracter '_' para representar coincidencia con un carácter individual y '%' para representar una serie de caracteres. ● En MySQL, por defecto, los patrones SQL no son case- sensitive. ● No se emplean los operadores = o <> para trabajar con patrones SQL, en lugar de eso se usan los operadores de comparación LIKE o NOT LIKE. 61 MySQL para principiantes por Michelle Torres
  • 62. Para encontrar nombres que comiencen con 'b': SELECT * FROM nombre_tabla WHERE nombre_atributo LIKE 'b%'; 62 MySQL para principiantes por Michelle Torres
  • 63. Expresiones regulares ● Una expresión regular describe un conjunto de cadenas. ● MySQL permite hacer una evaluación de coincidencia con una expresión regular por medio de la palabra REGEXP, en caso de no coincidir, devolverá 0. ● Los siguientes caracteres especiales son utilizados para construir expresiones regulares. 63 MySQL para principiantes por Michelle Torres
  • 64. ^ Coincidencia del principio de una cadena. mysql> SELECT 'fonfo' REGEXP '^fo$'; -> 0 mysql> SELECT 'fofo' REGEXP '^fo'; -> 1 ● $ Coincidencia del final de una cadena. mysql> SELECT 'fono' REGEXP '^fono$'; -> 1 mysql> SELECT 'fono' REGEXP '^fo$'; -> 0 64 MySQL para principiantes por Michelle Torres
  • 65. . Coincidencia de cualquier carácter (incluyendo los de avance o el retorno de línea). mysql> SELECT 'fofo' REGEXP '^f.*$'; -> 1 mysql> SELECT 'fornfo' REGEXP '^f.*$'; -> 1 ● a* Coincidencia de cualquier secuencia de cero o más caracteres. mysql> SELECT 'Ban' REGEXP '^Ba*n'; -> 1 mysql> SELECT 'Baaan' REGEXP '^Ba*n'; -> 1 mysql> SELECT 'Bn' REGEXP '^Ba*n'; -> 1 ● a+ Coincidencia de cualquier secuencia de uno o más caracteres. mysql> SELECT 'Ban' REGEXP '^Ba+n'; -> 1 mysql> SELECT 'Bn' REGEXP '^Ba+n'; -> 0 65 MySQL para principiantes por Michelle Torres
  • 66. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 66 MySQL para principiantes por Michelle Torres
  • 67. Consultas con mas de una tabla SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.id = tabla2.id 67 MySQL para principiantes por Michelle Torres
  • 68. Motor InnoDB ● Las tablas innoDB permiten transacciones, operaciones concurrentes y control estricto de referencias (lo que se conoce como integridad referencial) entre otros detalles. CREATE TABLE nombre_tabla( nombre_atributo tipo_dato, … … ) engine=innodb; 68 MySQL para principiantes por Michelle Torres
  • 69. Convertir una tabla a InnoDB ALTER TABLE nombre_tabla type=innoDB; 69 MySQL para principiantes por Michelle Torres
  • 70. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 70 MySQL para principiantes por Michelle Torres
  • 71. Respaldar la base de datos ● La respaldo mysqldump nombre_bd > nombre_archivo.sql; ● La recupero mysql nombre_bd < nombre_archivo.sql; 71 MySQL para principiantes por Michelle Torres
  • 72. Imágenes en MySQL ● No existe un campo como tal para guardar imágenes, lo que se hace es que por medio de aplicaciones tales como PHP se realiza la conversión a binario de la imágen y esta se guarda dentro de un campo tipo BLOB. ● Mi recomendación es guardar solamente la ruta donde se encuentra guardada la imágen. 72 MySQL para principiantes por Michelle Torres
  • 73. Triggers ● Un disparador se asocia con una tabla y se define para que se active al ocurrir una sentencia INSERT, DELETE, o UPDATE sobre dicha tabla. ● Puede también establecerse que se active antes o despues de la sentencia en cuestión. Por ejemplo, se puede tener un disparador que se active antes de que un registro sea borrado, o después de que sea actualizado. ● Para crear o eliminar un disparador, se emplean las sentencias CREATE TRIGGER y DROP TRIGGER. 73 MySQL para principiantes por Michelle Torres
  • 74. CREATE TABLE account ( acct_num INT, amount DECIMAL(10,2) ); CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum = @sum + NEW.amount; 74 MySQL para principiantes por Michelle Torres
  • 75. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 75 MySQL para principiantes por Michelle Torres
  • 76. RETROALIMENTACIÓN 76 MySQL para principiantes por Michelle Torres
  • 77. ¡Muchas gracias! 77 MySQL para principiantes por Michelle Torres