Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta MySQL. Mostrar todas las entradas

domingo, 4 de junio de 2017

Cómo migrar una tabla MySQL a un archivo texto


Objetivo:
Migrar una tabla MySQL como un archivo texto.

Ejercicio:
Dada una tabla denominada “animales” de la base de datos zoologico, copiar todos sus registros a un archivo texto denominado “animales.txt”.

Si no se tiene creada esta tabla de un ejercicio previo. Se describen los pasos para crear la tabla con tres registros.

jueves, 9 de marzo de 2017

Ejemplo de una consulta vinculando tres tablas utilizando la clausula INNER JOIN




Ejemplo #1:
Crear una tabla para registrar los tres restaurantes de la lista, otra tabla con los tres tipos de pizza, otra tabla con las tres área de envío y una cuarta tabla que registre todos los pedidos que se muestran en la lista. 
Posteriormente realizar una consulta SELECT utilizando la clausula INNER-JOIN que muestre la información como se refleja en la lista. 

martes, 17 de enero de 2017

Cómo copiar una tabla MySQL en tres diferentes métodos


Existen varios motivos por el cual se necesite realizar una copia de una tabla: tener un respaldo de la tabla, realizar pruebas en los datos de una tabla pero no se quiere correr el riesgo de modificar los datos originales, tener una tabla con ciertos registros filtrados de otra, tener una tabla con la misma estructura de otra pero sin sus datos, en fin existen muchas razones por la cual se puede necesitar realizar una copia de una tabla.

Objetivo:
Aprender los distintos métodos que ofrece MySQL para copiar una tabla.

martes, 11 de octubre de 2016

Consultas SQL: Sentencia SELECT



Consultas SQL
Para construir una consulta SQL debemos hacernos como mínimo tres preguntas:
Primero, ¿Qué datos nos solicitan?
El nombre de los campos de la tabla.
Segundo, ¿Dónde están los datos?
El nombre de la(s) tabla(s)
Tercero, ¿Qué criterios deben cumplir los registros?
Criterio donde se especifica el filtro para seleccionar los registros


Cláusulas básicas utilizadas en una consulta:
Para realizar una consulta a una o varias tablas básicamente se utilizan tres (3) cláusulas:
Cláusula SELECT: Donde indicamos los campos de la tabla que queremos obtener, separados por comas. Responde a la pregunta: ¿Qué datos nos piden?
Cláusula FROM: Donde indicamos en qué tabla se encuentran estos campos. Responde a la pregunta: ¿Dónde están los datos?
Cláusula WHERE: Donde se establece la condición que ha de cumplir los registros de la tabla que serán seleccionados. Responde a la pregunta: ¿Qué requisitos deben cumplir lo registros?

lunes, 20 de junio de 2016

Inyección SQL



La inyección SQL es una técnica donde el atacante crea o altera comandos SQL existentes para exponer datos ocultos, sobrescribir los valiosos o ejecutar comandos peligrosos a nivel de sistema en el equipo que hospeda la base de datos.

miércoles, 27 de mayo de 2015

Como hacer consultas en dos tablas vinculadas utilizando la clausula INNER JOIN



El INNER JOIN permite emparejar filas de distintas tablas de forma más eficiente que con la utilización de la clausula “SELECT - WHERE”.

Utilizando “SELECT - WHERE” primero se combinan ambas tablas (si ambas tablas tienen 4 filas, el resultado de la tabla combinada será de 16 filas) y luego se seleccionan las filas que cumplan la condición de emparejamiento.

Con INNER JOIN se busca directamente las filas que cumplen la condición, con lo cual solo se emparejan las filas que luego aparecen en el resultado.

jueves, 7 de mayo de 2015

Como migrar un archivo texto a una tabla MySQL



Objetivo: 
Migrar un archivo texto a una tabla en MySQL. 

Ejercicio:
Dado este archivo texto "animal.csv" que contiene los siguientes datos: código de la mascota, nombre, Tipo de mascota: P(perro) o G(gato), sexo: M(macho) H(Hembra), código de la jaula, Vacuna: S(S) o N(No) 

jueves, 15 de mayo de 2014

Modos de ejecución de comandos en MySQL



Cuando se ejecute un comando SQL desde el cliente MySQL se disponen de dos modos, el modo interactivo y el modo por lotes (o batch):

A continuación se describe el uso de ambos modos:

Como conectarse y desconectarse a MySQL de modo interactivo



Para conectarse al servidor MySQL se debe proporcionar un nombre de usuario y una contraseña.

Si el servidor se está ejecutando en un ordenador distinto a donde se establece la conexión se debe adicionalmente especificar el nombre de host.

