Para principiantes:
desde cero hasta triggers
   Nancy Michelle Torres Villanueva


                              MySQL pa...
Índice
    1. Introducción
    2. Obtener ayuda en MySQL
    3. Conectarse con el servidor
    4. Mostrar bases de datos
 ...
… Índice
    9. Crear una tabla
    10.Valores nulos
    11.Valores por defecto
    12.Borrar una tabla
    13.Estructura ...
… Índice
    17.Eliminar datos
    18.Consultas
       •   Ordenar
       •   Renombrar
       •   Agrupar
       •   Cálc...
… Índice
    22.Consultas con varias tablas
    23.Imágenes
    24.Triggers




5                                    MySQL...
Introducción
    ●   En este taller obtendrás los conocimientos primordiales
        para el manejo de bases de datos MySQ...
MySQL
    ●   MySQL es un gestor de base de datos que
        permite conectarnos a un servidor, ejecutar
        algunas ...
Obtener ayuda en MySQL
      mysql --help




8                    MySQL para principiantes
                        por Mi...
Conectarse al servidor
    Para acceder a la cuenta de MySQL se ingresa con los
    siguientes datos.
    ●   Username: bd...
Conectarse al servidor


     mysql-h computadora -u usuario -p




10                         MySQL para principiantes
  ...
Mostrar bases de datos
     Mediante la sentencia SHOW se encuentran las bases de datos
     que existen actualmente en el...
Acceder a una base de datos



        USE nombre_bd;




12                    MySQL para principiantes
                 ...
Crear una base de datos

     CREATE DATABASE Nombre_BD;




13                      MySQL para principiantes
            ...
Conectarse a MySQL ya con una
         base de datos especificada
     Debemos seleccionar la base de datos cada vez que i...
Borrar una base de datos

     DROP DATABASE Nombre_BD;




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


...
Crear una tabla
 La sentencia CREATE TABLE es utilizada para indicar
 como estarán conformados los registros de nuestra ba...
Tipos de datos
     Para guardar los datos, se utilizan tipos donde
     las clasificaciones básicas son:
     ●   Numéric...
Numéricos
     Tipo         Rango
     TinyInt      -128 a 127
                  0 a 255
     Bit o Bool   0ó1
     SmallI...
Numéricos
     Tipo   Rango
     Integer -2147483648 a 2147483647
     , Int   0 a 4294967295
     BigInt -922337203685477...
Fecha

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

     TimeStamp: El formato de almacenamiento
     depende del tamaño del campo
                 Tamañ            Fo...
Texto

     Char(n): Cadena fija, máximo 255 caracteres
     VarChar(n): Cadena variable, , máximo 255
     caracteres
   ...
Enum
     ●   Permite declarar campos cuyo contenido
         puede ser una de entre varias opciones.


                  ...
Restricciones
     ●   Llaves primarias
     Especificarlo a un lado del atributo
         nombre_atributo tipo_dato PRIMA...
