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






lunes, 11 de abril de 2016

Primeros Pasos en MySQL - Insertar datos en las tablas de MySQL

Buenas noches queridos lectores, el día de hoy continuaremos con la introducción a MySQL y en esta ocasión veremos como insertar datos en la tabla y como visualizarlos, este tema lo vamos a tratar mas a detalle en post posteriores, pero de momento me gustaría comprendieran de manera simple como ingresar datos a las tablas. Pero comencemos y pongamos manos a la obra

Insert

La sentencia insert nos permitirá insetar filas a la base de datos, tenemos por el momento dos tablas creadas, la tabla PAIS y la tabla CIUDAD. La tabla PAIS, tiene la siguiente estructura


Utilizaremos la sentencia INSERT para insertar un nuevo registro y después explicaremos la sentencia. ¿Les parece?

domingo, 10 de abril de 2016

Primeros Pasos en MySQL - Crear tablas en MySQL

Buenas tardes queridos lectores, en este post, veremos como crear tablas en las bases de datos y como relacionarlas con otras tablas, vamos a ver primero un ejemplo muy básico, y después veremos ejemplos más complicados, al final armaremos una base de datos totalmente funcional, y muy ilustrativa, ya lo verán, espero acompañar a este post con un video, para continuar con el curso. Pero vamos a pasar a lo que nos interesa que es a aprender a crear tablas en MySQL.

Crear una tabla en MySQL

Para crear una tabla en MySQL , debemos primeramente tener creada la base de datos y tiene que estar activa, asi que recordaremos uno de los comandos vistos la lección anterior que era create database, aunque ahora lo veremos con un poco más de detalle. 

Create Database acepta tres parámetros:

CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]

martes, 5 de abril de 2016

Primeros paso con MySQL Parte I - Crear y eliminar una base de Datos

Buenas noches queridos lectores, seguiremos avanzando en el curso de MySQL, y hoy empezaremos a dar nuestros primeros pasos después de la instalación del post anterior, vamos a ver conceptos básicos que me parece importante tocar, pero entremos en materia que es a lo que venimos:

¿Qué es una base de Datos?

Una base de datos es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible, con otras palabras, una base de datos es un banco de información diseñado de tal manera para que no haya datos redundantes, es decir, el mismo dato varias veces, una base de datos tiene que estar disponible para los clientes, que necesitaran acceder a estos datos, para manipularlos, consultarlos o tomar decisiones con ellos. La base de datos esta construida con tablas relacionadas entre sí y dichas tablas están compuestas por registros o también llamados tuplas.

lunes, 4 de abril de 2016

Introducción e Instalación de María DB (MySQL)

Buenas tardes queridos lectores, ahora empezaré un nuevo curso de programación en Base de Datos, pero ahora será Transact en MySQL, ya les compartí un curso anterior de Transact, pero en SQL Server, ahora utilizaremos MariaDB o lo que es lo mismo MySQL para empezar a programar.

¿Porque María DB? (MySQL)?

Empezaremos con esta pregunta básica, ¿Porque trabajar con MySQL? (María DB), bueno, podemos encontrar las siguientes respuestas:
  • Es software libre
  • Es un software ampliamente usado, de hecho es el más usado en ambientes WEB
  • Es un software robusto, soporte procedimientos, cursores, transacciones, etc.
  • Es un software con comunidades de soporte.

martes, 22 de marzo de 2016

XML con SQL SERVER Parte I

Buenas tardes queridos lectores, el día de hoy les traigo el tema de XML con SQL Server, en la red no hay mucha información, así que vamos a tocar este tema el día de hoy, ya es la última parte del curso de Transact SQL, espero sea de su agrado.

Introducción

En ocasiones anteriores a SQL SERVER 2005, para almacenar un valor de tipo XML se tenía que declarar como tipo TEXT, desde esa versión hacia adelante se puede implementar el tipo de datos XML.

El tipo de datos XML permite almacenar documentos y fragmentos XML en una base de datos de SQL Server. Un fragmento XML es una instancia XML en la que falta un solo elemento de nivel superior.

El tipo de datos XML y los métodos asociados ayudan a integrar el XML en el marco relacional del SQL Server.

miércoles, 16 de marzo de 2016

Triggers (Disparadores) en SQL SERVER

Buenos días queridos lectores, el día de hoy les escribiré de los triggers, o disparadores en SQL Server, un tema por demás interesante. Vamos a ver un poco de teoría sobre lo que es un disparador y después pasaremos a la práctica que es como mejor se aprende.

Triggers

Un trigger (o disparador) en una base de datos es un procedimiento que se ejecuta cuando se cumple una determinada condición al realizar una operación, dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.

viernes, 11 de marzo de 2016

Transacciones en SQL Server

Buenas noches queridos lectores, hoy continuaremos con un tema sumamente interesante y útil, se trata de las transacciones, ya había publicado algo al respecto, pero solo fue una pequeña introducción. Vamos entrar en el tema

Transacciones en Trasact SQL

¿Que es una transacción?

Una transacción es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, es forma indivisible o atómica, en otras palabras es un bloque de instrucciones, parecido a un archivo batch, pero programado de tal manera, que si una instrucción en el bloque falla, no se realizará ninguna instrucción. Veamos un poco de teoría y algunos ejemplos para su mayor compreensión.

lunes, 7 de marzo de 2016

Procedimientos Almacenados en SQL SERVER Parte III- Procedimientos con Parámetros

Buenos días queridos lectores, vamos a continuar con el tema de los procedimientos almacenados en SQL SERVER, ya vimos los procedimientos almacenados que trae el sistema, vimos también que nosotros podemos crear nuestros propios procedimientos, ahora seguiremos viendo como crear nuestros propios procedimientos, pero con parámetros de entrada y salida, como siempre, pasaremos a los ejemplos que es donde se aprende mejor


Banderas de Visitantes

Flag Counter