El administrador del equipo servidor donde se encuentra instalada el MySQL debe proporcionar los parámetros necesarios para realizar esta conexión (nombre de usuario, contraseña y host). Una vez que se conocen los parámetros necesarios, debe conectarse de esta forma:

Introducción al MySQL


¿Qué es MySQL?

MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. 

Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.

MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar.

Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y qué no puede hacer con el software en diferentes situaciones. 

Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada.

Como crear claves foráneas en MySQL (FOREIGN KEY)



Foreign Key:
Una llave foránea (Foreign Key) es una limitación referencial entre dos tablas. La clave foránea identifica un campo en una tabla (tabla hija o referendo) que se refiere a un campo de otra tabla (tabla padre o referenciada).
El campo en la tabla padre debe ser clave primaria y un registro en la tabla hija no puede contener valores que no existen en la tabla padre.
Las referencias son creadas para vincular o relacionar información. Esto es una parte esencial de la normalización de base de datos.

miércoles, 7 de mayo de 2014

Motores de Almacenamiento de MySQL


MySQL soporta varios motores de almacenamiento que tratan con distintos tipos de tabla. Los motores de almacenamiento de MySQL incluyen algunos que tratan con tablas transaccionales y otros que no lo hacen:
  • MyISAM trata tablas no transaccionales, proporciona almacenamiento y recuperación de datos rápida, así como posibilidad de búsquedas fulltext. MyISAM se soporta en todas las configuraciones MySQL y fue el motor de almacenamiento por defecto hasta la versión 5.5 de MySQL.
  • El motor de almacenamiento MEMORY proporciona tablas en memoria. El motor de almacenamiento MEMORY anteriormente se conocía como HEAP.
  • Los motores de almacenamiento InnoDB y BDB proporcionan tablas transaccionales. InnoDB se incluye por defecto en todas las distribuciones binarias de MySQL 5.5

Tipos de columnas permitidas en MySQL


MySQL soporta un número de tipos de columnas divididos en varias categorías: tipos numéricos, tipos de cadenas de caracteres  y tipos de fecha y hora.
En este capítulo se mencionan los tipos de columnas más utilizados proporcionando una breve descripción de cada categoría:

Primeros pasos en MySQL: Comandos básicos


Para comenzar a trabajar con una base de datos o tabla, MySQL ofrece algunos comandos y funciones que proveen información acerca de las bases de datos y el sistema.

A continuación se mencionan los comandos y funciones más utilizados:

lunes, 5 de mayo de 2014

Cómo escribir consultas MySQL utilizando funciones



Funciones
Las funciones en MySQL se reconocen por los paréntesis al final. Entre las consideraciones al trabajar con funciones se pueden nombrar:
1. Los resultados de las funciones se devuelven en tablas, el primer renglón corresponde a los encabezados de las columnas. 
2. Es importante no dejar espacio entre el nombre de la función y los paréntesis, de otro forma MySQL genera un mensaje de error.
3. Cuando se utilizan cadenas de caracteres la primera posición es la uno (1).

A continuación se explican las funciones de cadena de caracteres, numéricas, Fecha y hora más utilizadas:

viernes, 2 de mayo de 2014

Sentencias de Definición de Datos


1. CREATE DATABASE
Crea una base de datos con el nombre dado.
Sintaxis:
CREATE DATABASE [IF NOT EXISTS] BaseDeDatos;
Ejemplo:
CREATE DATABASE IF NOT EXISTS nomina;


