Citation preview
MySQL 5.0 Reference ManualMySQL 5.0 Reference Manual
MySQL 5.0 Reference Manual Ésta es una traducción del manual de
referencia de MySQL, que puede encontrarse en dev.mysql.com. El
manual de referencia original de MySQL está escrito en inglés, y
esta traducción no necesariamente está tan actualizada como la
versión original. Para cualquier sugerencia sobre la traducción y
para señalar errores de cualquier tipo, no dude en dirigirse a
mysql-es@vespito.com.
Copyright © 1997, 2011, Oracle and/or its affiliates. All rights
reserved.
This software and related documentation are provided under a
license agreement containing restrictions on use and disclosure and
are protected by intellectual property laws. Except as expressly
permitted in your license agreement or allowed by law, you may not
use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any
part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by
law for interoperability, is prohibited.
The information contained herein is subject to change without
notice and is not warranted to be error-free. If you find any
errors, please report them to us in writing.
Si este software o la documentación relacionada se entrega al
Gobierno de EE.UU. o a cualquier entidad que adquiera licencias en
nombre del Gobierno de EE.UU. se aplicará la siguiente
disposición:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
documentation and technical data delivered to U.S. Government
customers are "commercial computer software" or "commercial
technical data" pursuant to the applicable Federal Acquisition
Regulation and agency-specific supplemental regulations. As such,
the use, duplication, disclosure, modification, and adaptation
shall be subject to the restrictions and license terms set forth in
the applicable Government contract, and, to the extent applicable
by the terms of the Government contract, the additional rights set
forth in FAR 52.227-19, Commercial Computer Software License
(December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood
City, CA 94065.
This software is developed for general use in a variety of
information management applications. It is not developed or
intended for use in any inherently dangerous applications,
including applications which may create a risk of personal injury.
If you use this software in dangerous applications, then you shall
be responsible to take all appropriate fail-safe, backup,
redundancy, and other measures to ensure the safe use of this
software. Oracle Corporation and its affiliates disclaim any
liability for any damages caused by use of this software in
dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. MySQL is a trademark of Oracle Corporation and/or its
affiliates, and shall not be used without Oracle's express written
authorization. Other names may be trademarks of their respective
owners.
This software and documentation may provide access to or
information on content, products, and services from third parties.
Oracle Corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to
third-party content, products, and services. Oracle Corporation and
its affiliates will not be responsible for any loss, costs, or
damages incurred due to your access to or use of third-party
content, products, or services.
This document in any form, software or printed matter, contains
proprietary information that is the exclusive property of Oracle.
Your access to and use of this material is subject to the terms and
conditions of your Oracle Software License and Service Agreement,
which has been executed and with which you agree to comply. This
document and information contained herein may not be disclosed,
copied, reproduced, or distributed to anyone outside Oracle without
prior written consent of Oracle or as specifically provided below.
This document is not part of your license agreement nor can it be
incorporated into any contractual agreement with Oracle or its
subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of
this documentation is subject to the following terms:
You may create a printed copy of this documentation solely for your
own personal use. Conversion to other formats is allowed as long as
the actual content is not altered or edited in any way. You shall
not publish or distribute this documentation in any form or on any
media, except if you distribute the documentation in a manner
similar to how Oracle disseminates it (that is, electronically for
download on a Web site with the software) or on a CD-ROM or similar
medium, provided however that the documentation is disseminated
together with the software on the same medium. Any other use, such
as any dissemination of printed copies or use of this
documentation, in whole or in part, in another publication,
requires the prior written consent from an authorized
representative of Oracle. Oracle and/or its affiliates reserve any
and all rights to this documentation not expressly granted
above.
For more information on the terms of this license, for details on
how the MySQL documentation is built and produced, or if you are
interested in doing a translation, please visit MySQL Contact &
Questions.
For additional licensing information, including licenses for
libraries used by MySQL products, see Prefacio.
If you want help with using MySQL, please visit either the MySQL
Forums or MySQL Mailing Lists where you can discuss your issues
with other MySQL users.
For additional documentation on MySQL products, including
translations of the documentation into other languages, and
downloadable versions in variety of formats, including HTML and PDF
formats, see the MySQL Documentation Library.
Resumen
Tabla de contenidos Prefacio
......................................................................................................................................
xix 1 Información general
...................................................................................................................
1
1.1 Sobre este manual
..........................................................................................................
2 1.2 Convenciones utilizadas en este manual
..........................................................................
2 1.3 Panorámica de MySQL AB
..............................................................................................
4 1.4 Panorámica del sistema de gestión de base de datos MySQL
........................................... 5
1.4.1 Historia de MySQL
...............................................................................................
6 1.4.2 Las principales características de MySQL
............................................................. 6
1.4.3 Estabilidad de MySQL
..........................................................................................
9 1.4.4 Dimensiones máximas de las tablas MySQL
......................................................... 9 1.4.5
Conformidad con el efecto 2000
.........................................................................
10
1.5 Mapa de desarrollo de MySQL
......................................................................................
12 1.5.1 El servidor MySQL incrustado (embedded)
.......................................................... 12 1.5.2
Qué hay de nuevo en MySQL 5.0
.......................................................................
13
1.6 Fuentes de información acerca de MySQL
.....................................................................
13 1.6.1 Listas de correo de MySQL
................................................................................
13 1.6.2 Soporte por IRC (Internet Relay Chat) de la comunidad
MySQL ............................ 20 1.6.3 Soporte por parte de la
comunidad en los foros de MySQL ...................................
20
1.7 Cumplimiento de los estándares por parte de MySQL
..................................................... 20 1.7.1
Estándares utilizados por MySQL
........................................................................
21 1.7.2 Selección de modos SQL
...................................................................................
21 1.7.3 Ejecutar MySQL en modo ANSI
..........................................................................
21 1.7.4 Extensiones MySQL al estándar SQL
..................................................................
22 1.7.5 Diferencias en MySQL del estándar SQL
............................................................. 25
1.7.6 Cómo trata MySQL las restricciones (Constraints)
................................................ 30
2 Instalar MySQL
........................................................................................................................
35 2.1 Cuestiones generales sobre la instalación
......................................................................
36
2.1.1 Sistemas operativos que MySQL soporta
............................................................ 37
2.1.2 Escoger la distribución MySQL a instalar
............................................................. 39
2.1.3 Cómo obtener MySQL
........................................................................................
49 2.1.4 Comprobar la integridad de paquetes con sumas de
verificación MD5 o GnuPG ...... 49 2.1.5 Conformación de la
instalación
...........................................................................
52
2.2 Instalación MySQL estándar con una distribución binaria
................................................ 53 2.3 Instalar
MySQL en Windows
..........................................................................................
54
2.3.1 Requisitos de Windows
......................................................................................
54 2.3.2 Elección de un paquete de instalación
.................................................................
55 2.3.3 Instalación de MySQL con un instalador automático
............................................. 55 2.3.4 Usar el
asistente de instalación de MySQL
.......................................................... 55 2.3.5
Utilización del asistente de configuración
............................................................. 58
2.3.6 Instalar MySQL partiendo de un archivo Zip Noinstall
........................................... 63 2.3.7 Descomprimir
el fichero de instalación
.................................................................
63 2.3.8 Creación de un fichero de opciones
....................................................................
63 2.3.9 Seleccionar un tipo de servidor MySQL
............................................................... 64
2.3.10 Arrancar el servidor la primera vez
....................................................................
65 2.3.11 Arrancar MySQL desde la línea de comandos de Windows
................................. 66 2.3.12 Arrancar MySQL como un
servicio de Windows
................................................. 67 2.3.13
Comprobar la instalación de MySQL Installation
................................................. 70 2.3.14
Resolución de problemas en la instalación de MySQL bajo Windows
................... 70 2.3.15 Aumentar la versión de MySQL en
Windows ..................................................... 71
2.3.16 Comparación entre MySQL en Windows y MySQL en Unix
................................. 72
2.4 Instalar MySQL en Linux
...............................................................................................
74 2.5 Instalar MySQL en Mac OS X
.......................................................................................
77 2.6 Instalar MySQL sobre NetWare
.....................................................................................
79 2.7 Instalación de MySQL en otros sistemas similares a Unix
............................................... 81 2.8 Instalación
de MySQL usando una distribución de código fuente
..................................... 84
MySQL 5.0 Reference Manual
iv
2.8.1 Panorámica de la instalación de código fuente
..................................................... 85 2.8.2
Opciones típicas de configure
.........................................................................
87 2.8.3 Instalar desde el árbol de código fuente de desarrollo
.......................................... 90 2.8.4 Problemas en la
compilación de MySQL
............................................................. 93
2.8.5 Notas sobre MIT-pthreads
..................................................................................
96 2.8.6 Instalar MySQL desde el código fuente en Windows
............................................ 98 2.8.7 Compilar los
clientes de MySQL en Windows
.................................................... 101
2.9 Puesta en marcha y comprobación después de la instalación
........................................ 101 2.9.1 Pasos a seguir
después de la instalación en Windows
....................................... 102 2.9.2 Pasos a seguir
después de la instalación en Unix
.............................................. 102 2.9.3 Hacer
seguras las cuentas iniciales de MySQL
.................................................. 113
2.10 Aumentar la versión de MySQL
.................................................................................
116 2.10.1 Aumentar la versión de 4.1 a 5.0
....................................................................
117 2.10.2 Aumentar la versión de las tablas de privilegios
............................................... 120 2.10.3 Copiar
bases de datos MySQL a otra máquina
................................................ 121
2.11 Bajar la versión de MySQL
........................................................................................
122 2.11.1 Volver a la versión 4.1
....................................................................................
122
2.12 Notas específicas sobre sistemas operativos
.............................................................. 123
2.12.1 Notas sobre Linux
..........................................................................................
123 2.12.2 Notas sobre Mac OS X
...................................................................................
130 2.12.3 Notas sobre Solaris
........................................................................................
131 2.12.4 Notas sobre BSD
............................................................................................
135 2.12.5 Notas sobre otros Unix
...................................................................................
138 2.12.6 Notas sobre OS/2
...........................................................................................
152
2.13 Notas sobre la instalación de Perl
..............................................................................
153 2.13.1 Instalación de Perl en Unix
.............................................................................
153 2.13.2 Instalar ActiveState Perl en Windows
............................................................... 154
2.13.3 Problemas en la utilización de la interfaz Perl DBI/DBD
..................................... 155
3 Curso (tutorial) de MySQL
......................................................................................................
159 3.1 Conectarse al y desconectarse del servidor
..................................................................
159 3.2 Entrar consultas
..........................................................................................................
160 3.3 Crear y utilizar una base de datos
...............................................................................
163
3.3.1 Crear y seleccionar una base de datos
.............................................................. 164
3.3.2 Crear una tabla
................................................................................................
165 3.3.3 Cargar datos en una tabla
................................................................................
166 3.3.4 Extraer información de una tabla
.......................................................................
167
3.4 Obtener información sobre bases de datos y tablas
...................................................... 180 3.5 Usar
mysql en modo batch
.........................................................................................
181 3.6 Ejemplos de consultas comunes
..................................................................................
183
3.6.1 El valor máximo de una columna
......................................................................
183 3.6.2 El registro que tiene el valor máximo de determinada
columna ............................ 183 3.6.3 Máximo de columna
por grupo
..........................................................................
184 3.6.4 Los registros de un grupo que tienen el máximo valor en
alguna columna ............ 184 3.6.5 Utilización de variables de
usuario
....................................................................
184 3.6.6 Usar claves foráneas (foreign keys)
...................................................................
184 3.6.7 Buscar usando dos claves
................................................................................
186 3.6.8 Calcular visitas diarias
......................................................................................
187 3.6.9 Utilización de AUTO_INCREMENT
.......................................................................
187
3.7 Consultas del proyecto Mellizos (Twin)
.........................................................................
188 3.7.1 Encontrar todos los mellizos no repartidos
......................................................... 189 3.7.2
Mostrar una tabla de estado de mellizos
............................................................
191
3.8 Usar MySQL con Apache
............................................................................................
191 4 Usar los programas MySQL
...................................................................................................
193
4.1 Panorámica de programas MySQL
...............................................................................
193 4.2 Invocar programas MySQL
..........................................................................................
194 4.3 Especificar opciones de programa
...............................................................................
195
4.3.1 Usar opciones en la línea de comandos
............................................................ 195
4.3.2 Usar ficheros de opciones
................................................................................
197
MySQL 5.0 Reference Manual
v
4.3.3 Usar variables de entorno para especificar opciones
.......................................... 201 4.3.4 Utilización de
opciones para establecer variables de programa
........................... 202
5 Administración de bases de datos
..........................................................................................
203 5.1 El servidor MySQL y scripts de arranque del servidor
................................................... 204
5.1.1 Panorámica de los programas scripts y las utilidades del lado
del servidor (server-side)
..............................................................................................................
204 5.1.2 El servidor extendido de MySQL mysqld-max
.................................................. 205 5.1.3 El
script de arranque del servidor mysqld_safe
............................................... 208 5.1.4 El script
mysql.server para el arranque del servidor
....................................... 211 5.1.5 El programa
mysqld_multi para gestionar múltiples servidores MySQL ............
211
5.2 El gestor de instancias de MySQL
...............................................................................
215 5.2.1 Arrancar el servidor MySQL con el gestor de instancias
MySQL .......................... 215 5.2.2 Conexión al gestor de
instancias de MySQL y creación de cuentas de usuario ..... 216
5.2.3 Opciones de los comandos del gestor de instancias MySQL
............................... 216 5.2.4 Ficheros de configuración
del gestor de instancias de MySQL ............................. 217
5.2.5 Los comandos que reconoce el gestor de instancias de MySQL
.......................... 218
5.3 Configuración del servidor MySQL
...............................................................................
220 5.3.1 Opciones del comando mysqld
........................................................................
220 5.3.2 El modo SQL del servidor
.................................................................................
230 5.3.3 Variables de sistema del servidor
......................................................................
234 5.3.4 Variables de estado del servidor
.......................................................................
263
5.4 El proceso de cierre del servidor MySQL
......................................................................
273 5.5 Cuestiones de seguridad general
.................................................................................
274
5.5.1 Guía de seguridad general
................................................................................
274 5.5.2 Hacer que MySQL sea seguro contra ataques
................................................... 277 5.5.3
Opciones de arranque para mysqld relacionadas con la seguridad
..................... 278 5.5.4 Cuestiones relacionadas con la
seguridad y LOAD DATA LOCAL ........................ 280
5.6 El sistema de privilegios de acceso de MySQL
............................................................. 280
5.6.1 Qué hace el sistema de privilegios
....................................................................
281 5.6.2 Cómo funciona el sistema de privilegios
............................................................ 281
5.6.3 Privilegios de los que provee MySQL
................................................................
285 5.6.4 Conectarse al servidor MySQL
..........................................................................
288 5.6.5 Control de acceso, nivel 1: Comprobación de la conexión
................................... 289 5.6.6 Control de acceso,
nivel 2: comprobación de solicitudes
..................................... 293 5.6.7 Cuándo tienen
efecto los camios de privilegios
.................................................. 296 5.6.8 Causas
de errores Access denied
................................................................
296 5.6.9 Hashing de contraseñas en MySQL 4.1
.............................................................
301
5.7 Gestión de la cuenta de usuario MySQL
......................................................................
305 5.7.1 Nombres de usuario y contraseñas de MySQL
................................................... 305 5.7.2
Añadir nuevas cuentas de usuario a MySQL
...................................................... 307 5.7.3
Eliminar cuentas de usuario de MySQL
............................................................. 309
5.7.4 Limitar recursos de cuentas
..............................................................................
310 5.7.5 Asignar contraseñas a cuentas
.........................................................................
311 5.7.6 Guardar una contraseña de forma segura
.......................................................... 312
5.7.7 Usar conexiones seguras
..................................................................................
313
5.8 Prevención de desastres y recuperaciones
...................................................................
320 5.8.1 Copias de seguridad de bases de datos
............................................................ 320
5.8.2 Ejemplo de estrategia de copias de seguridad y recuperación
............................. 322 5.8.3 Mantenimiento de tablas y
recuperación de un fallo catastrófico (crash) ............... 325
5.8.4 Organizar un programa de mantenimiento de tablas
........................................... 337 5.8.5 Obtener
información acerca de una tabla
...........................................................
338
5.9 Uso internacional y localización de MySQL
..................................................................
343 5.9.1 El conjunto de caracteres utilizado para datos y
ordenación ................................ 343 5.9.2 Escoger el
idioma de los mensajes de error
....................................................... 345 5.9.3
Añadir un conjunto de caracteres nuevo
............................................................ 345
5.9.4 Los vectores de definición de caracteres
........................................................... 347
5.9.5 Soporte para colación de cadenas de caracteres
............................................... 347 5.9.6 Soporte
de caracteres multi-byte
.......................................................................
347
MySQL 5.0 Reference Manual
vi
5.9.7 Problemas con conjuntos de caracteres
............................................................. 348
5.9.8 Soporte de zonas horarias en el servidor MySQL
............................................... 348
5.10 Los ficheros de registro (log) de MySQL
.....................................................................
349 5.10.1 El registro de errroes (Error Log)
.....................................................................
350 5.10.2 El registro general de consultas
......................................................................
350 5.10.3 El registro binario (Binary Log)
........................................................................
351 5.10.4 El registro de consultas lentas (Slow Query Log)
.............................................. 355 5.10.5
Mantenimiento de ficheros de registro (log)
...................................................... 355
5.11 Ejecutar más de un servidor MySQL en la misma máquina
.......................................... 356 5.11.1 Ejecutar
varios servidores en Windows
............................................................ 357
5.11.2 Ejecutar varios servidores en Unix
...................................................................
360 5.11.3 Utilización de programas cliente en un entorno de
múltiples servidores .............. 362
5.12 La caché de consultas de MySQL
..............................................................................
362 5.12.1 Cómo opera la caché de consultas
..................................................................
363 5.12.2 Opciones de SELECT para la caché de consultas
............................................. 365 5.12.3
Configuración de la caché de consultas
........................................................... 365
5.12.4 Estado y mantenimiento de la caché de consultas
............................................ 366
6 Replicación en MySQL
...........................................................................................................
369 6.1 Introducción a la replicación
........................................................................................
369 6.2 Panorámica de la implementación de la replicación
...................................................... 370 6.3
Detalles de la implementación de la replicación
............................................................
370
6.3.1 Estados de los subprocesos del maestro de replicación
...................................... 372 6.3.2 Estados de proceso
E/S (I/O) del esclavo de replicación
..................................... 372 6.3.3 Estados del flujo
SQL de un esclavo de replicación
............................................ 373 6.3.4 Ficheros de
replicación, retardados y de estado
................................................. 374
6.4 Cómo montar la replicación
.........................................................................................
375 6.5 Compatibilidad entre versiones de MySQL con respecto a la
replicación ......................... 379 6.6 Aumentar la versión
de la replicación
...........................................................................
379
6.6.1 Aumentar la versión de la replicación a 5.0
........................................................ 380 6.7
Características de la replicación y problemas conocidos
................................................ 380 6.8 Opciones
de arranque de replicación
...........................................................................
384 6.9 Preguntas y respuestas sobre replicación
.....................................................................
392 6.10 Resolución de problemas de replicación
.....................................................................
397 6.11 Reportar bugs de replicación
.....................................................................................
398
7 Optimización de MySQL
.........................................................................................................
399 7.1 Panorámica sobre optimización
....................................................................................
400
7.1.1 Limitaciones y soluciones de compromiso en el diseño de MySQL
...................... 400 7.1.2 Diseñar aplicaciones pensando en
la portabilidad ............................................... 401
7.1.3 Para qué hemos usado MySQL
........................................................................
402 7.1.4 El paquete de pruebas de rendimiento (benchmarks) de
MySQL ......................... 402 7.1.5 Usar pruebas de
rendimiento (benchmarks) propios
........................................... 403
7.2 Optimizar sentencias SELECT y otras consultas
............................................................ 404
7.2.1 Sintaxis de EXPLAIN (Obtener información acerca de un SELECT)
...................... 404 7.2.2 Estimar el renidimiento de una
consulta
............................................................. 412
7.2.3 Velocidad de las consultas SELECT
...................................................................
412 7.2.4 Optimización de las cláusulas WHERE por parte de MySQL
................................. 413 7.2.5 Optimización de rango
......................................................................................
414 7.2.6 Index Merge Optimization
.................................................................................
417 7.2.7 Cómo optimiza MySQL IS NULL
.....................................................................
420 7.2.8 Cómo MySQL optimiza DISTINCT
....................................................................
421 7.2.9 Cómo optimiza MySQL los LEFT JOIN y RIGHT JOIN
..................................... 421 7.2.10 Cómo optimiza
MySQL ORDER BY
..................................................................
422 7.2.11 Cómo optimiza MySQL los GROUP BY
............................................................ 424
7.2.12 Cómo optimiza MySQL las cláusulas LIMIT
.................................................... 425 7.2.13
Cómo evitar lecturas completas de tablas
........................................................ 426 7.2.14
Velocidad de la sentencia INSERT
..................................................................
426 7.2.15 Velocidad de las sentencias UPDATE
............................................................... 428
7.2.16 Velocidad de sentencias DELETE
....................................................................
428
MySQL 5.0 Reference Manual
vii
7.2.17 Otros consejos sobre optimización
..................................................................
428 7.3 Temas relacionados con el bloqueo
.............................................................................
431
7.3.1 Métodos de bloqueo
.........................................................................................
431 7.3.2 Cuestiones relacionadas con el bloqueo (locking) de
tablas ................................ 433
7.4 Optimizar la estructura de una base de datos
............................................................... 434
7.4.1 Elecciones de diseño
........................................................................................
434 7.4.2 Haga sus datos lo más pequeños posibles
........................................................ 435 7.4.3
Índices de columna
..........................................................................................
436 7.4.4 Índices de múltiples columnas
...........................................................................
436 7.4.5 Cómo utiliza MySQL los índices
........................................................................
437 7.4.6 La caché de claves de MyISAM
.........................................................................
439 7.4.7 Cómo cuenta MySQL las tablas abiertas
........................................................... 444
7.4.8 Cómo abre y cierra tablas MySQL
.....................................................................
444 7.4.9 Desventajas de crear muchas tablas en la misma base de
datos ......................... 445
7.5 Optimización del servidor MySQL
................................................................................
445 7.5.1 Factores de sistema y afinamientos de parámetros de
arranque .......................... 445 7.5.2 Afinar parámetros del
servidor
..........................................................................
446 7.5.3 Vigilar el rendimiento del optimizador de consultas
............................................. 449 7.5.4 Efectos de
la compilación y del enlace en la velocidad de MySQL
....................... 449 7.5.5 Cómo utiliza MySQL la memoria
.......................................................................
451 7.5.6 Cómo usa MySQL las DNS
..............................................................................
452
7.6 Cuestiones relacionadas con el disco
...........................................................................
452 7.6.1 Utilizar enlaces simbólicos
................................................................................
453
8 Programas cliente y utilidades MySQL
....................................................................................
457 8.1 Panorámica de scripts y utilidades del lado del cliente
.................................................. 457 8.2
myisampack, el generador de tablas comprimidas de sólo lectura de
MySQL ................ 459 8.3 La herramienta intérprete de
comandos mysql
............................................................
465
8.3.1 Comandos mysql
............................................................................................
471 8.3.2 Ejecutar sentencias SQL desde un fichero de texto
............................................ 475 8.3.3 Sugerencias
acerca de mysql
..........................................................................
475
8.4 Administrar un servidor MySQL con mysqladmin
........................................................ 477 8.5 La
utilidad mysqlbinlog para registros binarios
.......................................................... 481 8.6
El programa mysqlcheck para mantener y reparar tablas
............................................ 485 8.7 El programa de
copia de seguridad de base de datos mysqldump
................................. 488 8.8 El programa de copias de
seguridad de base de datos mysqlhotcopy .........................
494 8.9 El programa para importar datos mysqlimport
........................................................... 496
8.10 Mostrar bases de datos, tablas y columnas con mysqlshow
....................................... 498 8.11 perror,
explicación de códigos de error
....................................................................
500 8.12 La utilidad replace de cambio de cadenas de caracteres
.......................................... 500
9 Estructura de lenguaje
...........................................................................................................
503 9.1 Valores literales
...........................................................................................................
503
9.1.1 Cadenas de caracteres
.....................................................................................
503 9.1.2 Números
..........................................................................................................
505 9.1.3 Valores hexadecimales
.....................................................................................
505 9.1.4 Valores booleanos
............................................................................................
506 9.1.5 Valores de bits
.................................................................................................
506 9.1.6 Valores NULL
...................................................................................................
506
9.2 Nombres de bases de datos, tablas, índices, columnas y alias
...................................... 507 9.2.1 Cualificadores de
los identificadores
..................................................................
508 9.2.2 Sensibilidad a mayúsuclas y minúsculas de identificadores
................................. 508
9.3 Variables de usuario
....................................................................................................
510 9.4 Variables de sistema
...................................................................................................
511
9.4.1 Variables estructuradas de sistema
...................................................................
513 9.5 Sintaxis de comentarios
...............................................................................................
514 9.6 Tratamiento de palabras reservadas en MySQL
............................................................
515
10 Soporte de conjuntos de caracteres
......................................................................................
519 10.1 Conjuntos de caracteres y colaciones en general
........................................................ 520 10.2
Conjuntos de caracteres y colaciones en MySQL
........................................................ 520
MySQL 5.0 Reference Manual
viii
10.3 Determinar el conjunto de caracteres y la colación por defecto
.................................... 522 10.3.1 Conjunto de
caracteres y colación del servidor
................................................. 522 10.3.2
Conjuntos de caracteres y colaciones de la base de datos
................................ 522 10.3.3 Conjunto de caracteres
y colación de tabla
...................................................... 523 10.3.4
Conjunto de caracteres y colación de columnas
............................................... 524 10.3.5 Ejemplos
de asignación de conjunto de caracteres y colación
........................... 524 10.3.6 Conjunto de caracteres y
colación de la conexión
............................................ 525 10.3.7 Conjunto de
caracteres y colación de columnas “carácter”
................................ 527 10.3.8 Usar COLLATE en
sentencias SQL
..................................................................
528 10.3.9 Precedencia de la cláusula COLLATE
.............................................................. 529
10.3.10 Operador BINARY
.........................................................................................
529 10.3.11 Casos especiales en los que determinar la colación es
complicado .................. 529 10.3.12 A cada colación un
conjunto de caracteres correcto
........................................ 530 10.3.13 Un ejemplo del
efecto de una colación
...........................................................
530
10.4 Efectos del soporte de conjuntos de caracteres
.......................................................... 531
10.4.1 Cadenas de caracteres de resultado
............................................................... 531
10.4.2 CONVERT()
....................................................................................................
531 10.4.3 CAST()
..........................................................................................................
532 10.4.4 Sentencias SHOW
............................................................................................
532
10.5 Soporte Unicode
........................................................................................................
534 10.6 UTF8 para metadatos
................................................................................................
534 10.7 Compatibilidad con otros SGBDs (Sistemas gestores de bases
de datos) ..................... 535 10.8 Formato del nuevo fichero
de conjunto de caracateres
................................................ 536 10.9 Conjunto
de caracteres nacional
................................................................................
536 10.10 Conjuntos de caracteres y colaciones que soporta MySQL
........................................ 536
10.10.1 Conjuntos de caracteres Unicode
..................................................................
537 10.10.2 Conjuntos de caracteres de Europa occidental
............................................... 539 10.10.3
Conjuntos de caracteres de Europa central
.................................................... 540 10.10.4
Conjuntos de caracteres del sur de Europa y de Oriente Medio
....................... 541 10.10.5 Conjuntos de caracteres
bálticos
...................................................................
541 10.10.6 Conjuntos de caracteres cirílicos
...................................................................
542 10.10.7 Conjuntos de caracteres asiáticos
..................................................................
542
11 Tipos de columna
................................................................................................................
545 11.1 Panorámica de tipos de columna
...............................................................................
546
11.1.1 Panorámica de tipos numéricos
.......................................................................
546 11.1.2 Panorámica de tipos de fechas y hora
............................................................. 549
11.1.3 Panorámica de tipos de cadenas de caracteres
................................................ 550
11.2 Tipos numéricos
........................................................................................................
553 11.3 Tipos de fecha y hora
...............................................................................................
556
11.3.1 Los tipos de datos DATETIME, DATE y TIMESTAMP
.......................................... 557 11.3.2 El tipo TIME
...................................................................................................
561 11.3.3 El tipo de datos YEAR
.....................................................................................
562 11.3.4 Efecto 2000 (Y2K) y tipos de datos
.................................................................
563
11.4 Tipos de cadenas de caracteres
................................................................................
563 11.4.1 Los tipos CHAR y VARCHAR
.............................................................................
563 11.4.2 Los tipos BINARY y VARBINARY
.....................................................................
564 11.4.3 Los tipos BLOB y TEXT
...................................................................................
565 11.4.4 El tipo de columna ENUM
.................................................................................
566 11.4.5 El tipo SET
.....................................................................................................
567
11.5 Requisitos de almacenamiento según el tipo de columna
............................................ 569 11.6 Escoger el
tipo de columna correcto
..........................................................................
571 11.7 Usar tipos de columnas de otros motores de bases de datos
....................................... 571
12 Funciones y operadores
.......................................................................................................
573 12.1 Operadores
...............................................................................................................
574
12.1.1 Precedencias de los operadores
......................................................................
574 12.1.2 Paréntesis
......................................................................................................
574 12.1.3 Funciones y operadores de comparación
......................................................... 574
12.1.4 Operadores lógicos
.........................................................................................
579
MySQL 5.0 Reference Manual
ix
12.2 Funciones de control de flujo
.....................................................................................
581 12.3 Funciones para cadenas de caracteres
......................................................................
582
12.3.1 Funciones de comparación de cadenas de caracteres
...................................... 593 12.4 Funciones numéricas
.................................................................................................
596
12.4.1 Operadores aritméticos
...................................................................................
596 12.4.2 Funciones matemáticas
...................................................................................
597
12.5 Funciones de fecha y hora
........................................................................................
604 12.6 Qué calendario utiliza MySQL
....................................................................................
620 12.7 Funciones de búsqueda de texto completo (Full-Text)
................................................. 621
12.7.1 Búsquedas booleanas de texto completo (Full-Text)
......................................... 623 12.7.2 Búsquedas de
texto completo (Full-Text) con expansión de consulta
................. 625 12.7.3 Limitaciones de las búsquedas de texto
completo (Full-Text) ............................. 626 12.7.4
Afinar búsquedas de texto completo (Full-Text) con MySQL
.............................. 626 12.7.5 Cosas por hacer en
búsquedas de texto completo (Full-Text)
............................ 628
12.8 Funciones y operadores de cast
................................................................................
628 12.9 Otras funciones
.........................................................................................................
631
12.9.1 Funciones bit
..................................................................................................
631 12.9.2 Funciones de cifrado
......................................................................................
632 12.9.3 Funciones de información
...............................................................................
635 12.9.4 Funciones varias
............................................................................................
640
12.10 Funciones y modificadores para cláusulas GROUP BY
............................................... 643 12.10.1
Funciones (de agregación) de GROUP BY
...................................................... 643 12.10.2
Modificadores de GROUP BY
.........................................................................
647 12.10.3 GROUP BY con campos escondidos
..............................................................
649
13 Sintaxis de sentencias SQL
..................................................................................................
651 13.1 Sentencias de definición de datos (Data Definition
Statements) .................................... 651
13.1.1 Sintaxis de ALTER DATABASE
........................................................................
651 13.1.2 Sintaxis de ALTER TABLE
..............................................................................
652 13.1.3 Sintaxis de CREATE DATABASE
......................................................................
656 13.1.4 Sintaxis de CREATE INDEX
............................................................................
656 13.1.5 Sintaxis de CREATE TABLE
............................................................................
658 13.1.6 Sintaxis de DROP DATABASE
..........................................................................
668 13.1.7 Sintaxis de DROP INDEX
................................................................................
668 13.1.8 Sintaxis de DROP TABLE
................................................................................
669 13.1.9 Sintaxis de RENAME TABLE
............................................................................
669
13.2 Sentencias de manipulación de datos (Data Manipulation
Statements) ......................... 670 13.2.1 Sintaxis de DELETE
........................................................................................
670 13.2.2 Sintaxis de DO
................................................................................................
672 13.2.3 Sintaxis de HANDLER
......................................................................................
672 13.2.4 Sintaxis de INSERT
........................................................................................
674 13.2.5 Sintaxis de LOAD DATA INFILE
...................................................................
679 13.2.6 Sintaxis de REPLACE
......................................................................................
687 13.2.7 Sintaxis de SELECT
........................................................................................
688 13.2.8 Sintaxis de subconsultas
.................................................................................
696 13.2.9 Sintaxis de TRUNCATE
....................................................................................
706 13.2.10 Sintaxis de UPDATE
......................................................................................
706
13.3 Sentencias útiles de MySQL
......................................................................................
708 13.3.1 Sintaxis de DESCRIBE (Información acerca de las
columnas) ............................ 708 13.3.2 Sintaxis de USE
..............................................................................................
709
13.4 Comandos transaccionales y de bloqueo de MySQL
................................................... 709 13.4.1
Sintaxis de START TRANSACTION, COMMIT y ROLLBACK
................................. 709 13.4.2 Sentencias que no se
pueden deshacer
.......................................................... 710
13.4.3 Sentencias que causan una ejecución (commit) implícita
.................................. 710 13.4.4 Sintaxis de SAVEPOINT
y ROLLBACK TO SAVEPOINT .................................... 711
13.4.5 Sintaxis de LOCK TABLES y UNLOCK TABLES
................................................ 711 13.4.6
Sintaxis de SET TRANSACTION
......................................................................
714
13.5 Sentencias de administración de base de datos
.......................................................... 714
13.5.1 Sentencias para la gestión de cuentas
.............................................................
714
MySQL 5.0 Reference Manual
x
13.5.2 Sentencias para el mantenimiento de tablas
.................................................... 724 13.5.3
Sintaxis de SET
..............................................................................................
729 13.5.4 Sintaxis de SHOW
............................................................................................
733 13.5.5 Otras sentencias para la administración
...........................................................
750
13.6 Sentencias de replicación
..........................................................................................
754 13.6.1 Sentencias SQL para el control de servidores maestros
.................................... 755 13.6.2 Sentencias SQL para
el control de servidores esclavos
.................................... 756
13.7 Sintaxis SQL de sentencias preparadas
.....................................................................
764 14 Motores de almacenamiento de MySQL y tipos de tablas
....................................................... 767
14.1 El motor de almacenamiento MyISAM
.........................................................................
769 14.1.1 Opciones de arranque de MyISAM
...................................................................
771 14.1.2 Cuánto espacio necesitan las claves
............................................................... 772
14.1.3 Formatos de almacenamiento de tablas MyISAM
.............................................. 772 14.1.4 Problemas
en tablas MyISAM
..........................................................................
774
14.2 El motor de almacenamiento MERGE
...........................................................................
776 14.2.1 Problemas con tablas MERGE
..........................................................................
778
14.3 El motor de almacenamiento MEMORY (HEAP)
............................................................. 779
14.4 El motor de almacenamiento BDB (BerkeleyDB)
........................................................ 781
14.4.1 Sistemas operativos que soporta BDB
.............................................................. 781
14.4.2 Instalación de BDB
..........................................................................................
782 14.4.3 Opciones de arranque de BDB
........................................................................
782 14.4.4 Características de las tablas BDB
....................................................................
783 14.4.5 Temas pendientes de arreglo para BDB
........................................................... 785
14.4.6 Limitaciones en las tablas BDB
........................................................................
785 14.4.7 Errores que pueden darse en el uso de tablas BDB
.......................................... 785
14.5 El motor de almacenamiento EXAMPLE
.......................................................................
786 14.6 El motor de almacenamiento FEDERATED
...................................................................
786
14.6.1 Instalación del motor de almacenamiento FEDERATED
...................................... 786 14.6.2 Descripción del
motor de almacenamiento FEDERATED
.................................... 787 14.6.3 Cómo usar las
tablas FEDERATED
...................................................................
787 14.6.4 Limitaciones del motor de almacenamiento FEDERATED
................................... 788
14.7 El motor de almacenamiento ARCHIVE
.......................................................................
789 14.8 El motor de almacenamiento CSV
..............................................................................
789
15 El motor de almacenamiento InnoDB
...................................................................................
791 15.1 Panorámica de InnoDB
.............................................................................................
792 15.2 Información de contacto de InnoDB
...........................................................................
792 15.3 Configuración de InnoDB
..........................................................................................
792 15.4 Opciones de arranque de InnoDB
.............................................................................
797 15.5 Crear el espacio de tablas InnoDB
............................................................................
803
15.5.1 Resolución de problemas en la inicialización de InnoDB
.................................. 804 15.6 Crear tablas InnoDB
.................................................................................................
804
15.6.1 Cómo utilizar transacciones en InnoDB con distintas APIs
................................ 805 15.6.2 Pasar tablas MyISAM a
InnoDB
......................................................................
805 15.6.3 Cómo funciona una columna AUTO_INCREMENT en InnoDB
............................. 806 15.6.4 Restricciones
(constraints) FOREIGN KEY
....................................................... 807 15.6.5
InnoDB y replicación MySQL
..........................................................................
811 15.6.6 Usar un espacio de tablas para cada tabla
...................................................... 812
15.7 Añadir y suprimir registros y ficheros de datos InnoDB
............................................... 813 15.8 Hacer una
copia de seguridad y recuperar una base de datos InnoDB
......................... 814
15.8.1 Forzar una recuperación
.................................................................................
816 15.8.2 Marcadores
....................................................................................................
817
15.9 Trasladar una base de datos InnoDB a otra máquina
................................................. 817 15.10 Bloqueo
y modelo de transacciones de InnoDB
........................................................ 817
15.10.1 Modos de bloqueo InnoDB
...........................................................................
818 15.10.2 InnoDB y AUTOCOMMIT
................................................................................
819 15.10.3 InnoDB y TRANSACTION ISOLATION LEVEL
.............................................. 819 15.10.4 Lecturas
consistentes que no bloquean
......................................................... 820
MySQL 5.0 Reference Manual
xi
15.10.5 Bloquear lecturas SELECT ... FOR UPDATE y SELECT ... LOCK
IN SHARE MODE
............................................................................................................
821 15.10.6 Bloqueo de la próxima clave (Next-Key Locking): evitar
el problema fantasma .. 822 15.10.7 Un ejemplo de lectura
consistente en InnoDB
................................................ 822 15.10.8
Establecimiento de bloqueos con diferentes sentencias SQL en InnoDB
.......... 823 15.10.9 ¿Cuándo ejecuta o deshace implicitamente
MySQL una transacción? .............. 824 15.10.10 Detección de
interbloqueos (deadlocks) y cancelación de transacciones
(rollbacks)
.................................................................................................................
825 15.10.11 Cómo tratar con interbloqueos
.....................................................................
825
15.11 Consejos de afinamiento del rendimiento de InnoDB
................................................ 826 15.11.1 SHOW
INNODB STATUS y los monitores InnoDB
........................................... 828
15.12 Implementación de multiversión
................................................................................
832 15.13 Estructuras de tabla y de índice
...............................................................................
833
15.13.1 Estructura física de un índice
........................................................................
833 15.13.2 Búfer de inserciones
.....................................................................................
833 15.13.3 Indices hash adaptables
................................................................................
834 15.13.4 Estructura física de los registros
....................................................................
834
15.14 Gestión de espacio de ficheros y de E/S de disco (Disk I/O)
...................................... 835 15.14.1 E/S de disco
(Disk I/O)
.................................................................................
835 15.14.2 Usar dispositivos en bruto (raw devices) para espacios
de tablas ..................... 835 15.14.3 Gestión del espacio de
ficheros
.....................................................................
836 15.14.4 Desfragmentar una tabla
...............................................................................
837
15.15 Tratamiento de errores de InnoDB
...........................................................................
837 15.15.1 Códigos de error de InnoDB
.........................................................................
838 15.15.2 Códigos de error del sistema operativo
..........................................................
838
15.16 Restricciones de las tablas InnoDB
.........................................................................
843 15.17 Resolver problemas relacionados con InnoDB
..........................................................
845
15.17.1 Resolver problemas de las operaciones del diccionario de
datos de InnoDB .... 845 16 MySQL Cluster
.....................................................................................................................
847
16.1 Panorámica de MySQL Cluster
..................................................................................
848 16.2 Conceptos básicos de Basic MySQL Cluster
.............................................................. 850
16.3 Cómo configurar varios ordenadores
..........................................................................
851
16.3.1 Hardware, software y redes
............................................................................
853 16.3.2 Instalación
......................................................................................................
853 16.3.3 Configuración
.................................................................................................
855 16.3.4 Arranque inicial
...............................................................................................
857 16.3.5 Cargar datos de ejemplo y realizar consultas
................................................... 858 16.3.6
Apagado y encendido seguros
........................................................................
861
16.4 Configuración de MySQL Cluster
...............................................................................
861 16.4.1 Generar MySQL Cluster desde el código fuente
............................................... 862 16.4.2 Instalar
el software
.........................................................................................
862 16.4.3 Rápido montaje de prueba de MySQL Cluster
.................................................. 862 16.4.4
Fichero de configuración
.................................................................................
864
16.5 Gestión de procesos en MySQL Cluster
.....................................................................
888 16.5.1 El uso del proceso del servidor MySQL para MySQL Cluster
............................. 889 16.5.2 ndbd, el proceso del nodo
de motor de almacenamiento .................................. 889
16.5.3 El proceso del servidor de administración ndb_mgmd
........................................ 891 16.5.4 El proceso de
cliente de administración ndb_mgm
............................................ 891 16.5.5 Opciones de
comando para procesos de MySQL Cluster
.................................. 892
16.6 Administración de MySQL Cluster
..............................................................................
894 16.6.1 Comandos del cliente de administración
.......................................................... 894
16.6.2 Informes de eventos generados por MySQL Cluster
......................................... 895 16.6.3 Modo de
usuario único
...................................................................................
900 16.6.4 Copias de seguridad On-line para MySQL Cluster
............................................ 901
16.7 Usar interconexiones de alta velocidad con MySQL Cluster
......................................... 904 16.7.1 Configurar
MySQL Cluster para que utilice Sockets SCI
................................... 904 16.7.2 Entender el impacto
de interconexiones de nodos
............................................ 907
16.8 Limitaciones conocidas de MySQL Cluster
.................................................................
909
MySQL 5.0 Reference Manual
xii
16.9 Mapa de desarrollo de MySQL Cluster
.......................................................................
911 16.9.1 Cambios de MySQL Cluster en MySQL 5.0
..................................................... 912 16.9.2
Mapa de desarrollo de MySQL 5.1 para MySQL Cluster
................................... 912
16.10 Preguntas frecuentes sobre MySQL Cluster
.............................................................. 913
16.11 Glosario de MySQL Cluster
......................................................................................
919
17 Introducción a MaxDB
..........................................................................................................
925 17.1 Historia de MaxDB
....................................................................................................
925 17.2 Licenciamiento y soporte
...........................................................................................
925 17.3 Enlaces relacionados con MaxDB
..............................................................................
925 17.4 Conceptos básicos de MaxDB
...................................................................................
925 17.5 Diferencias de prestaciones entre MaxDB y MySQL
.................................................... 926 17.6
Características de interoperabilidad entre MaxDB y MySQL
......................................... 926 17.7 Palabras
reservadas de MaxDB
.................................................................................
926
18 Extensiones espaciales de MySQL
.......................................................................................
931 18.1 Introducción
...............................................................................................................
932 18.2 El modelo geométrico OpenGIS
.................................................................................
932
18.2.1 La jerarquía de las clases geométricas
............................................................ 932
18.2.2 La clase Geometry
........................................................................................
933 18.2.3 La clase Point
..............................................................................................
935 18.2.4 La clase Curve
..............................................................................................
935 18.2.5 La clase LineString
....................................................................................
935 18.2.6 La clase Surface
..........................................................................................
935 18.2.7 La clase Polygon
..........................................................................................
936 18.2.8 La clase GeometryCollection
....................................................................
936 18.2.9 La clase MultiPoint
....................................................................................
936 18.2.10 La clase MultiCurve
..................................................................................
937 18.2.11 La clase MultiLineString
........................................................................
937 18.2.12 La clase MultiSurface
..............................................................................
937 18.2.13 La clase MultiPolygon
..............................................................................
937
18.3 Formatos de datos espaciales soportados
..................................................................
938 18.3.1 Formato Well-Known Text (WKT)
....................................................................
938 18.3.2 Formato Well-Known Binary (WKB)
.................................................................
939
18.4 Crear una base de datos MySQL con capacidades espaciales
..................................... 940 18.4.1 Tipos de datos
espaciales de MySQL
.............................................................. 940
18.4.2 Crear valores espaciales
.................................................................................
940 18.4.3 Crear columnas espaciales
.............................................................................
944 18.4.4 Poblar columnas espaciales
............................................................................
944 18.4.5 Extraer datos espaciales
.................................................................................
945
18.5 Analizar información espacial
.....................................................................................
946 18.5.1 Funciones de conversión de formato geométrico
.............................................. 946 18.5.2 Funciones
Geometry
.....................................................................................
947 18.5.3 Funciones que crean nuevas geometrías a partir de unas
existentes ................. 953 18.5.4 Funciones para probar
relaciones espaciales entre objetos geométricos ............ 954
18.5.5 Relaciones entre rectángulos MBR (Minimal Bounding
Rectangles) ................... 954 18.5.6 Funciones que prueban
relaciones espaciales entre geometrías ........................
956
18.6 Optimización del análisis espacial
..............................................................................
957 18.6.1 Crear índices espaciales
.................................................................................
957 18.6.2 Usar un índice espacial
..................................................................................
958
18.7 Conformidad y compatibilidad de MySQL
...................................................................
960 18.7.1 Características GIS que todavía no han sido
implementadas ............................. 960
19 Procedimientos almacenados y funciones
.............................................................................
961 19.1 Procedimientos almacenados y las tablas de permisos
................................................ 962 19.2 Sintaxis
de procedimientos almacenados
....................................................................
962
19.2.1 CREATE PROCEDURE y CREATE FUNCTION
................................................... 962 19.2.2
ALTER PROCEDURE y ALTER FUNCTION
....................................................... 965 19.2.3
DROP PROCEDURE y DROP FUNCTION
........................................................... 965
19.2.4 SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION
................................ 966 19.2.5 SHOW PROCEDURE STATUS y
SHOW FUNCTION STATUS ................................ 966
MySQL 5.0 Reference Manual
xiii
19.2.6 La sentencia CALL
..........................................................................................
966 19.2.7 Sentencia compuesta BEGIN ... END
.......................................................... 966
19.2.8 Sentencia DECLARE
........................................................................................
967 19.2.9 Variables en procedimientos almacenados
....................................................... 967 19.2.10
Conditions and Handlers
...............................................................................
968 19.2.11 Cursores
.......................................................................................................
969 19.2.12 Constructores de control de flujo
...................................................................
970
19.3 Registro binario de procedimientos almacenados y disparadores
................................. 972 20 Disparadores (triggers)
.........................................................................................................
977
20.1 Sintaxis de CREATE TRIGGER
..................................................................................
977 20.2 Sintaxis de DROP TRIGGER
......................................................................................
979 20.3 Utilización de disparadores
........................................................................................
979
21 Vistas (Views)
......................................................................................................................
983 21.1 Sintaxis de ALTER VIEW
..........................................................................................
983 21.2 Sintaxis de CREATE VIEW
........................................................................................
983 21.3 Sintaxis de DROP VIEW
............................................................................................
988 21.4 Sintaxis de SHOW CREATE VIEW
..............................................................................
989
22 La base de datos de información INFORMATION_SCHEMA
..................................................... 991 22.1 Las
tablas INFORMATION_SCHEMA
............................................................................
993
22.1.1 La tabla INFORMATION_SCHEMA SCHEMATA
................................................... 993 22.1.2 La
tabla INFORMATION_SCHEMA TABLES
....................................................... 993 22.1.3
La tabla INFORMATION_SCHEMA COLUMNS
..................................................... 994 22.1.4 La
tabla INFORMATION_SCHEMA STATISTICS
............................................... 995 22.1.5 La tabla
INFORMATION_SCHEMA USER_PRIVILEGES
..................................... 996 22.1.6 La tabla
INFORMATION_SCHEMA SCHEMA_PRIVILEGES
................................. 996 22.1.7 La tabla
INFORMATION_SCHEMA TABLE_PRIVILEGES
................................... 997 22.1.8 La tabla
INFORMATION_SCHEMA COLUMN_PRIVILEGES
................................. 997 22.1.9 La tabla
INFORMATION_SCHEMA CHARACTER_SETS
....................................... 998 22.1.10 La tabla
INFORMATION_SCHEMA COLLATIONS
............................................. 998 22.1.11 La tabla
INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY
....................................................... 998 22.1.12
La tabla INFORMATION_SCHEMA TABLE_CONSTRAINTS
............................... 999 22.1.13 La tabla
INFORMATION_SCHEMA KEY_COLUMN_USAGE
................................. 999 22.1.14 La tabla
INFORMATION_SCHEMA ROUTINES
............................................... 1000 22.1.15 La
tabla INFORMATION_SCHEMA VIEWS
..................................................... 1001 22.1.16
La tabla INFORMATION_SCHEMA TRIGGERS
............................................... 1002 22.1.17 Otras
tablas INFORMATION_SCHEMA
...........................................................
1003
22.2 Extensiones a las sentencias SHOW
..........................................................................
1003 23 Matemáticas de precisión
...................................................................................................
1007
23.1 Tipos de valores numéricos
.....................................................................................
1007 23.2 Cambios en el tipo de datos DECIMAL
.....................................................................
1008 23.3 Manejo de expresiones
............................................................................................
1009 23.4 Cómo se redondea
..................................................................................................
1011 23.5 Ejemplos de matemáticas de precisión
.....................................................................
1012
24 APIs de MySQL
.................................................................................................................
1017 24.1 Utilidades para el desarrollo de programas MySQL
................................................... 1017
24.1.1 msql2mysql —
..............................................................................................
1017 24.1.2 mysql_config —
............................................................................................
1018
24.2 La API C de MySQL
................................................................................................
1019 24.2.1 Tipos de datos de la API C
...........................................................................
1019 24.2.2 Panorámica de funciones de la API C
............................................................ 1022
24.2.3 Descripción de funciones de la API C
............................................................ 1026
24.2.4 Sentencias preparadas de la API C
...............................................................
1066 24.2.5 Tipos de datos de sentencias preparadas de la API C
.................................... 1067 24.2.6 Panorámica de las
funciones de sentencias preparadas de la API C ................
1070 24.2.7 Descripciones de funciones de sentencias preparadas de
la API C .................. 1072 24.2.8 Problemas con sentencias
preparadas de la API C .........................................
1093 24.2.9 Tratamiento por parte de la API C de la ejecución de
múltiples consultas ......... 1093
MySQL 5.0 Reference Manual
xiv
24.2.10 Manejo de valores de fecha y hora por parte de la API C
.............................. 1094 24.2.11 Descripción de
funciones de la API C para el control de subprocesos .............
1095 24.2.12 Descripción de las funciones de la API C del servidor
incrustado (embedded) . 1096 24.2.13 Preguntas y problemas comunes
en el uso de la API C ................................ 1098 24.2.14
Generar programas cliente
..........................................................................
1099 24.2.15 Cómo hacer un cliente multihilo
...................................................................
1100 24.2.16 libmysqld, la biblioteca del servidor MySQL incrustado
(embedded) ................ 1101
24.3 API PHP de MySQL
................................................................................................
1106 24.3.1 Problemas comunes con MySQL y PHP
........................................................ 1107
24.4 La API Perl de MySQL
............................................................................................
1107 24.5 API C++ de MySQL
.................................................................................................
1107
24.5.1 Borland C++
.................................................................................................
1108 24.6 La API Python de MySQL
........................................................................................
1108 24.7 La API Tcl de MySQL
..............................................................................................
1108 24.8 El visor de MySQL Eiffel
..........................................................................................
1108
25 Conectores
.........................................................................................................................
1109 25.1 MySQL Connector/ODBC
.........................................................................................
1110
25.1.1 Introduction to Connector/ODBC
....................................................................
1110 25.1.2 Connector/ODBC Installation
.........................................................................
1114 25.1.3 Connector/ODBC Configuration
.....................................................................
1134 25.1.4 Connector/ODBC Examples
..........................................................................
1149 25.1.5 Connector/ODBC Reference
..........................................................................
1173 25.1.6 Connector/ODBC Notes and Tips
..................................................................
1179 25.1.7 Connector/ODBC Support
.............................................................................
1188
25.2 MySQL Connector/NET
............................................................................................
1190 25.2.1 Connector/NET Versions
...............................................................................
1190 25.2.2 Connector/NET Installation
............................................................................
1190 25.2.3 Connector/NET Examples
.............................................................................
1196 25.2.4 Connector/NET Reference
.............................................................................
1244 25.2.5 Connector/NET Notes and Tips
.....................................................................
1346 25.2.6 Connector/NET Support
................................................................................
1363
25.3 MySQL Visual Studio Plugin
....................................................................................
1364 25.3.1 Installing the MySQL Visual Studio Plugin
...................................................... 1364 25.3.2
Creating a connection to the MySQL server
................................................... 1366 25.3.3
Using the MySQL Visual Studio Plugin
........................................................... 1367
25.3.4 Visual Studio Plugin Support
.........................................................................
1375
25.4 MySQL Connector/J
.................................................................................................
1375 25.4.1 Connector/J Versions
....................................................................................
1375 25.4.2 Connector/J Installation
.................................................................................
1376 25.4.3 Connector/J Examples
..................................................................................
1380 25.4.4 Connector/J (JDBC) Reference
......................................................................
1381 25.4.5 Connector/J Notes and Tips
..........................................................................
1403 25.4.6 Connector/J Support
.....................................................................................
1421
25.5 MySQL Connector/MXJ
............................................................................................
1422 25.5.1 Introduction to Connector/MXJ
.......................................................................
1422 25.5.2 Connector/MXJ Installation
............................................................................
1424 25.5.3 Connector/MXJ Configuration
........................................................................
1428 25.5.4 Connector/MXJ Reference
.............................................................................
1431 25.5.5 Connector/MXJ Notes and Tips
.....................................................................
1432 25.5.6 Connector/MXJ Support
................................................................................
1437
25.6 Connector/PHP
........................................................................................................
1437 26 Manejo de errores en MySQL
.............................................................................................
1439 27 Extender MySQL
................................................................................................................
1475
27.1 El interior de MySQL
...............................................................................................
1475 27.1.1 Los subprocesos (threads) MySQL
................................................................
1475 27.1.2 El paquete de pruebas MySQL Test
..............................................................
1476
27.2 Añadir nuevas funciones a MySQL
...........................................................................
1478 27.2.1 Características de la interfaz para funciones definidas
por el usuario ................ 1479
MySQL 5.0 Reference Manual
xv
27.2.2 Sintaxis de CREATE FUNCTION/DROP FUNCTION
........................................ 1479 27.2.3 Añadir una
nueva función definida por el usuario
............................................ 1479 27.2.4 Añadir una
nueva función nativa
....................................................................
1488
27.3 Añadir nuevos procedimientos a MySQL
..................................................................
1489 27.3.1 Procedimiento Analyse
..................................................................................
1489 27.3.2 Escribir un procedimiento
..............................................................................
1489
A Problemas y errores comunes
..............................................................................................
1491 A.1 Cómo determinar a qué es debido un problema
......................................................... 1492 A.2
Errores comunes al usar programas MySQL
..............................................................
1493
A.2.1 Access denied
...........................................................................................
1493 A.2.2 Can't connect to [local] MySQL server
.......................................... 1493 A.2.3 Client does
not support authentication protocol ....................... 1495
A.2.4 La contraseña falla cuando se introduce interactivamente
................................. 1496 A.2.5 La máquina 'host_name'
está bloqueada ........................................... 1496
A.2.6 Demasiadas conexiones
...........................................................................
1497 A.2.7 Out of memory
..........................................................................................
1497 A.2.8 MySQL se ha apagado
..............................................................................
1497 A.2.9 Packet too large
....................................................................................
1499 A.2.10 Errores de comunicación y conexiones abortadas
.......................................... 1500 A.2.11 The table is
full
................................................................................
1501 A.2.12 Can't create/write to file
.............................................................. 1502
A.2.13 Commands out of sync
..........................................................................
1502 A.2.14