viernes, 8 de septiembre de 2017

EVENTOS en MySQL (MariaDB)

Buenas tardes gente, el día de hoy les traigo una información acerca de Eventos en MySQL, para dejar una tarea repitiéndose iterativamente, puede ser, por ejemplo, realizar un respaldo. Esta funcionalidad esta disponible a partir de la versión 5.1 de MySQL y en MariaDB, esta disponible en cualquier versión, pues bien, vamos a empezar.

Lo primero que tenemos que hacer es activar la variable event_sheduler, y lo podemos hacer desde el archivo de configuración o también desde nuestra consulta, mediante el comando:

SET GLOBAL event_scheduler=ON;

Una vez activada esta variable, vamos a corroborar que se esté ejecutando correctamente y para eso vamos a introducir la siguiente consulta:

SHOW PROCESSLIST;

lunes, 14 de agosto de 2017

Genera respaldos automáticos en SQL SERVER EXPRESS

Buenas noches queridos lectores, el dia de ho veremos como generar respaldos automáticos en SQL SERVER, anteriormente habíamos visto ya un artículo similar, utilizando el Agente SQL, sin embargo esa utilidad esta disponible solo en versiones de pago, en el SQL EXPRESS no se puede iniciar el agente y por lo tanto, no podemos generar las tareas, pero siempre podemos recurrir al maravilloso cmd para generar script, y lo haremos usando a heramienta sqlcmd, pero basta ya de charlas, vamos a la práctica que es lo que nos interesa.

jueves, 27 de julio de 2017

Instalar máquina virtual con MS-DOS y Windows 3.11

Buenas tardes queridos lectores, hace ya algun tiempo que no publicaba nada, pero el día de hoy les traigo un post curioso, vamos a instalar en una máquina virtual el viejo MS-DOS 6.22 y Windows 3.11, claro que los más jovenes no tendrán idea de lo que hablo, pero la gente de más de 30, le traerá algo de nostalgia, pues bien comencemos...

Herramientas que necesitamos

domingo, 9 de julio de 2017

¿Qué es la informática?

A lo largo de este tiempo he dedicado el blog a cosas mas avanzadas, como programación, o bases de datos, descuidando el titulo de este blog que es "Respuestas en Informática" que fue pensado para todos los niveles, es así que empezaré a escribir cosas tan básicas como ¿Qué es la Informática? para que este blog llegue a más personas

¿Qué es la informática?

Vamos a empezar por esta pregunta básica, todos hablamos de informática, pero ¿realmente sabemos de que estamos hablando?, pues aquí algunas definiciones:

  • Wikipedia: Conjunto de conocimientos técnicos que se ocupan del tratamiento automático de la información por medio de computadoras
  • Definicion.de: la informática se refiere al procesamiento automático de información mediante dispositivos electrónicos y sistemas computacionales
Como ven, la informática se refiere al uso y tratamiento de la información utilizando una computadora.

martes, 27 de junio de 2017

Migrar base de Datos de SQL Server a MySQL Server

Buenos días queridos lectores, ya había escrito antes un post sobre la migración de una base de Datos MySQL a SQL Server, el día de hoy veremos el proceso contrario, migraremos una base de Datos de SQL Server a MySQL, vamos a comenzar.

Para eso tenemos en SQL Server una base de Datos llamada Migración con dos Tablas, una llamada Persona y otra llamada Animal, como se muestra en la siguiente imagen:

jueves, 1 de junio de 2017

Libro de SQL Server

Buenas tardes, les traigo un compendio de todos los post que publiqué en relación a SQL Server, los junte y sorpresa, son mas de 200 páginas, si a alguien le sirve se lo comparto. Espero les sea de utilidad y agrado, espero compartan, den +1, comenten o den clic a algun anuncio. Muchas gracias

Libro Transact SQL Server

lunes, 15 de mayo de 2017

Ingresar una variable dinámica en JavaScript

En post anteriores hemos aprendido a declarar e inicializar variables y a cambiarles el contenido desde el código. Sin embargo, esto no siempre es así. Si consideramos que un programa debe tener un menor o mayor grado de interactividad con el usuario, es lógico que estos deberían introducir datos dentro de dicho programa mediante su ejecución. Estos datos se almacenan en variables. Evidentemente los usuarios deberán utilizar el teclado para proporcionarle al programa los datos que necesite durante su ejecución. Para ello existen dos modos de hacerlo:

domingo, 14 de mayo de 2017

typeof() y parse(). Determinar y cambiar el tipo de Datos de una variable JavaScript

Ya vimos en post pasados como manejar los dos tipos principales de variables, que es el tipo numérico y el de tipo cadena de texto, pero en ocasiones es interesante determinar que tipo de datos contiene una variable, pues el comportamiento es distinto, no es lo mismo una cadena de texto que contiene un 1 que un dato numérico con el número 1. Pero veamos ejemplos prácticos para poderlo entender mejor.

Consideremos el siguiente ejemplo