… Restricciones
     ●   Llaves foráneas


         FOREIGN KEY (atributo) REFERENCES
           nombre_tabla (nombre_atri...
… Restricciones
     ●   Campos autoincrementables
     Esta restricción permite que un campo númerico
     lleve un incre...
Valores nulos
     ●   Al definir cada columna podemos decidir si podrá o no
         contener valores nulos.
     ●   La ...
Valor por defecto
     ●   Para cada columna también se puede definir,
         opcionalmente, un valor por defecto. El va...
Estructura de una tabla
     Para revisar la estructura de la tabla, se utiliza el comando
     DESCRIBE



              ...
Borrar una tabla

     DROP TABLE nombre_tabla;




31                     MySQL para principiantes
                      ...
Borrar los datos de la tabla

     TRUNCATE TABLE nombre_tabla;




32                            MySQL para principiantes...
Modificar una tabla
     ALTER TABLE nombre_tabla
     ●   ADD nombre_atributo tipo_atributo
     ●   CHANGE nombre_anteri...
Cambiar nombre a la tabla


       ALTER TABLE nombre_tabla
     RENAME TO nuevo_nombre_tabla;




34                     ...
Insertar datos
              INSERT INTO nombre_tabla
             VALUES ('Diana','f','2000-03-30');
     ●   En esta sen...
Insertar con auto_increment
     ●   Cuando existe un campo auto_increment, el
         insert se hace de la siguiente man...
Insertar datos desde un archivo
         LOAD DATA LOCAL INFILE 'nombre_del_archivo'
                 INTO TABLE nombre_ta...
Modificar datos

     UPDATE nombre_tabla
     SET atributo1=valor1
     WHERE condicion;



38                      MySQL...
Eliminar datos

     DELETE FROM nombre_tabla
     WHERE condicion;




39                              MySQL para princip...
Consultas
     ●   Esto nos permitirá obtener los datos
         guardados dento de nuestra BD.


               SELECT at...
Caracter comodin

     SELECT *
     FROM nombre_tabla;




41                    MySQL para principiantes
               ...
Varios atributos como uno solo

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




42              ...
Ordenar
     SELECT *
     FROM nombre_tabla
     ORDER BY nombre_atributo DESC;




43                       MySQL para p...
Solo una cantidad de tuplas
     SELECT *
     FROM nombre_tabla
     ORDER BY nombre_atributo DESC
     LIMIT n;



44   ...
Cálculos

     SELECT nombre_atributo + nombre_atributo
     FROM nombre_tabla;




45                              MySQL ...
Otros cálculos
     ●   MAX
     ●   MIN
     ●   AVG
     ●   SUM




46                MySQL para principiantes
        ...
Renombrar atributo

     SELECT nombre_atributo AS nuevo_nombre
     FROM nombre_tabla;




47                            ...
Contar filas
     SELECT COUNT(*)
     FROM nombre_tabla;




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




49                               My...
No mostrar tuplas repetidas

     SELECT DISTINCT nombre_atributo
     FROM nombre_tabla;




50                          ...
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




51                      MySQL para principiantes
...
Solo algunas tuplas

     SELECT atributos
     FROM nombre_tabla
     WHERE condición;




52                       MySQL...
Manejo de fechas
     ●   MySQL permite realizar distintas operaciones
         con fechas lo cual facilita el trabajo con...
Fecha y hora actual
     ●   CURDATE() :
     Esta función devuelve la fecha actual en formato 'YYYY-MM-DD' o
     'YYYYMM...
Fecha y hora actual
     ●   NOW() :
     Esta función de fecha devuelve la fecha y hora actual en formato 'YYYY-MM-
     ...
Rangos de fechas
     ●   DATEDIFF(fecha1,fecha2) :
     Esta función devuelve fecha1 – fecha2 expresados como un valor en...
Rangos de fechas
     ●   DATE_ADD(fecha, INTERVAL rango expresión) :
     Esta función agrega el rango indicado.
        ...
Día y mes
     ●   DAYNAME(fecha) :
     Devuelve el nombre del día para una fecha especificada.
               mysql> sel...
Semana
     ●   DAYOFWEEK(fecha) :
     Devuelve el día de la semana en formato numérico como 1 para
     Domingo hasta 7 ...
Secciones
     ●   HOUR(hora) :
     Devuelve la hora del tiempo especificado en formato numérico de 0 a 23.
     ●   MINU...
Patrones
     ●   Los patrones en SQL permiten emplear el caracter '_' para
         representar coincidencia con un carác...
●   Para encontrar nombres que comiencen con 'b':



           SELECT *
           FROM nombre_tabla
           WHERE nom...
Expresiones regulares
     ●   Una expresión regular describe un conjunto de cadenas.
     ●   MySQL permite hacer una eva...
●   ^
             Coincidencia del principio de una cadena.
             mysql> SELECT 'fonfo' REGEXP '^fo$';        -> 0...
●   .

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

              my...
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




66                      MySQL para principiantes
...
Consultas con mas de una tabla

         SELECT *
         FROM tabla1
         INNER JOIN tabla2
         ON tabla1.id = ...
Motor InnoDB
     ●   Las tablas innoDB permiten transacciones,
         operaciones concurrentes y control estricto
     ...
Convertir una tabla a InnoDB


     ALTER TABLE nombre_tabla type=innoDB;




69                            MySQL para pri...
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




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

     ●   La recupero
...
Imágenes en MySQL
     ●   No existe un campo como tal para guardar imágenes, lo
         que se hace es que por medio de ...
Triggers
     ●   Un disparador se asocia con una tabla y se define para que
         se active al ocurrir una sentencia I...
CREATE TABLE account (
     acct_num INT,
     amount DECIMAL(10,2)
     );

     CREATE TRIGGER ins_sum BEFORE INSERT ON
...
15 MINUTOS PARA
         EXPERIMENTAR

     ¿Dudas? Háganmelas saber




75                      MySQL para principiantes
...
RETROALIMENTACIÓN



76              MySQL para principiantes
                   por Michelle Torres
¡Muchas gracias!




77                      MySQL para principiantes
                           por Michelle Torres
Upcoming SlideShare
Loading in...5
×

My sql para principiantes

34,191

Published on

Curso para principiantes en el uso de MySQL.

Contáctame:
Twitter: @nmicht
Blog: http://michelle.slmx.org

Published in: Technology
15 Comments
38 Likes
Statistics
Notes
  • mil gracias por tu aporte excelente muy puntual me interesaría saber mas sobre sintaxis de joins para una sola consulta de varias tablas relacionadas. y manejo de FK de una tabla hacia otras.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • biem barom!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Buen Dia

    Muy buen materia, es posible me lo cmpartas, me interesa pues trabajo y estudio, sería de mucha ayuda tenerlo en un aparato portable..

    Saludos y gracias..
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @gamingpy Te invito a que accedas al sitio http://michelle.slmx.org/files/mysql/ donde puedes obtener tmb el tutorial
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Muy buena instruccion para usuarios noveles podrias enviarme por favor a mi mail te lo agradeseria mucho. jesus_29_91@hotmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
34,191
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
585
Comments
15
Likes
38
Embeds 0
No embeds

No notes for slide

Transcript of "My sql para principiantes"

  1. 1. Para principiantes: desde cero hasta triggers Nancy Michelle Torres Villanueva MySQL para principiantes por Michelle Torres
  2. 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. 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. 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. 5. … Índice 22.Consultas con varias tablas 23.Imágenes 24.Triggers 5 MySQL para principiantes por Michelle Torres
  6. 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. 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. 8. Obtener ayuda en MySQL mysql --help 8 MySQL para principiantes por Michelle Torres
  9. 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. 10. Conectarse al servidor mysql-h computadora -u usuario -p 10 MySQL para principiantes por Michelle Torres
  11. 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. 12. Acceder a una base de datos USE nombre_bd; 12 MySQL para principiantes por Michelle Torres
  13. 13. Crear una base de datos CREATE DATABASE Nombre_BD; 13 MySQL para principiantes por Michelle Torres
  14. 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. 15. Borrar una base de datos DROP DATABASE Nombre_BD; 15 MySQL para principiantes por Michelle Torres
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. … Restricciones ● Llaves foráneas FOREIGN KEY (atributo) REFERENCES nombre_tabla (nombre_atributo) 26 MySQL para principiantes por Michelle Torres
  27. 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. 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. 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. 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. 31. Borrar una tabla DROP TABLE nombre_tabla; 31 MySQL para principiantes por Michelle Torres
  32. 32. Borrar los datos de la tabla TRUNCATE TABLE nombre_tabla; 32 MySQL para principiantes por Michelle Torres
  33. 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. 34. Cambiar nombre a la tabla ALTER TABLE nombre_tabla RENAME TO nuevo_nombre_tabla; 34 MySQL para principiantes por Michelle Torres
  35. 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. 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. 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. 38. Modificar datos UPDATE nombre_tabla SET atributo1=valor1 WHERE condicion; 38 MySQL para principiantes por Michelle Torres
  39. 39. Eliminar datos DELETE FROM nombre_tabla WHERE condicion; 39 MySQL para principiantes por Michelle Torres
  40. 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. 41. Caracter comodin SELECT * FROM nombre_tabla; 41 MySQL para principiantes por Michelle Torres
  42. 42. Varios atributos como uno solo SELECT CONCAT(atributo1, ' ', atributo2) FROM nombre_tabla; 42 MySQL para principiantes por Michelle Torres
  43. 43. Ordenar SELECT * FROM nombre_tabla ORDER BY nombre_atributo DESC; 43 MySQL para principiantes por Michelle Torres
  44. 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. 45. Cálculos SELECT nombre_atributo + nombre_atributo FROM nombre_tabla; 45 MySQL para principiantes por Michelle Torres
  46. 46. Otros cálculos ● MAX ● MIN ● AVG ● SUM 46 MySQL para principiantes por Michelle Torres
  47. 47. Renombrar atributo SELECT nombre_atributo AS nuevo_nombre FROM nombre_tabla; 47 MySQL para principiantes por Michelle Torres
  48. 48. Contar filas SELECT COUNT(*) FROM nombre_tabla; 48 MySQL para principiantes por Michelle Torres
  49. 49. Agrupar SELECT COUNT(*) FROM nombre_tabla GROUP BY nombre_atributo; 49 MySQL para principiantes por Michelle Torres
  50. 50. No mostrar tuplas repetidas SELECT DISTINCT nombre_atributo FROM nombre_tabla; 50 MySQL para principiantes por Michelle Torres
  51. 51. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 51 MySQL para principiantes por Michelle Torres
  52. 52. Solo algunas tuplas SELECT atributos FROM nombre_tabla WHERE condición; 52 MySQL para principiantes por Michelle Torres
  53. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 66. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 66 MySQL para principiantes por Michelle Torres
  67. 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. 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. 69. Convertir una tabla a InnoDB ALTER TABLE nombre_tabla type=innoDB; 69 MySQL para principiantes por Michelle Torres
  70. 70. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 70 MySQL para principiantes por Michelle Torres
  71. 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. 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. 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. 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. 75. 15 MINUTOS PARA EXPERIMENTAR ¿Dudas? Háganmelas saber 75 MySQL para principiantes por Michelle Torres
  76. 76. RETROALIMENTACIÓN 76 MySQL para principiantes por Michelle Torres
  77. 77. ¡Muchas gracias! 77 MySQL para principiantes por Michelle Torres

×