Está en la página 1de 31

MySQL

Prof. Hooberth Chvez Bedoya


1
Mysql: Caractersticas
Disponibilidad en gran cantidad de
plataformas y sistemas.
Diferentes opciones de almacenamiento
segn si se desea velocidad en las
operaciones o el mayor nmero de
operaciones disponibles.
Transacciones y claves forneas.
Conectividad segura.
Replicacin.
Bsqueda e indexacin de campos de texto.
2
Acceso a las bases de datos de forma
simultnea por varios usuarios y/o
aplicaciones.
Seguridad, en forma de permisos y
privilegios
Portabilidad: SQL es tambin un lenguaje
estandarizado, de modo que las consultas
hechas usando SQL son fcilmente
portables a otros sistemas y plataformas.
Escalabilidad: es posible manipular bases
de datos enormes, del orden de seis mil
tablas y alrededor de cincuenta millones de
registros, y hasta 32 ndices por tabla.
3
MySQL : Ventajas
Iniciando MySql
Comprobacin de entrada al Servidor:
Mysql>
Comandos para salir del Servidor
Mysql>quit Mysql>exit
4
Comandos bsicos
Mostrando Bases de Datos existentes:
Mysql>show databases;
Activando Base de Datos de Trabajo:
mysql> use nombre_BD;
Mostrando las Tablas existentes en la Base de Datos actual
Mysql>show tables;
Describir el esquema de las tablas:
mysql> describe nombre_Tabla;
5
COMANDOS
Existen dos tipos de comandos en MySQL:
DLL crean y definen nuevas bases de datos,
campos e ndices.
DML generan consultas para ordenar, filtrar
y extraer datos.
6
Tipos de datos en Mysql
Datos numricos
Si se agrega el atributo unsigned nos da un rango mayor:
Datos numricos: FLOAT, DOUBLE y DECIMAL indicar la
longitud de la parte entera y la parte decimal.
7
Tipos de datos Bytes Valor mnimo Valor mximo
TINYINT 1 -128 127
SMALLINT 2 -32768 32767
MEDIUMINT 3 -8388608 8388607
INT o INTEGER 4 -2147483648 2147483647
BIGINT 8 -
9223372036854775808
9223372036854775807
Tipo de dato Bytes Valor mnimo Valor mximo
TINYINT 1 0 255
SMALLINT 2 0 65535
MEDIUMINT 3 0 16777215
INT o INTEGER 4 0 4294967295
BIGINT 8 0 1844674407370955
1615
Tipos de datos en Mysql
Datos para guardar cadenas de caracteres
(alfanumricos) :
8
Nombre Descripcin
VARCHAR Util cuando la longitud del dato es desconocida, cuando depende de la informacin que el usuario escribe en
campos o reas de texto de un formulario.
La longitud mxima permitida era de 255 caracteres hasta MySQL 5.0.3. pero desde esta versin cambio a un
mximo de 65.535 caracteres.
BINARY Igual que Char pero almacena en bytes
CHAR Este tipo de dato permite almacenar textos breves, de hasta 255 caracteres de longitud como mximo en
caracteres que le definamos, aunque no lo utilicemos. Una vez definido reserva el tamao y no lo optimiza.
VARBINARY Igual que Varchar pero almacena en bytes
TINYBLOB Almacena archivos binarios de 255 bytes
TINYTEXT Almacena hasta 255 caracteres
Tipos de datos en Mysql
Datos para guardar cadenas de caracteres (alfanumricos) :
9
Nombre Descripcin
BLOB Guarda informacin en formato binario como imgenes o archivos zip
MEDIUMBLOB Almacena archivos binarios de 6.777.215 bytes
MEDIUMTEXT Almacena hasta 6.777.215 caracteres
LONGBLOB Almacena archivos binarios de 4 Gb
LONGTEXT Almacena hasta 4Gb caracteres
ENUM Crea una lista de valores permitidos, y no autoriza el ingreso de ningn valor fuera de la lista, y se
permitir elegir solo uno de estos datos como valor del campo y siempre debe elegirlo,
Los valores deben estar separados por comas y envueltos entre comillas simples cuando se define el
campo en la tabla. Alcanza hasta los 65535 valores distintos .
SET Igual que enumpero tiene de tope dar de alta 64 opciones, puede quedarse vacio y puede elegirse ms
de un elemento
TEXT Para textos muy largos mximo mximo de 65535 caracteres
Tipos de datos en Mysql
Datos para almacenar fechas y horas:
10
Nombre Descripcin
Date Permite almacenar fechas en el formato: AAAA-MM-DD (los cuatro primeros
dgitos para el ao, los dos siguientes para el mes, y los ultimos dos para el
dia).
DateTime Permitir almacenar informacin acerca de un instante de tiempo, pero no
slo la fecha sino tambin su horario, en el formato:
AAAA-MM-DD HH:MM:SS
TimeStamp Permite el almacenamiento con las opciones:
AAAA-MM-DD HH:MM:SS
AAAA-MM-DD
AA-MM-DD
Adems que su valor se mantenga actualizado automticamente,cada vez que
se inserte o que se actualice un registro.
Time Permite almacenar horas, minutos y segundos, en el formato HH:MM:SS, y su
rango permitido va desde -839:59:59 hasta 839:59:59 (unos 35 das hacia
atrs y hacia adelante de la fecha actual).
Year Almacenar un ao, tanto utilizando dos como cuatro dgitos.
Tipos de atributos
11
Nombre Descripcin
Null o not null: depende si es obligatorio en la insercin o puede agregarse mediante
otras acciones posteriores.
Valor default: cuando se necesite un valor previo para que no se quede vacio el
campo.
Primary Key: impide que se le inserten valores repetidos y que se deje nulo su
valor.
Auto_Increment: ocupa de incrementar en uno el valor de la clave primaria del ltimo
registro agregado.
Unique: estaremos obligando a que su valor no pueda repetirse en ms de un
registro, pero no por eso el campo se considerar clave primaria de
cada registro
Fulltext: Con este ndice se examinar el contenido de este campo palabra por
palabra, almacenando cada palabra en una celda de una matriz,
permitiendo hacer bsquedas de palabras contenidas dentro del
campo
DDL
(Data Definition Language)
Incluye los comandos:
CREATE
DROP
ALTER
12
Ejemplo: Base datos Videoteca
En una Videoteca se requiere
automatizar sus procesos de
rentas, por lo que solicita que la
siguiente informacin sea
almacenada en una base de
datos:
Pelculas: ttulo, director, autor.
Clientes: nombre del cliente, ao
de nacimiento.
Rentas: ttulo de la pelcula,
cliente, fecha de inicio, fecha final
13
CREATE DATABASE
Utilizado para crear nuevas Bases de Datos.
Sintaxis
DROP DATABASE IF EXISTS nombre_BD;
CREATE DATABASE nombre_BD;
Ejemplo
DROP DATABASE IF EXISTS videoteca;
CREATE DATABASE videoteca;
14
CREATE TABLE
Utilizado para crear nuevas tablas, campos e ndices.
Sintaxis:
USE nombre_BD;
DROP TABLE IF EXISTS nombre_tabla;
CREATE TABLE nombre_tabla(
var1 tipo1 [NOT NULL] [PRIMARY KEY],

varN tipoN
);
15
CREATE TABLE
Ejemplo:
USE videoteca;
DROP TABLE IF EXISTS pelicula;
CREATE TABLE pelicula(
id_pelicula INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(64) NOT NULL,
director VARCHAR(128) NOT NULL,
actor VARCHAR(128) NOT NULL
);
DROP TABLE IF EXISTS clientes;
CREATE TABLE clientes(
id_cliente INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
cliente VARCHAR(64) NOT NULL
);
16
FOREIGN KEY Y REFERENCES
Foreign Key es utilizado para designar llaves forneas en una tabla.
References establece cul es la tabla de donde se obtiene la llave
fornea.
On delete cascade indica que al eliminar registros en la otra tabla
se eliminan de la tabla actual.
On update cascade indica que al actualizar registros en la otra
tabla se actualizan en la tabla actual
Sintaxis:
USE nombre_BD;
DROP TABLE IF EXISTS nombre_tabla;
CREATE TABLE nombre_tabla(
var1 tipo1 [NOT NULL] [PRIMARY KEY],
var_foranea tipo x [NOT NULL]
varN tipoN
FOREIGN KEY(var_foranea) REFERENCES
otra_Tabla(var_foranea) ON DELETE CASCADE ON
UPDATE CASCADE
);
17
Ejemplo de Foreign key
USE videoteca;
DROP TABLE IF EXISTS rentas;
CREATE TABLE rentas(
fecha_inicio date NOT NULL,
fecha_fin date NOT NULL,
id_cliente INT NOT NULL,
id_pelicula INT NOT NULL,
FOREIGN KEY(id_cliente) REFERENCES clientes(id_cliente) ON DELETE
CASCADE ON UPDATE CASCADE,
FOREIGN KEY(id_pelicula) REFERENCES pelicula(id_pelicula) ON DELETE
CASCADE ON UPDATE CASCADE, PRIMARY KEY(id_cliente,id_pelicula,
fecha_inicio)
);
18
DROP
Empleado para eliminar Bases de Datos y
tablas.
Sintaxis
19
DROP Database nombre_BD;
DROP table nombre_tabla;
Ejemplo
DROP table rentas;
ALTER
Utilizado para modificar las tablas agregando
campos o cambiando la definicin de los
campos.
20
Sintaxis
ALTER TABLE nombre_tabla
ADD COLUMN campo1 tipo_campo1;
ALTER TABLE nombre_tabla
DROP COLUMN campo1;
ALTER
21
Ejemplo
ALTER TABLE pelicula ADD COLUMN categoria Varchar(20) ;
ALTER TABLE clientes ADD COLUMN year INT(4) ;
ALTER TABLE pelicula DROP COLUMN categoria;
DML
(Data Manipulation Language)
Incluye los comandos:
INSERT
SELECT
UPDATE
DELETE
22
INSERT
Utilizado para cargar lotes de datos en la base
de datos en una nica operacin.
23
Sintaxis
Use nombre_BD;
INSERT INTO Tabla (campo1, campo2, .., campoN)
VALUES (valor1, valor2, ..., valorN);
INSERT: Ejemplos en la tabla pelicula
Use Videoteca;
INSERT INTO pelicula (titulo, director, actor) VALUES( 'Blade Runner', 'Ridley
Scott', 'Harrison Ford' );
INSERT INTO pelicula (titulo, director, actor) VALUES( 'Alien', 'Ridley Scott',
'Sigourney Weaver' );
INSERT INTO pelicula (titulo, director, actor) VALUES( 'Doce monos', 'Terry
Gilliam', 'Bruce Willis' );
INSERT INTO pelicula (titulo, director, actor) VALUES( 'Contact', 'Robert
Zemeckis', 'Jodie Foster' );
INSERT INTO pelicula (titulo, director, actor) VALUES( 'Tron', 'Steven Lisberger',
'Jeff Bridges' );
INSERT INTO pelicula (titulo, director, actor) VALUES( 'La guerra de las galaxias',
'George Lucas', 'Harrison Ford' );
24
INSERT: Ejemplos en la tabla clientes
Use Videoteca;
INSERT INTO clientes (cliente, year) VALUES( 'Jorge Perez', 1980);
INSERT INTO clientes (cliente, year) VALUES( 'Juan Dominguez', 1950);
INSERT INTO clientes (cliente, year) VALUES( 'Jose Luis Lopez', 1967);
25
INSERT: Ejemplos en la tabla rentas
Use Videoteca;
INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select
clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where
clientes.cliente='Jorge Perez' and pelicula.titulo='Tron';
INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select
clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where
clientes.cliente='Jorge Perez' and pelicula.titulo='Doce monos';
INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select
clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where
clientes.cliente='Jorge Perez' and pelicula.titulo='Contact';
INSERT INTO rentas (id_cliente, id_pelicula, fecha_inicio,fecha_fin) select
clientes.id_cliente,pelicula.id_pelicula,CURDATE(),CURDATE()+2 from clientes,pelicula where
clientes.cliente='Juan Dominguez' and pelicula.titulo='Contact';
26
SELECT
Utilizado para consultar registros de la base de
datos que satisfagan un criterio determinado
27
Sintaxis
Use nombre_BD;
SELECT [DISTINCT]
<lista_columnas> | *
FROM <lista_tablas>
[WHERE <predicado>]
SELECT
28
Ejemplo
USE videoteca;
SELECT * FROM pelicula;
SELECT * FROM pelicula WHERE director='Ridley Scott';
SELECT titulo FROM pelicula WHERE director='Ridley Scott ORDER BY titulo;
Select pelicula.titulo from pelicula,rentas where id_cliente=1 and
pelicula.id_pelicula=rentas.id_pelicula;
UPDATE
Sintaxis:
Use nombre_BD;
UPDATE Tabla SET
Campo1=Valor1,
Campo2=Valor2, ...
CampoN=ValorN
WHERE Criterio;
29
Utilizado para modificar los valores de los
campos y registros especificados
UPDATE
30
Ejemplo
USE videoteca;
UPDATE pelicula
SET titulo='Star Wars'
WHERE titulo='La guerra de las galaxias';
DELETE
Utilizado para eliminar registros de una tabla de una
base de datos.
Sintaxis:
31
DELETE FROM Tabla WHERE criterio;
Ejemplo
DELETE FROM pelicula where director=Ridley Scott;

También podría gustarte