viernes, 12 de mayo de 2017

Variables en JavaScript Parte II - Los tipos de Variable

En JavaScript, como en cualquier lenguaje de programación, se pueden manejar datos de diferentes tipos, que dependerán del valor que tengan. Por ejemplo, si declaramos una variable para que contenga el nombre de un usuario, este será un dato de los que llamamos de cadena o literales, ya que el nombre de una persona esta formado por letras. Si declaramos otra variable, para que contenga su edad, éste será un dato de tipo numérico, ya que lo que contiene es una cifra con la cual podremos hacer cálculos. Si creamos una variable para que contenga, por ejemplo, la fecha de nacimiento del usuario nos encontramos ante un caso distinto, pues las fechas, en JavaScript, son un tipo especial de datos, que se manejan de manera diferente a los literales y a los números.

miércoles, 8 de febrero de 2017

Recuperar Base de Datos MySQL (MariaDB) con Archivos FRM e IBD

Buenas tardes queridos lectores, el día de hoy veremos como recuperar una base de Datos con los archivos FRM e IBD, es decir, sin haber hecho un respaldo previo, esto me pasó porque tronó mi disco duro y al cambiarlo tenía solo los archivos antes mencionados, después de leer en varias parte de la WEB, encontré la solución, que les voy a detallar para que no tengan que buscar en tantas partes como yo, pues bien, empecemos.

viernes, 3 de febrero de 2017

Dispositivos de copia de Seguridad en SQL SERVER

Buenos días queridos lectores, el día de hoy les hablaré de algo poco común, pero útil y es de los dispositivos de copia de seguridad en SQL SERVER, supongo que se han fijado en el Managment Studio que hay una carpeta llamada así, pues el día de hoy veremos como realizarlo, ¿Qué es? y ¿Para que se usa?

Cuando hacemos un respaldo de SQL Server, viene una ruta predefinida, si queremos cambiar la ruta tendremos que buscar la ruta de manera manual, puues para esto sirve crear el dispositivo de copia de seguridad, para dejar guardada esa ruta y no tener que buscarla siempre, veremos dos formas de crearlo, de manera gráfica desde el Managment Studio y la otra desde Transact-SQL. Empecemos por la primera que es de manera gráfica.

miércoles, 25 de enero de 2017

Migrar Base de Datos de MySQL a SQL Server

Buenas tardes queridos lectores, el día de hoy aprenderemos a migrar una base de datos MySQL a SQL Server, para poder realizar esto de una manera sencilla y natural utilizaremos la herramienta que tiene SQL Server llamada Microsoft SQL Server Migration Assistant v5.3 for MySQL, que podremos descargar desde aquí. Pero pongamos manos a la obra y vamos haciendolo que es lo que nos gusta, primeramente vamos a descargar el programa, eso no tiene nada complejo, así que partiremos de que ya lo instalaron.

viernes, 20 de enero de 2017

Crear valores predeterminados en SQL SERVER

Buenas tardes queridos lectores, el día de hoy hablaremos sobre los valores predeterminados en SQL SERVER.

Los valores predeterminados en SQL Server, nos permitirán crear un valor predeterminado en la columna de una tabla, en el caso que no se le ingrese valor, se puede crear con la sentencia DEFAULT, vista en este mismo curso algun tiempo atrás, sin embargo, a partir de la versión 2008 se pueden crear los valores independientemente a la tabla y asignarselos a la tabla y al campo mediante TRANSACT-SQL, así que pasemos a realizarlo que es lo que nos gusta

martes, 10 de enero de 2017

Reglas en SQL SERVER

Para crear una regla en SQL Server utilizaremos el comando CREATE RULE.

Buenos días queridos lectores el día de hoy les hablare sobre la reglas en SQL SERVER, vamos a ver un poco de teoría y luego pasaremos a lo que nos gusta que es hacerlo

lunes, 9 de enero de 2017

Crear tipo de Datos Personalizados en SQL SERVER

En este artículo trataremos acerca de como crear un tipo de datos personalizado mediante el comando CREATE TYPE.

Hace mucho que no escribo nada queridos lectores, pero hoy les traigo un nuevo post sobre la creación de tipos de datos personalizados, para crear nuestra tabla de base de datos de una manera más fácil, pero vamos a hacerlo que es lo que nos gusta y como aprendemos.

Para esto, existen dos formas de realizarlo, la primera, mediante TRANSCT-SQL y la segunda mediante el Managment Studio, veamos la primera:

lunes, 26 de diciembre de 2016

Formato a Fechas en CakePHP

Buenas noches queridos lectores, se que tengo tiempo sin publicar nada, pero he andado un poco ocupado, además estoy aprendiendo a programar en CakePHP versión 3, y en eso también me ha quitado mucho tiempo, esto es más un apunte para mí, pero si le sirve a alguien pues que genial.

Formatos de fecha en cakephp

Esto me trajo vuelto loco y pongo aquí la solución por si alguien le batalla como batalle yo

