Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Enero del 2018)
2.573 visualizaciones desde el 9 de Enero del 2018
751,0 KB
45 paginas
Creado hace 19a (12/11/2005)
MySQL
MySQL
Introduccióónn
Introducci
1
Crescencio Bravo
Bravo
Crescencio
Contenidos
Contenidos
MySQL: Introducción
Tutorial BBáásico de
(cid:131)(cid:131) 1 1 ¿¿QuQuéé es es MySQL
MySQL??
MySQL
2 El SQL de MySQL
(cid:131)(cid:131) 2 El SQL de
sico de MySQL
(cid:131)(cid:131) 3 3 Tutorial
MySQL
4 Manual de SQL
(cid:131)(cid:131) 4 Manual de SQL
5 Caracteríísticas avanzadas
sticas avanzadas
(cid:131)(cid:131) 5 Caracter
6 Herramientas báásicas de administraci
(cid:131)(cid:131) 6 Herramientas b
mysqladmin
(cid:131)(cid:131) mysqladmin
(cid:131)(cid:131) mysqlmysql
sicas de administracióónn
7 Resumen
(cid:131)(cid:131) 7 Resumen
8 Ejercicios
(cid:131)(cid:131) 8 Ejercicios
2
1 1 ¿¿QuQuéé es es MySQL? (i)
MySQL? (i)
Un SGBD
(cid:131)(cid:131) Un SGBD
(cid:131) Relacional
(cid:131) De código abierto
MySQL: Introducción
(cid:131)(cid:131) Caracter
Caracteríísticas generales
sticas generales:
(cid:131) Es rápido
(cid:131) Fiable
(cid:131) Fácil de usar
(cid:131) Muy adecuado para aplicaciones en Internet
(cid:131) Soporta arquitectura C/S y sistemas embebidos
(cid:131) Hay disponible gran cantidad de software que soportan
MySQL
3
1 1 ¿¿QuQuéé es es MySQL? (ii)
MySQL? (ii)
Principales vendedores y BD::
(cid:131)(cid:131) Principales vendedores y BD
MySQL: Introducción
Microsoft
MySQL AB
PostgreSQL
Oracle
Sybase Inc
IBM
IBM
SQL Server 2000 EE
http://www.microsoft.com/spain/servidores/sql
MySQL Database Server 4
http://www.mysql.com/products/mysql/index.html
PostgreSQL 8
http://www.postgresql.com
Oracle 9i EE Database
http://otn.oracle.com/products/oracle9i/index.html
Adaptive Server Enterprise (ASE) 12.5.1
http://www.sybase.com/products/databaseservers/ase
Informix Standard Engine
http://www-3.ibm.com/software/data/informix/se
DB2 8.1
http://www-5.ibm.com/es/software/db2
4
1 1 ¿¿QuQuéé es es MySQL? (iii)
MySQL? (iii)
MySQL: Introducción
(cid:131)(cid:131) BD BD OpenOpen Source
Source:
(cid:131) MySQL es una base de datos Open Source (Código Abierto)
y por lo tanto de coste gratuito
(cid:131)(cid:131) CCóódigo Abierto
digo Abierto: Movimiento que promulga el derecho de los
usuarios a tener libre acceso al código fuente con el que se
desarrolle cualquier aplicación, sistema operativo o librería
(cid:131) Ejemplo más conocido: Linux
(cid:131) Las bases de datos Open Source ya juegan en “Primera
División”
(cid:131) PostgreSQL es también un ejemplo de BD de código abierto
5
1 1 ¿¿QuQuéé es es MySQL? (iv)
MySQL? (iv)
(cid:131) Comparativas – Productividad:
MySQL: Introducción
6
1 1 ¿¿QuQuéé es es MySQL? (v)
MySQL? (v)
(cid:131) Comparativas – Tiempo de respuesta:
MySQL: Introducción
7
1 1 ¿¿QuQuéé es es MySQL? (vi)
MySQL? (vi)
MySQL: Introducción
(cid:131)(cid:131) En 2003
2004, MySQL
MySQL……
En 2003--2004,
(cid:57)Velocidad/Rendimiento
(cid:57)Bajo consumo
(cid:57)Utilidades de administración
(cid:57)Probabilidad reducida de corromper los datos
(cid:57)Apache+PHP+MySQL en foros/buscadores de aplicaciones
Carece de soporte para transacciones, rollbacks y
subconsultas
No maneja integridad referencial
No es viable para grandes bases de datos con accesos
continuos (mala escalabilidad)
8
1 1 ¿¿QuQuéé es es MySQL? (vii)
MySQL? (vii)
MySQL: Introducción
(cid:131)(cid:131) Caracter
Caracteríísticas detalladas (MySQL 5)
sticas detalladas (MySQL 5):
(cid:131) C / C++ (cid:198) Multiplataforma
(cid:131) Soporta multi-hilo (hilos del kernel)
(cid:131) APIs para muchos lenguajes (C++, Java, Perl, PHP, Python, etc.)
(cid:131) Soporta transacciones
(cid:131) Árboles B muy rápidos (compresión de índices)
(cid:131) Sistema de gestión de memoria muy eficiente
(cid:131) Joins optimizados
(cid:131) Servidor separado para arquitecturas C/S o como librería
embebida
(cid:131) Muchos tipos de columnas; registros de longitud fija y variable
(cid:131) Amplio abanico de sentencias y funciones
(cid:131) Posibilidad de mezclar tablas de BD diferentes
(cid:131) Sistema de privilegios y passwords
(cid:131) Manejo de BD muy grandes
(cid:131) 64 índices por tabla; índices de hasta 16 columnas; máxima
longitud de índice de 1000 bytes
(cid:131) Conectores ODBC y Java
(cid:131) Soporte de internacionalización (mensajes, juego de caracteres y
ordenación)
9
2 El SQL de MySQL
MySQL
2 El SQL de
(cid:131) MySQL soporta ANSI SQL y otros modos de SQL
MySQL: Introducción
(cid:131)(cid:131) Extensiones a
Extensiones a SQL est
SQL estáándarndar:
(cid:131) Los nombres de BD y tablas son sensibles a mayúsculas (de
acuerdo al SO)
(cid:131) Las cadenas se pueden encerrar entre “ o ‘
(cid:131) Se puede acceder a tablas de diferentes BD (db.table)
(cid:131) Tipos de campos: MEDIUMINT, SET, ENUM, BLOB, TEXT
(cid:131) Modificadores de tipos: AUTO_INCREMENT, BINARY, NULL,
UNSIGNED, ZEROFILL
(cid:131) Se aceptan los operadores || y &&
(cid:131) Comparaciones entre cadenas: No sensibles a
mayúsculas/minúsculas
(cid:131) % es sinónimo de MOD()
(cid:131) Cada BD se localiza en un directorio del directorio de datos
(cid:131) Cada tabla se localiza en un fichero
(cid:131) Muchas sentencias tienen una funcionalidad ampliada; existen
nuevas funciones
(cid:131) Algunas otras se comportan de forma diferente
10
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL (i)(i)
(cid:131)(cid:131) Conexi
Conexióón al servidor
n al servidor:
(cid:131)(cid:131) Desconexi
Desconexióónn:
(cid:131)(cid:131) Introducci
Introduccióón de consultas
n de consultas:
MySQL: Introducción
11
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL (ii)(ii)
(cid:131)(cid:131) Utilizaci
Utilizacióón de una BD
n de una BD:
(cid:131)(cid:131) Creaci
Creacióón de una BD
n de una BD:
(cid:131)(cid:131) Creaci
Creacióón de una tabla
n de una tabla:
MySQL: Introducción
12
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL (iii)
(iii)
Estructura de una tabla:
(cid:131)(cid:131) Estructura de una tabla
(cid:131)(cid:131) Recuperaci
Recuperacióón de informaci
n de informacióónn:
MySQL: Introducción
13
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL (iv(iv))
(cid:131)(cid:131) Selecci
Seleccióón de determinadas filas
n de determinadas filas:
(cid:131)(cid:131) Selecci
Seleccióón de columnas
n de columnas:
MySQL: Introducción
14
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL (v)(v)
(cid:131)(cid:131) Ordenaci
Ordenacióón de filas
n de filas:
Contar y agrupar:
(cid:131)(cid:131) Contar y agrupar
MySQL: Introducción
15
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL ((vivi))
Operaciones con fechas:
(cid:131)(cid:131) Operaciones con fechas
(cid:131)(cid:131) Informaci
Informacióón de bases de datos y tablas
n de bases de datos y tablas:
MySQL: Introducción
16
3 3 Tutorial
Tutorial BBáásico de
sico de MySQL
MySQL ((viivii))
(cid:131)(cid:131) Versi
Versióón de MySQL
n de MySQL:
(cid:131) mysql -V
(cid:131)(cid:131) Ejecuci
Ejecucióón en modo
n en modo batchbatch:
MySQL: Introducción
17
4 Manual de SQL:
4 Manual de
MySQL: Introducción
SQL: Estructura del
Estructura del lenguaje (i)
lenguaje (i)
(cid:131) Literales:
(cid:131) “cadena”, ‘cadena de caracteres’
(cid:131) 123.45, 5e10
(cid:131) Valores lógicos
(cid:131) Valor nulo: NULL
(cid:131) Nombres:
18
4 Manual de SQL: Estructura del lenguaje (ii)
4 Manual de SQL: Estructura del lenguaje (ii)
MySQL: Introducción
Comentarios:
(cid:131)(cid:131) Comentarios
19
4 Manual de SQL:
4 Manual de
SQL: Tipos de columnas
Tipos de columnas
MySQL: Introducción
(cid:131)(cid:131) Tipos de columnas de
Tipos de columnas de ANSI SQL
ANSI SQL:
20
4 Manual de SQL: Tipos Numééricos (i)
ricos (i)
4 Manual de SQL: Tipos Num
MySQL: Introducción
(cid:131)(cid:131) Notaci
Notacióónn:
(cid:131) M: Ancho de visualización máximo (nº total de dígitos decimales)
(cid:131) D: En tipos en coma flotante y de coma fija, el número de dígitos que
siguen a la coma
(cid:131) p: Precisión en bits
(cid:131) [ ]: opcional
(cid:131) BIT[(M)] : Campo de bits, M (1 a 64) indica el nº de bits, 1 por defecto
(cid:131) TINYINT[(M)] [UNSIGNED] [ZEROFILL] : -122 a 127 (unsigned: 0 a 255)
(cid:131) BOOL, BOOLEAN : Sinónimos para TINYINT(1). 0 es falso, cualquier otra
cosa es verdadero
(cid:131) SMALLINT[(M)] [UNSIGNED] [ZEROFILL] : -32768 a 32767 (unsigned: 0
a 65535)
(cid:131) MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] : -8388608 a 8388607
(unsigned: 0 a 16777215)
(cid:131) INT[(M)] [UNSIGNED] [ZEROFILL] : -2147483648 a 2147483647
(unsigned: 0 a 4294967295)
(cid:131) INTEGER[(M)] [UNSIGNED] [ZEROFILL] : Sinónimo para INT
21
4 Manual de SQL: Tipos Numééricos (ii)
ricos (ii)
4 Manual de SQL: Tipos Num
MySQL: Introducción
(cid:131) INTEGER[(M)] [UNSIGNED] [ZEROFILL] : Sinónimo para INT
(cid:131) BIGINT[(M)] [UNSIGNED] [ZEROFILL] : -9223372036854775808 a
9223372036854775807 (unsigned: 0 a 18446744073709551615)
(cid:131) FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] : -3.402823466E+38 a -
1.175494351E-38, 0 y 1.175494351E-38 a 3.402823466E+38. El nº
aproximado de decimales es 7
(cid:131) DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] : -1.7976931348623157E+308
a -2.2250738585072014E-308, 0 y 2.2250738585072014E-308 a
1.7976931348623157E+308. El nº aproximado de decimales es 15
(cid:131) DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)]
[UNSIGNED] [ZEROFILL] : Sinónimos para DOUBLE
(cid:131) FLOAT(p) [UNSIGNED] [ZEROFILL]
(cid:131) DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] : Un nº en coma fija
empaquetado. M<=65, D<=30. Por defecto, D=0, M=10.
(cid:131) DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED]
[ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL] : Sinónimos para
DECIMAL
22
4 Manual de SQL: Tipos Numééricos (iii)
ricos (iii)
4 Manual de SQL: Tipos Num
MySQL: Introducción
Necesidades de almacenamiento:
(cid:131)(cid:131) Necesidades de almacenamiento
23
4 Manual de SQL:
4 Manual de
SQL: Tipos
Tipos Fecha y Hora
Fecha y Hora
MySQL: Introd
Comentarios de: MySQL Introducción (0)
No hay comentarios