Escolar Documentos
Profissional Documentos
Cultura Documentos
Ordenar
Renombrar
Agrupar
Clculos
19.Manejo de Fechas
20.Patrones
21.Expresiones regulares
5
ndice
ndice
22.Consultas con varias tablas
23.Imgenes
24.Triggers
6
Introduccin
Introduccin
Username: bdxxxxxxx
Password: xxxxxxx
Una vez dentro, tendremos a nuestra disposicin todas las
sentencias de MySQL para el trabajo con la base de datos
y el lenguaje SQL.
10
Conectarse al servidor
Conectarse al servidor
mysql-h computadora -u usuario -p
11
Mostrar bases de datos
Mostrar bases de datos
Mediante la sentencia SHOW se encuentran las bases de datos
que existen actualmente en el servidor
SHOW DATABASES;
12
Acceder a una base de datos
Acceder a una base de datos
USE nombre_bd;
13
Crear una base de datos
Crear una base de datos
CREATE DATABASE Nombre_BD;
14
Debemos seleccionar la base de datos cada vez que iniciamos una
sesin con mysql, as que es recomendable indicar la base de datos
sobre la que vamos a trabajar al momento de invocar al monitor de
MySQL.
mysql -h computadora -u usuario -p nombre_BD
Conectarse a MySQL ya con una
Conectarse a MySQL ya con una
base de datos especificada
base de datos especificada
15
Borrar una base de datos
Borrar una base de datos
DROP DATABASE Nombre_BD;
16
La sentencia SHOW TABLES mostrar las tablas
existentes dentro de la base de datos.
SHOW TABLES;
Mostrar tablas existentes
Mostrar tablas existentes
17
Crear una tabla
Crear una tabla
La sentencia CREATE TABLE es utilizada para indicar
como estarn conformados los registros de nuestra base
de datos.
CREATE TABLE nombre_tabla(
nombre_atributo tipo_dato,
);
18
Tipos de datos
Tipos de datos
Para guardar los datos, se utilizan tipos donde
las clasificaciones bsicas son:
Numricos
Fecha
Texto
19
Numricos
Numricos
Tipo Rango
TinyInt -128 a 127
0 a 255
Bit o Bool 0 1
SmallInt -32768 a 32767
0 a 65,535
MediumInt -8388608 a 8388607
0 a16777215
20
Numricos
Numricos
Tipo Rango
Integer
, Int
-2147483648 a 2147483647
0 a 4294967295
BigInt -9223372036854775808 a
9223372036854775807
0 a 18446744073709551615
Float -3.402823466E+38 a
-1.175494351E-38
xReal,
Double
-1.7976931348623157E+308
a -2.2250738585072014E-308
21
Fecha
Fecha
Date:
ao-mes-dia
DateTime:
ao-mes-dia horas:minutos:segundos
Time:
Hh:mm:ss
Year
22
Fecha
Fecha
TimeStamp: El formato de almacenamiento
depende del tamao del campo
Tama
o
Formato
14
AoMesDiaHoraMinutoSegundo
aaaammddhhmmss
12
AoMesDiaHoraMinutoSegundo
aammddhhmmss
8 oMesDia aaaammdd
6 AoMesDia aammdd
4 AoMes aamm
2 Ao aa
23
Texto
Texto
Char(n): Cadena fija, mximo 255 caracteres
VarChar(n): Cadena variable, , mximo 255
caracteres
Blob y Text: Mximo 65535 caracteres
LongBlob y LongText: Mximo 4294967295
caracteres.
24
Enum
Enum
Llaves primarias
Especificarlo a un lado del atributo
nombre_atributo tipo_dato PRIMARY KEY
Agregando la restriccin formalmente
constraint nombre_restriccion
primary key (atributo)
26
Restricciones
Restricciones
Llaves forneas
FOREIGN KEY (atributo) REFERENCES
nombre_tabla (nombre_atributo)
27
Restricciones
Restricciones
Campos autoincrementables
Esta restriccin permite que un campo nmerico
lleve un incremento automtico en base a cada
tupla insertada.
Solo se debe agregar la palabra
AUTO_INCREMENT
28
Valores nulos
Valores nulos
CHANGE nombre_anterior_atributo
nombre_nuevo_atributo tipo_atributo
MODIFY nombre_atributo
nuevo_tipo_atributo
DROP nombre_atributo
34
Cambiar nombre a la tabla
Cambiar nombre a la tabla
ALTER TABLE nombre_tabla
RENAME TO nuevo_nombre_tabla;
35
INSERT INTO nombre_tabla
VALUES ('Diana','f','2000-03-30');
MAX
MIN
AVG
SUM
47
Renombrar atributo
Renombrar atributo
SELECT nombre_atributo AS nuevo_nombre
FROM nombre_tabla;
48
Contar filas
Contar filas
SELECT COUNT(*)
FROM nombre_tabla;
49
Agrupar
Agrupar
SELECT COUNT(*)
FROM nombre_tabla
GROUP BY nombre_atributo;
50
No mostrar tuplas repetidas
No mostrar tuplas repetidas
SELECT DISTINCT nombre_atributo
FROM nombre_tabla;
51
15 MINUTOS PARA
15 MINUTOS PARA
EXPERIMENTAR
EXPERIMENTAR
Dudas? Hganmelas saber
52
Solo algunas tuplas
Solo algunas tuplas
SELECT atributos
FROM nombre_tabla
WHERE condicin;
53
Manejo de fechas
Manejo de fechas
CURDATE() :
Esta funcin devuelve la fecha actual en formato 'YYYY-MM-DD' o
'YYYYMMDD' (Ao-Mes-Da)
mysql> select curdate();
CURTIME() :
Devuelve la hora actual en formato 'HH:MM:SS' o 'HHMMSS'.
mysql> select curtime();
--> 17:33:07
Fecha y hora actual
Fecha y hora actual
--> 2007-01-03
55
Fecha y hora actual
Fecha y hora actual
NOW() :
Esta funcin de fecha devuelve la fecha y hora actual en formato 'YYYY-MM-
DD HH:MM:SS' o YYYYMMDDHHMMSS (Ao-Mes-Da
Hora:Minuto:Segundo)
mysql> select now();
--> 2007-01-04 14:56:15
56
DATEDIFF(fecha1,fecha2) :
Esta funcin devuelve fecha1 fecha2 expresados como un valor en
das de una fecha a la otra. Aqu slo las partes de fecha sern
consideradas para el clculo.
mysql> select datediff('2007-2-6 17:33:25','2007-1-1');
--> 36
Rangos de fechas
Rangos de fechas
57
Rangos de fechas
Rangos de fechas
DAYNAME(fecha) :
Devuelve el nombre del da para una fecha especificada.
mysql> select dayname('2007-01-04');
--> Thursday
MONTHNAME(fecha) :
Devuelve el nombre del mes para la fecha especificada.
mysql> select monthname('2007-07-09');
--> July
Da y mes
Da y mes
59
DAYOFWEEK(fecha) :
Devuelve el da de la semana en formato numrico como 1 para
Domingo hasta 7 para Sbado.
mysql> select dayofweek('2007-01-04');
--> 5
Semana
Semana
60
HOUR(hora) :
Devuelve la hora del tiempo especificado en formato numrico de 0 a 23.
MINUTE(hora) :
Devuelve el minuto del tiempo especificado en formato numrico de 0 a 59.
MONTH(fecha) :
Devuelve el mes para la fecha dada en formato numrico en rango de 0 a 12
DAY(fecha) :
Devuelve la fecha para el da del mes en el rango de 1 a 31
Secciones
Secciones
61
Patrones
Patrones
^
Coincidencia del principio de una cadena.
mysql> SELECT 'fonfo' REGEXP '^fo$'; -> 0
mysql> SELECT 'fofo' REGEXP '^fo'; -> 1
$
Coincidencia del final de una cadena.
mysql> SELECT 'fono' REGEXP '^fono$'; -> 1
mysql> SELECT 'fono' REGEXP '^fo$'; -> 0
65
.
Coincidencia de cualquier carcter (incluyendo los de avance o el retorno de lnea).
mysql> SELECT 'fofo' REGEXP '^f.*$'; -> 1
mysql> SELECT 'fornfo' REGEXP '^f.*$'; -> 1
a*
Coincidencia de cualquier secuencia de cero o ms caracteres.
mysql> SELECT 'Ban' REGEXP '^Ba*n'; -> 1
mysql> SELECT 'Baaan' REGEXP '^Ba*n'; -> 1
mysql> SELECT 'Bn' REGEXP '^Ba*n'; -> 1
a+
Coincidencia de cualquier secuencia de uno o ms caracteres.
mysql> SELECT 'Ban' REGEXP '^Ba+n'; -> 1
mysql> SELECT 'Bn' REGEXP '^Ba+n'; -> 0
66
15 MINUTOS PARA
15 MINUTOS PARA
EXPERIMENTAR
EXPERIMENTAR
HACER UNA RETROALIMENTACIN
67
Consultas con mas de una tabla
Consultas con mas de una tabla
SELECT *
FROM tabla1
INNER JOIN tabla2
ON tabla1.id = tabla2.id
68
Motor InnoDB
Motor InnoDB
) engine=innodb;
69
Convertir una tabla a InnoDB
Convertir una tabla a InnoDB
ALTER TABLE nombre_tabla type=innoDB;
70
15 MINUTOS PARA
15 MINUTOS PARA
EXPERIMENTAR
EXPERIMENTAR
HACER UNA RETROALIMENTACIN
71
Respaldar la base de datos
Respaldar la base de datos
La respaldo
mysqldump nombre_bd >
nombre_archivo.sql;
La recupero
mysql nombre_bd < nombre_archivo.sql;
72
Imgenes en MySQL
Imgenes en MySQL