En el archivo bootstrap.php cololar lo siguiente:
Cake\I18n\FrozenDate::setToStringFormat('dd-MM-yyyy');

Con eso queda resuelto, espero haya sido de su utilidad

viernes, 21 de octubre de 2016

Sinónimos en SQL Server

En este post veremos como crear sinónimos en SQL, los sinónimos en SQL, hacen referencia a objetos (tablas, vistas, procedimientos almacenados) de manera más entendible de manera que faciliten su uso en nuestras consultas, pero vamos a hacer lo que nos gusta y como aprendemos que es haciendolo, para crear los sínonimos realizaremos lo siguiente:



CREATE SYNONYM CU FOR dbo.CUentas
GO

Como ven la palabra SYNONYM nos creará un sinónimo o un alias en la base de datos, en este caso la tabla llamada Cuentas ahora se podrá también llamar como CU, veamos un ejemplo:

lunes, 10 de octubre de 2016

Respaldar Base de Datos SQL automaticamente

El objetivo de este post es crear respaldos automáticos de una base de datos MSSQL, lo haremos mediante Jobs, en post venideros les diré como hacerlo mediante un script

Para empezar necesitamos el servicio de Agente SQL, ese servicio viene deshabilitado predeterminadamente, por lo cual, tendremos que iniciarlo, es importante mencionar que ese servicio no esta disponible en las versiones Express en ocasiones, pero vamos a realizarlo como les comentaba con las tareas que vienen en el agente SQL, vamos a realizarlo, ya que asi es como se aprende y lo que nos gusta.

sábado, 3 de septiembre de 2016

Variables en JavaScript Parte I - Introducción

Introducción

Una variables es una zona de memoria reservada por la computadora donde se guarda un dato y se identifica con un nombre. El dato que se almacena bajo ese nombre puede cambiar durante la ejecución del código: por eso se llaman variables.

viernes, 2 de septiembre de 2016

JavaScript - Introducción

De este libro transcribiré los ejercicios
Buenos días queridos lectores, el día de hoy empezaré a transcribir un libro de JavaScript, ya que es sumamente importante aprender este lenguaje, el dominio de este lenguaje es básico a la hora del desarrollo WEB, y es primordial para entender sus frameworks como JQUERY o AngularJS, veremos en esta transcripción que haré el lenguaje puto de JavaScript, espero que les agrade. Del lado izquierdo pueden ver la portada del libro del cual transcribiré los ejercicios, cualquier duda o comentario no duden en escribir, ya saben que pueden utilizar cualquier editor de texto para los ejercicios, yo actualmente utilizo Sublime Text, pero se puede usar incluso el bloc de notas.

Nuestro primer script

Pues bien, empezaremos a hacer lo que nos gusta que es hacerlo y es como también aprendemos, crearemos una página llamada saludo.html cuya estructura quedaría de la siguiente manera:

<!DOCTYPE html>
<html lang="es-MX">
<head>
<meta charset="UTF-8">
<title>Primer Script</title>
<script language="javascript">
alert ("Hola desde javascript")
</script>
</head>
<body>
Esto es el cuerpo de la página
</body>
</html>

Al ejecutar la página en el navegador vemos el siguiente resultado:


Este es el resultado al ejecutarlo con Firefox, si se ejecuta con otro navegador, el estilo del cudro cambiará, pero será solo eso, el estilo, despues de dar clic en el botón Aceptar continua la carga normal de la página como se aprecia en la siguiente imagen:


Como pueden observar en la dirección del navegador, estoy utilizando un Servidor WEB, pero para estos ejemplos no es necesario, se puede ejecutar localmente, pero vamos a explicar el script.

Nuestro primer script incluye solamente una línea, pero antes de esa línea, tenemos que indicarle al html que utilizaremos el lenguaje JavaScript

<script language="javascript">

Como sabemos, con esa etiqueta mandamos llamar al lenguaje JavaScript, depués tenemos la siguiente línea:

alert ("Hola desde javascript")

Lo que realiza esta instrucción es mostrar una alerta al iniciar la página, alert realmente es una funcíon, que recibe un parámetro que es un texto a mostrar, por lo tanto debe ir entre comillas (""), ¿que pasaría si pusieramos alert sin comillas? pues vamos a hacer la prueba

alert (Hola desde javascript)

Al ejecutar la página no muestra el mensaje, ya que al ser un error, el navegador lo ignora.

JavaScript es sensible a mayúsculas y minúsculas, por lo que tendremos que teclear la instrucción o en este caso la función tal cual el nombre que es. ¿Que pasa si ponemos Alert() y no alert(), vamos a realizar la prueba, a ver que sucede

Alert("Hola desde JavaScript")

Al ejecutarlo, tampoco muestra el recuadro con la alerta, debido a que como les mencioné en el párrafo anterior, tiene que escribirse tal cual es el nombre de la instrucción o la instrucción

Comentarios en JavaScript