2. CREATE TABLE
Crea una tabla con el nombre dado.
Sintaxis:
CREATE TABLE [IF NOT EXISTS] tabla (
Campo1  TIPO(longitud) [NOT NULL o NULL],
Campo2  TIPO(longitud) [NOT NULL o NULL],
CampoN  TIPO(longitud) [NOT NULL o NULL],
PRIMARY KEY (Campo),
UNIQUE (Campo),
FOREIGN KEY (CampoDeEstaTabla) REFERENCES OtraTabla(CampodeOtraTabla)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE = INNODB;

Atributos de columna
Atributo
Significado
NULL
Se permiten valores nulos, atributo por omisión si no se especifica lo contrario.
NOT NULL
No se permiten valores nulos.
DEFAULT valor
Valor por omisión que se asigna a la columna.
AUTO_INCREMENT
El valor se asigna automáticamente incrementando en uno el máximo valor registrado  hasta el momento.
PRIMARY KEY
Señala al campo como clave primaria, implícitamente también lo declara como not null. Solo puede haber una sola clave primaria por tabla.

Aunque la creación de una clave primaria puede declararse como atributo de columna, es conveniente definirla como restricción de tabla, como se verá enseguida.

Restricciones de Tabla    
Restricción
Significado
PRIMARY KEY
Define el campo que servirá como clave primaria.
UNIQUE
Define los campos en las que no pueden duplicar valores.
FOREIGN KEY(Campo)
REFERENCES tabla2 (campo2)
Define un campo que es clave foránea en la tabla actual y es clave principal en otra tabla. Esto asegura que no se realicen referencias a registros que no existen.

Ejemplo:
CREATE TABLE IF NOT EXISTS empleado(
codigo INT(5) NOT NULL,
nombre VARCHAR(50) NOT NULL,
ingreso DATE NOT NULL,
num_hijos INT(2) UNSIGNED NOT NULL,
tipo ENUM("Fijo","Temporal") NOT NULL,
tiempo_contrato TINYINT(2) UNSIGNED DEFAULT 1 NOT NULL,
PRIMARY KEY(codigo)
) ENGINE=innodb;

  
3. ALTER TABLE
Cambia la estructura de una tabla existente.
Sintaxis:
(Para agregar campos)
ALTER TABLE tabla ADD nuevocampo definicióndecampo [FIRST o AFTER campo]
(Para modificar campos)
ALTER TABLE tabla CHANGE actualnombredecampo nuevonombredecampo definicióndecampo [FIRST o AFTER campo]
(Para eliminar campos)
ALTER TABLE tabla DROP campo;
(Para agregar llave primaria)
ALTER TABLE tabla ADD PRIMARY KEY(campoprimario)
(Para eliminar llave primaria)
ALTER TABLE tabla DROP PRIMARY KEY;
(Para renombrar tabla)
ALTER TABLE actualnombredetabla RENAME nuevonombredetabla

Ejemplos:
Agrega a la tabla 'empleado' el campo 'sueldo' (con 5 enteros y dos decimales) luego del campo ingreso.
ALTER TABLE empleado ADD sueldo FLOAT(7,2) AFTER ingreso;
Modifica a la tabla 'empleado' el campo sueldo agregando NOT NULL.
ALTER TABLE empleado CHANGE sueldo sueldo FLOAT(7,2) NOT NULL;
Elimina de la tabla 'empleado' el campo 'ciudad'
ALTER TABLE empleado DROP ciudad;
Renombra la tabla 'empleado' como 'obrero' 
ALTER TABLE empleado RENAME obrero;
Elimina de la tabla 'empleado' la llave primaria.
ALTER TABLE empleado DROP PRIMARY KEY;
Asignar al campo 'codigo' de la tabla 'empleado' como llave primaria.
ALTER TABLE empleado ADD PRIMARY KEY(codigo);


4. DROP TABLE
Borra una o más tablas.
Sintaxis:
DROP TABLE tabla
Ejemplo:
Borra la tabla 'empleados'.
DROP TABLE empleados


5. DROP DATABASE
Borra todas las tablas en la base de datos y borra la base de datos
Sintaxis:
DROP DATABASE basededatos
Ejemplo:
Borra la base de datos 'nomina'
DROP DATABASE nomina





Sentencias de manipulación de datos



INSERT
Inserta nuevos registros en una tabla existente basados en los valores especificados en VALUE. Si no se especifican los campos, se deben insertar todos los valores para cada campo en el orden en el cual están definidos en la tabla.
Sintaxis:
INSERT INTO tabla (campo1, campo2, campoN) VALUES (valor1,valor2,valorN);

DELETE
Borra los registros de tabla que satisfacen la condición dada por WHERE y retorna el número de registros borrados. Si se ejecuta un comando DELETE sin la cláusula WHERE se eliminarán todos los registros de la tabla.
Sintaxis:
DELETE FROM tabla WHERE criterio;

UPDATE
Actualiza los campos de los registros de tabla que satisfacen la condición dada por WHERE existentes con nuevos valores. En la cláusula SET se define las columnas que serán modificadas y el valor que recibirán. Si se ejecuta un comando UPDATE sin la cláusula WHERE se actualizan todos los registros de la tabla.
Si el valor contenido en el campo es el mismo valor que se desea actualizar MySQL no ejecuta ninguna actualización.
Si actualiza una columna declarada como NOT NULL con un valor NULL, la columna recibe el valor por defecto apropiado para el tipo de la columna. Para campos numéricos “0”, para caracteres, la cadena vacía (''), para fechas el valor “0000-00-00” y para horas “00:00:00”.
UPDATE retorna el número de registros que se cambian.
Sintaxis:

UPDATE tabla SET campo1=valor1, campo2=valor2, campoN=valorN WHERE criterio;