Para poner un comentario se utiliza el formato de C++ que es un una doble diagonal (//), esto es para una sola línea, y también para dos líneas

//Esto es un comentario de una línea
/*Este es un comentario
de varias
líneas */

Hasta aquí nuestro primer código en JavaScript, es la introducción a este gran lenguaje, espero les haya gustado y haya sido de su agrado, espero comenten, compartan, den +1 o un clic a algún anuncio que les interese


miércoles, 24 de agosto de 2016

Procedimientos Almacenados MySQL (MariaDB) Parte III - Ejemplos

Les traigo algunos ejemplos de procedimientos almacenados, para que los analicen y los comprendan, cualquier cosa, saben que pueden escribir y preguntar. Saludos

Ejercicio 1
Crear un procedimiento que me permita mostrar la tabla general de un torneo, el criterio para la tabla general es en primer lugar el número de puntos, en segundo lugar, la diferencia de goles y en tercer lugar los goles a favor.

miércoles, 17 de agosto de 2016

Procedimientos Almacenados en MySQL (MariaDB) Parte II

Procedimientos Almacenados en MySQL (MariaDB) Parte II


Seguimos con el tema de los procedimientos almacenados en MySQL, pero ahora veremos el uso de variables dentro de los mismos stored procedures, pero primero veamos algunos conceptos básicos:

Variable: Una variable en informática es un espacio reservado en memoria, para almacenar un valor, que puede cambiar con el tiempo, tiene un nombre simbólico y un tipo de dato que almacena.

domingo, 14 de agosto de 2016

Vincular MySQL con SQL Server

Linkear (Conectar) Servidor de MySQL con SQL Server

Hace un tiempo, alguien me preguntaba si se podía conectar MySQL Server con SQL Server, le respondí que sí, pero aquí les dejo la guía.

Lo primero que tenemos que hacer es descargar al controlador de MySQL, es importante descargar en controlador para la arquitectura de nuestro procesador (X86|X64), en mi caso, es X64, y lo descargaremos de este link https://dev.mysql.com/downloads/connector/odbc/, descargamos como dijimos el driver para X64, en mi caso

miércoles, 10 de agosto de 2016

Procedimientos Almacenados en MySQL (MariaDB) Parte I

Crear procedimientos Almacenados en MySQL (MariaDB)

Un procedimiento es un conjunto de instrucciones que se almacenan en el servidor, para usarlas posteriormente, ya que se usarán frecuentemente y contienen acciones programadas, el uso de los procedimiento simplificará el uso de esas instrucciones, ya que no tendremos que volver a teclear todas las instrucciones, sino solamente invocaremos al procedimiento, la instrucción PROCEDURE, hace referencia al procedimiento almacenado, un procedimiento almacenado (SP) (Stored Procedure) acepta parámetros de entrada, para darle más dinamismo, pero para entenderlo mejor, como siempre nos pondremos manos a la obra y haremos lo que nos gusta, que es hacerlo.

jueves, 28 de julio de 2016

Uso de DISTINCT en MYSQL (MariaDB)

Introducción

La clausula DISTINCT se utiliza en MySQL para seleccionar los registros únicos, o simplemente quitar duplicados en una consulta, solo mostrará los valores una sola vez, y no todas las veces que se muestren.

Buenas tardes queridos lectores, como bien dice la introducción, el día de hoy hablaremos sobre la clausula DISTINCT, esta clausula siempre se utilizará con el SELECT, y como les decía nos mostrará los valores únicos, omitiendo duplicados, pero basta ya de teoría, vamos a ir directamente a hacerlo, que es lo que nos gusta y lo que nos hace aprender, para eso consideremos el siguiente ejemplo;

Ejercicio 1

Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula DISTINCT

Primeramente consideremos ver las fechas de los partidos que hubo en ese torneo, esto lo haremos mediante la siguiente consulta

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar esta consulta obtenemos el siguiente resultado:


Como ven, en este ejemplo, aparecen muchas fechas que se repiten, ¿pero porque?, porque estamos trayendo todos los registros de la tabla partidos, sin filtrar ningún dato, por lo cual, nos está mostrando las fechas de los partidos jugados, lo que queremos nosotros es que no se repitan las fechas, de manera que solo muestre una sola vez por ejemplo 2016-01-09, para esto tenemos dos opciones:

La primera es utilizando la clausula GROUP BY, y la otra es mediante la clausula DISTINCT. En este ejemplo veremos la clausula DISTINCT










SELECT DISTINCT(FECHA)
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')

Al ejecutar la consulta, obtenemos el siguiente resultado:

 
Como ven, la palabra DISTINCT dentro del SELECT nos obliga a mostrar únicamente los valores que no se repiten o que son distintos y entre paréntesis el campo que queremos mostrar sin duplicados, en este caso la fecha, como pueden observar, únicamente aparece una fecha única, y no una fecha por partido,














Ejercicio 2
Realizar una consulta que obtenga los días que hubo partidos del torneo de Clausura MX 2016 utilizando la clausula GROUP BY

SELECT FECHA
FROM PARTIDOS
WHERE IDTORNEO = (SELECT IDTORNEO FROM TORNEOS WHERE NOMBRE = 'CLAUSURA 2016')
GROUP BY FECHA

Como pueden ver, esta consulta es idéntica a la anterior, ya habíamos visto con anterioridad en otros post el uso de la clausula ORDER BY, si no lo recuerdan les dejo el enlace


Hasta aquí el post queridos amigos, espero haya sido de su agrado y de su interés; espero compartan, comenten o den +1 en algún anuncio publicitario. Saludos













miércoles, 27 de julio de 2016

Limitar el numero de registros en una consulta en MySQL (Maria DB)

Para limitar el numero de registros en una consulta, se utilizará la clausula LIMIT, mediante esta clausula, vamos a controlar el número de resultados devueltos en la mima.

jueves, 21 de julio de 2016

Clonar o Copiar tablas en MySQL (MariaDB)

Para copiar tablas en MySQL tenemos dos opciones, podemos copiar solo la estructura o solo los datos, o podemos combinar ambos métodos para copiar estructura y datos, aquí les voy a decir como.

domingo, 10 de julio de 2016

Indices en Base de Datos en MySQL (MariaDB)

Buenas noches queridos lectores, el día de hoy veremos como crear índices en base de datos, para eso debemos saber que es un índice, de manera general, y ya después haremos lo que nos gusta e interesa que es crear el índice. Como les comentaba veamos que es un índice en base de datos (BD).

Segun la Wikipedia, un índice es:


Lista o relación ordenada con algún criterio de libros, documentos, monedas, objetos en venta, etc., de una persona, empresa o institución, que generalmente contiene una breve descripción del objeto relacionado y ciertos datos de interés.

Esa definición es la de un índice en general, el índice en una base de datos es algo similar, nos permite realizar consultas de una manera más rápida y funcional. Vemos la definición de Wikipedia de Índices en Base de Datos


El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos.

sábado, 4 de junio de 2016

Vistas en MYSql Server (MariaDB)

Buenas tardes queridos lectores, en esta ocasión aprenderemos a crear vistas, pero primero veamos que es una vista:

Vista

Una vista en MySQL Server es una tabla virtual, con una estructura que nosotros definimos, pero sin datos, ya que los datos de esa tabla serán llenados a partir de una consulta, eso, también se puede realizar con procedimientos almacenados, pero esos los veremos mas adelante, pero la diferencia con ellos es que los procedimientos almacenados aceptan parámetros y las vistas no. Pero pasemos a la práctica que es lo que nos interesa, nos gusta y nos enseña.

miércoles, 1 de junio de 2016

Manual de SQL SERVER

Buenas tardes queridos lectores, les dejo este manual que hice de SQL SERVER, espero les sea de utilidad.

Manual de Transact SQL Server

BETWEEN en MySQL (Maria DB)

Buenas tardes queridos lectores, el día de hoy les hablaré sobre la clausula BETWEEN, esta clausula nos permite seleccionar rangos, ya sea de cantidades, fechas, o textos (A-Z) (0-9), siempre se utilizará en la clausula WHERE y su uso es muy sencillo, pero como lo mejor es hacer las cosas, pasaremos directamente a los ejemplos:


lunes, 30 de mayo de 2016

AVG, ROUND y HAVING en MySQL (Maria DB)

Buenas tardes queridos lectores, el día de hoy hablaremos sobre la función AVG() y la función agrupada HAVING() que se utiliza con el GROUP BY.


AVG()


La función AVG(), el la abreviación de AVERANGE, se utiliza para obtener promedios, el promedio de una celda definida, se puede utilizar al igual que las demás funciones con el GROUP BY, para mejores resultados, pero para más claridad, vamos a poner manos a la obra.

jueves, 26 de mayo de 2016

SUM() en MySQL (MariaDB)

Buenos días queridos lectores, el día de hoy seguiremos con las funciones agregadas y el agrupamiento, hoy toca ver la función SUM().


SUM()

La función SUM(), nos devuelve la suma del campo especificado, el campo especificado debe ser un campo numérico, aunque no marca error si es un campo de texto, simplemente el resultado será 0, pero como siempre la práctica hace al maestro, vamos a ver algunos ejemplos:

miércoles, 25 de mayo de 2016

Funciones de Agregación y Agrupación en MySQL (Maria DB) Parte II - Función MIN() y MAX()

Buenas tardes queridos lectores, primero que nada quiero agradecer a todos los que han compartido mis publicaciones, han dado +1, han comentado o han hecho clic a los anuncios, gracias a ustedes he tenido más visitas y más lectores, lo cual me motiva a seguir escribiendo.

El día de hoy veremos las funciones agregadas MAX() y MIN(), estas funciones son bastante sencillas, espero que no haya ningún problema, pero si lo hay no duden es escribirme y preguntar, pero bien comencemos con lo que nos gusta que es hacer las cosas.

Función MAX()

La primera función que veremos será la función MAX(), está función nos devuelve el valor máximo del campo evaluado, es importante saber que aplica tanto en datos numéricos como en Texto (A-Z)(0-9), pero como la teoría nunca es clara, veamos un ejemplo:

miércoles, 18 de mayo de 2016

Funciones de Agregación y Agrupación en MySQL (Maria DB) Parte I - Función COUNT()

Buenas tardes queridos lectores, el día de hoy les escribiré acerca de las funciones de agregación y agrupación.

Funciones de Agregación


Las funciones de agregación nos permites realizar algunas operaciones sobre un conjunto de datos, generalmente se utilizarán en conjunto con la agrupación para potencializar su rendimiento.

Las funciones de agrupación mas comunes son las siguientes:

  • COUNT(): Devuelve el número de filas seleccionadas por la consulta
  • MIN(): Devuelve el valor mínimo del campo que seleccionemos.
  • MAX(): Devuelve el valor máximo del campo que seleccionemos.
  • SUM(): Suma los valores del campo que le especifiquemos. NOTA: Solo se pueden utilizar campos de tipo numérico
  • AVG(): Acrónimo de AVERGANGE, devuelve el promedio del campo que especifiquemos. NOTA: Solo se puede utilizar con campos de tipo numérico
En este post trataremos como su titulo lo indica, sobre la función COUNT()

sábado, 14 de mayo de 2016

Select en MySQL (Maria DB) Parte III - Uso de SubConsultas

Buenas noches queridos lectores, continuaremos con el tema del SELECT en MySQL (Maria DB), ya vimos algunos usos sobre la sentencia y también vimos como realizar consultas utilizando INNER JOIN, LEFT JOIN y RIGHT JOIN, en esta ocasión veremos como crear subconsultas, ustedes puedes encontrarle utilidad en su caso, la verdad en muchas ocasiones, un JOIN es más eficiente, pero como les digo, cada quien le encontrará la utilidad, pero veamo algunos ejemplos con la base de datos de prueba que les puse.

jueves, 12 de mayo de 2016

Select en MySQL (Maria DB) Parte II - Uso de JOINS

Buenas tardes queridos lectores, el día de hoy les escribiré sobre el uso de JOIN en consultas SELECT de MySql (MariaDB), para eso, utilizaré una imagen que pulula por la red, que hace una descripción bastante gráfica del JOIN, espero restauren la base de datos de Ejemplo que les compartí la otra vez para que puedan seguir las consultas, sino, no se preocupen, con ver el ejemplo, podrán hacer las consultas que quieran, lo importante es entenderle, pues bien, pasemos a lo que nos interesa que es hacer las cosas

JOIN

La sentencia JOIN permite combinar dos o más tablas en una consulta, en ocasiones una tabla no va a tener los campos que necesitamos, pero esos datos están contenidos en otra tabla, lo que tenemos que hacer en encontrar la relación entre esas tablas para poder extraer los datos. Les dejaré la imagen para que lo puedan entender de manera gráfica:

jueves, 5 de mayo de 2016

Select en MySQL (Maria DB) Parte I

Buenas tardes queridos lectores, el día de hoy entraremos en materia con la sentencia SELECT, anteriormente, ya la habíamos tocado de manera básica, pero hoy la tocaremos de manera un poco más especializada, bueno, aun no entraremos a la parte de los JOIN, pero veremos algunas funciones básicas, que de desprenden del mismo SELECT, ya no los aburro más con tanto texto, mejor pasaremos a lo que nos gusta que es a hacer las cosas. Les pido restauren la base de datos que le proporcioné en el post anterior, se los comparto por si no lo tienen:



Les dejo el diagrama de la relación de las tablas de nuestra base de datos, desde donde haremos nuestras consultas

viernes, 29 de abril de 2016

Respaldar y Restaurar Bases de Datos en MySQL (Maria DB)

Buenos días queridos lectores, el día de hoy les escribiré acerca de como respaldar nuestra base de datos de MySQL, hay herramientas, como el mismo HeidiSQL que nos permiten realizar estas tareas de manera fácil y rápida, sin embargo también por la consola se puede realizar, les ensñaré como realizarlo de ambas maneras. Primero vamos a ver como respaldar en HeidiSQL


HeidiSQL 

Para respaldar una base de datos en HeidiSQL, seleccionaremos del lado izquierdo la base de datos que queremos respaldar y lo exportaremos a un archivo de texto, como se muestra en la imagen

Restricciones NOT NULL, Check, Default, AutoIncrement y Unique en MariaDB (MySQL) Parte II

Buenas tardes queridos lectores, el día de hoy les explicaré los temas que me faltaron el el post anterior que fue, el check y el default, pero para eso crearemos las tablas que faltan, además nos servirá de base de datos de prueba por el momento, en un post mas adelante les pasaré la base de datos ya llena, para comenzar a trabajar con JOINS, Procedimientos Almacenados, Disparadores, Vistas, etc. pero por el momento nos conformaremos con el esqueleto, y con llenar algunos registros, vamos a partir de que ya tenemos la tabla PAISES que hicimos en el post anterior, hay algunas tablas que no requieren explicación alguna, así que no las explicaré, solo explicaré aquellas que tengan el check y el default, de cualquier manera, pueden preguntarme sin ningún problema. Pues bien, comencemos con lo que nos gusta.

CREATE TABLE IF NOT EXISTS ESTADIOS(
idestadio int primary key auto_increment,
nombre varchar (100) not null,
codigopais varchar (4),
imagen varchar(100),
fecha_creacion date,
ultima_modificacion date,
capacidad long,
ciudad varchar(100),
constraint estadios_codpais_fk foreign key (codigopais) references paises (codigopais),
UNIQUE KEY `nombre_uq` (nombre , codigopais))



domingo, 24 de abril de 2016

Restricciones NOT NULL, Check, Default, AutoIncrement y Unique en MariaDB (MySQL) Parte I

Buenos días queridos lectores, el día de hoy hablaremos de varios temas de utilidad, hablaremos de las restricciones al crear las tablas, ya dejamos atrás aquellos primeros pasos, donde solo creamos tablas, insertamos valores y mostramos datos, ahora entraremos más en forma a lo que es MariaDB, y muchas utilidades y restricciones que nos permitirán crear bases de datos complejas y funcionales. Pero vamos poniendo manos a la obra, que eso es lo que nos gusta.

NOT NULL

La restricción NOT NULL, nos ayudará a exigir que un campo en una base de datos, deba ser llenado forzosamente, en un campo que sea llave primaria, es obligatorio que el campo tenga algún dato, pero en un campo que no es llave, debemos indicarle a la base de datos que deseamos que ese campo, aunque no sea campo llave, queremos que sea llenado obligatoriamente, pero vamos por pasos y veremos un ejemplo más adelante.

Check

La restricción Check, nos permitirá indicarle a la base de datos, que se cerciore que la información contenida en el campo es congruente, y no vaya a causar alguna inconsistencia lógica en los datos, esta restricción podría utilizarse por ejemplo en un partido de futbol, para que la base de datos verifique el el equipo local no es el mismo que el equipo visitante.

lunes, 18 de abril de 2016

Primeros Pasos en MySQL - Actualizar en Cascada y Borrar en Cascada en MySQL o Maria DB (Update, Delete on Cascade)

Buenas noches queridos lectores, ésta noche les escribiré sobre la actualización y borrado en cascada en MariaDB (MySQL), en los post anteriores, ya vimos como crear tablas y ligarlas con otras tablas, con el fin de crear integridad referencial, partimos de que tenemos dos tablas creadas, la de PAIS y CIUDAD, sabemo que la tabla de CIUDAD se liga a la tabla de país por el campo cod_pais, pero, ¿qué pasa si me equivoque en el código del país y quiero que el código de México, en lugar de ser 'MEX', sea simplemente 'MX'? Vamos a averiguarlo juntos, les dejo el código de lo que llevamos hecho hasta ahora.


viernes, 15 de abril de 2016

Primeros Pasos en MySQL - Actualizar y borrar datos en MariaDB (MySQL)

Buenas noches queridos lectores, en esta noche continuaremos con el curso de MariaDB (MySQL), y les mostraré como eliminar o actualizar datos, cabe señalar que en tablas vinculadas correctamente con sus llaves primarias y foráneas, no nos permitirá borrar nada si se pierde la integridad, por eso es muy importante que se entienda este tema. Pero sin más preámbulos, comencemos.

Les dejaré aquí el script que se lleva hasta el momento, para que no tengan problemas

/*CREATE DATABASE PAISES
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

USE PAISES

CREATE TABLE IF NOT EXISTS PAIS
(cod_pais char (4) PRIMARY KEY,
nombre varchar(50),
fecha_independencia date);

create table CIUDAD
(cod_ciudad varchar(4) PRIMARY KEY,
nombre varchar(50),
cod_pais char(4),
capital bool,
CONSTRAINT cod_pais_fk FOREIGN KEY (cod_pais) REFERENCES pais (cod_pais));

insert into pais  values ('MEX', 'MEXICO','18210921');
insert into ciudad values ('GDL', 'Guadalajara', 'MEX', false);
insert into pais values ('PERU', 'Peru', '18210728');
insert into ciudad values ('LIM', 'Lima', 'PERU', false);


*/
Vamos a ingresar otras ciudades a la tabla CIUDADES, espero lo recuerden

Ejercicio 1
Ingresar las ciudades de México D.F, Monterrey y Toluca en el país México, y las ciudades de Cuzco y Arequipa en el país de Perú
insert into ciudad values ('MXCD', 'Ciudad de México', 'MEX', true);
insert into ciudad values ('MTY', 'Monterrey','MEX', false);
insert into ciudad values ('TOL', 'Toluca', 'MEX', false);
insert into ciudad values ('CZO', 'Cuzco', 'PERU', false);
insert into ciudad values ('ARE', 'Arequipa', 'PERU', false);

Ahora ingresaremos el país llamado "Guatemala", espero no tengan problems en agregarlo, de cualquier manera, la sintaxis es la siguiente:

DELETE


Ejercicio 2
Ingresar un nuevo país a la base de datos llamado Guatemala
insert into pais  values ('GUA', 'Guatemala','18210915');

Ahora imaginemos que queremos borrar el país Perú, para ello, conoceremos una nueva sentencia, la sentencia DELETE, veamos algunos ejemplos:

Ejercicio 3
Eliminar de la base de datos el país Perú utilizando la sentencia DELETE y su filtro WHERE
delete from pais
where cod_pais = 'PERU'

Para eliminar un registro o varios registros de la base de datos se utiliza la sentencia DELETE, como ven se declara DELETE from el from nos indica desde que tabla, en este caso desde la tabla PAIS, donde el cod_pais sea igual a Perú, es IMPORTANTISIMO utilizar el WHERE ya que si no se utiliza se BORRARA TODA LA TABLA Y NO HABRÁ MANERA DE RECUPERARLA, así que por favor tengan mucho cuidado. Al ejecutar el comando, nos aparece el siguiente mensaje:


Como pueden observar la base de Datos genera un error y el error se refiere a la llave foránea (cod_pais) que hace referencia a la tabla pais en su campo (cod_pais), ¿que significa eso? Fácil, que no podemos borrar el país, porque tenemos ciudades dadas de alta haciendo referencia al país PERU, para borrar el país, necesitaría promero borrar todas las ciudades que esten relacionadas con el país PERU y después borrar al país, como se dan cuenta, esto cuida la integridad de los datos, ya que si se pudiera borrar el país PERU, quedaría las ciudades de Lima, Cuzco y Arequipa, totalmente sueltas, ya que no habría ningún país con el cual relacionarlo, ésto puede ocasionar que haya basura en la base de datos y la información no salga de manera correcta y que las consultas se vuelvan cada vez mas lentas, así que, como ven, se puede evitar de una manera sencilla, creando nuestras llaves foráneas. Cabe señalas que si es posible borrar el país, y se borrarían las ciudades autómaticamente, esto sería con la sentencia DELETE on CASCADE que veremos más adelante. Vamos a hacer otro ejemplo y ahora borraremos el país que acabamos de crear, o sea Guatemala

Primero consultemos la tabla pais para ver los paises que existen

select * from pais;


Vemos que existen tres países Guatemala, México y Perú, ahora borraremos Guatemala

Ejercicio 4
Eliminar de la base de datos el país GUATEMALA utilizando la sentencia DELETE y su filtro WHERE

delete from pais
where cod_pais = 'GUA'

Al eliminar el país Guatemala, no nos muestra ningún error por el hecho de que no hay ninguna ciudad dada de alta que esté relacionada a Guatemala y es por eso que se puede eliminar.

UPDATE

Ahora supongamos que me equivoqué en algún dato del registro, aquí tendría la opción de borrar el registro y volverlo a escribir, pero no siempre es fácil no viable, pues se puede dar el caso de que tenga un registro de otra tabla relacionado y me marque un error, como en el caso de los países. Supongamos que me equivoqué en la fecha de independencia de México, ya no puedo borrarlo y volverlo a ingresar porque hay ciudades relacionadas y marcará un error de llave foránea. Como no puedo borrarlo para volverlo a ingresar, actualizaré sus datos. Y para ello utilizaremos la sentencia UPDATE.

Ejercicio 5:
Actualizar la fecha de independencia de México por el 27 de septiembre de 1821 utilizando la sentencia UPDATE con su clausula WHERE

update  pais
set fecha_independencia = '18100927'
where cod_pais='MEX';

Como vemos para actualizar se utiliza la sentencia UPDATE, despues el nombre de la tabla a actualizar, en este caso PAIS, despues set y el nombre del campo, en este caso fecha_independencia, seguidamente viene la clausula WHERE para filtrar el registro o registros que queremos que cambie, en este caso donde el cod_pais sea MEX, es IMPORTANTISIMO utilizar la clausula WHERE ya que si no se utiliza se ACTUALIZARA TODA LA TABLA Y NO HABRÁ MANERA DE RECUPERARLA, al momento de ejecutar no muestra ningún error, vamos a comprobar que realmente se actualizó y la tabla queda como vemos en la siguiente imagen:

select * from pais;


Listo, como pueden observar el cambio se realizó correctamente. 

Hasta aquí el post queridos amigos, espero haya sido de su agrado y de su utilidad, espero compartan, comenten, hagan +1 o le den clic a algún anuncio que les interese, ya saben como siempre estoy a sus órdenes para cualquier duda que tengan.

Saludos






Banderas de Visitantes

Flag Counter