1483
MySQL 5.0 Reference Manual

MySQLManual Refman 5.0 Es

Embed Size (px)

Citation preview

MySQL 5.0 Reference Manual

MySQL 5.0 Reference Manualsta es una traduccin del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL est escrito en ingls, y esta traduccin no necesariamente est tan actualizada como la versin original. Para cualquier sugerencia sobre la traduccin y para sealar errores de cualquier tipo, no dude en dirigirse a [email protected]. Resumen Documento generado el: 2010-03-15 (revisin: 542)Copyright 1997-2007 MySQL AB, 2008-2010 Sun Microsystems, Inc. All rights reserved. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java, Solaris, StarOffice, MySQL Enterprise Monitor 2.0, MySQL logo and MySQL are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Copyright 1997-2007 MySQL AB, 2008-2010 Sun Microsystems, Inc. Tous droits r?serv?s. L'utilisation est soumise aux termes du contrat de licence.Sun, Sun Microsystems, le logo Sun, Java, Solaris, StarOffice, MySQL Enterprise Monitor 2.0, MySQL logo et MySQL sont des marques de fabrique ou des marques d?pos?es de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays. UNIX est une marque d?pos?e aux Etats-Unis et dans d'autres pays et licenci?e exlusivement par X/Open Company, Ltd. Esta documentacin NO se distribuye bajo una licencia GPL. El uso de esta documentacin est sujeta a los siguientes trminos: Puede Usted crear una copia impresa de esta documentacin nicamente para su uso personal. La conversin a otros formatos est permitida siempre y cuando el contenido no se vea alterado ni editado de ninguna manera. No est permitida la publicacin ni la distribucin de esta documentacin bajo ninguna forma ni en ningn medio, excepto si distribuye la documentacin en una manera similar a la que utiliza MySQL para difundirla (esto es, electrnicamente para ser bajada con el software) o en un CD-ROM o medio similar, siempre y cuando la documentacin se difunda junto con el software en el mismo medio. Para cualquier otra utilizacin, como por ejemplo cualquier difusin de copias escritas, o el uso de esta documentacin, en su totalidad o parcialmente, en otra publicacin, se debe obtener una autorizacin escrita previa por parte de un representante autorizado de MySQL AB. MySQL AB se reserva cualquier derecho y todos los derechos sobre esta documentacin, aunque no est aqu expresamente acordado. Si desea obtener ms informacin o si est interesado en realizar una traduccin, dirjase por favor por correo electrnico a http://www.mysql.com/company/contact/.

Tabla de contenidosPrefacio ............................................................................................................................................ xix 1. Informacin general ............................................................................................................................ 1 1.1. Sobre este manual ..................................................................................................................... 1 1.2. Convenciones utilizadas en este manual ........................................................................................... 2 1.3. Panormica de MySQL AB ......................................................................................................... 3 1.4. Panormica del sistema de gestin de base de datos MySQL .................................................................. 4 1.4.1. Historia de MySQL ........................................................................................................ 5 1.4.2. Las principales caractersticas de MySQL .............................................................................. 5 1.4.3. Estabilidad de MySQL ..................................................................................................... 7 1.4.4. Dimensiones mximas de las tablas MySQL ........................................................................... 8 1.4.5. Conformidad con el efecto 2000 ......................................................................................... 8 1.5. Mapa de desarrollo de MySQL ..................................................................................................... 9 1.5.1. El servidor MySQL incrustado (embedded) ........................................................................... 10 1.5.2. Qu hay de nuevo en MySQL 5.0 ....................................................................................... 10 1.6. Fuentes de informacin acerca de MySQL ....................................................................................... 11 1.6.1. Listas de correo de MySQL .............................................................................................. 11 1.6.2. Soporte por IRC (Internet Relay Chat) de la comunidad MySQL .................................................. 16 1.6.3. Soporte por parte de la comunidad en los foros de MySQL ......................................................... 17 1.7. Cumplimiento de los estndares por parte de MySQL ......................................................................... 17 1.7.1. Estndares utilizados por MySQL ....................................................................................... 17 1.7.2. Seleccin de modos SQL ................................................................................................. 17 1.7.3. Ejecutar MySQL en modo ANSI ........................................................................................ 18 1.7.4. Extensiones MySQL al estndar SQL .................................................................................. 18 1.7.5. Diferencias en MySQL del estndar SQL .............................................................................. 21 1.7.6. Cmo trata MySQL las restricciones (Constraints) ................................................................... 25 2. Instalar MySQL ................................................................................................................................ 28 2.1. Cuestiones generales sobre la instalacin ........................................................................................ 28 2.1.1. Sistemas operativos que MySQL soporta .............................................................................. 28 2.1.2. Escoger la distribucin MySQL a instalar ............................................................................. 30 2.1.3. Cmo obtener MySQL .................................................................................................... 39 2.1.4. Comprobar la integridad de paquetes con sumas de verificacin MD5 o GnuPG ................................ 39 2.1.5. Conformacin de la instalacin .......................................................................................... 42 2.2. Instalacin MySQL estndar con una distribucin binaria ..................................................................... 43 2.3. Instalar MySQL en Windows ...................................................................................................... 43 2.3.1. Requisitos de Windows ................................................................................................... 44 2.3.2. Eleccin de un paquete de instalacin .................................................................................. 44 2.3.3. Instalacin de MySQL con un instalador automtico ................................................................ 45 2.3.4. Usar el asistente de instalacin de MySQL ............................................................................ 45 2.3.5. Utilizacin del asistente de configuracin ............................................................................. 47 2.3.6. Instalar MySQL partiendo de un archivo Zip Noinstall .............................................................. 51 2.3.7. Descomprimir el fichero de instalacin ................................................................................ 51 2.3.8. Creacin de un fichero de opciones ..................................................................................... 51 2.3.9. Seleccionar un tipo de servidor MySQL ............................................................................... 52 2.3.10. Arrancar el servidor la primera vez .................................................................................... 53 2.3.11. Arrancar MySQL desde la lnea de comandos de Windows ....................................................... 54 2.3.12. Arrancar MySQL como un servicio de Windows ................................................................... 55 2.3.13. Comprobar la instalacin de MySQL Installation ................................................................... 57 2.3.14. Resolucin de problemas en la instalacin de MySQL bajo Windows ........................................... 57 2.3.15. Aumentar la versin de MySQL en Windows ....................................................................... 58 2.3.16. Comparacin entre MySQL en Windows y MySQL en Unix ..................................................... 59 2.4. Instalar MySQL en Linux .......................................................................................................... 61 2.5. Instalar MySQL en Mac OS X ..................................................................................................... 63 2.6. Instalar MySQL sobre NetWare ................................................................................................... 65 2.7. Instalacin de MySQL en otros sistemas similares a Unix ..................................................................... 67 2.8. Instalacin de MySQL usando una distribucin de cdigo fuente ............................................................ 69 2.8.1. Panormica de la instalacin de cdigo fuente ........................................................................ 70 2.8.2. Opciones tpicas de configure ....................................................................................... 72 2.8.3. Instalar desde el rbol de cdigo fuente de desarrollo ................................................................ 75 2.8.4. Problemas en la compilacin de MySQL .............................................................................. 77 iv

MySQL 5.0 Reference Manual

2.8.5. Notas sobre MIT-pthreads ................................................................................................ 79 2.8.6. Instalar MySQL desde el cdigo fuente en Windows ................................................................ 81 2.8.7. Compilar los clientes de MySQL en Windows ........................................................................ 84 2.9. Puesta en marcha y comprobacin despus de la instalacin .................................................................. 84 2.9.1. Pasos a seguir despus de la instalacin en Windows ................................................................ 84 2.9.2. Pasos a seguir despus de la instalacin en Unix ..................................................................... 85 2.9.3. Hacer seguras las cuentas iniciales de MySQL ........................................................................ 94 2.10. Aumentar la versin de MySQL ................................................................................................. 96 2.10.1. Aumentar la versin de 4.1 a 5.0 ....................................................................................... 97 2.10.2. Aumentar la versin de las tablas de privilegios ..................................................................... 99 2.10.3. Copiar bases de datos MySQL a otra mquina ..................................................................... 100 2.11. Bajar la versin de MySQL ..................................................................................................... 101 2.11.1. Volver a la versin 4.1 ................................................................................................ 101 2.12. Notas especficas sobre sistemas operativos .................................................................................. 102 2.12.1. Notas sobre Linux ...................................................................................................... 102 2.12.2. Notas sobre Mac OS X ................................................................................................ 108 2.12.3. Notas sobre Solaris .................................................................................................... 108 2.12.4. Notas sobre BSD ....................................................................................................... 112 2.12.5. Notas sobre otros Unix ................................................................................................ 114 2.12.6. Notas sobre OS/2 ....................................................................................................... 127 2.13. Notas sobre la instalacin de Perl .............................................................................................. 127 2.13.1. Instalacin de Perl en Unix ........................................................................................... 127 2.13.2. Instalar ActiveState Perl en Windows ............................................................................... 128 2.13.3. Problemas en la utilizacin de la interfaz Perl DBI/DBD ......................................................... 129 3. Curso (tutorial) de MySQL ................................................................................................................. 132 3.1. Conectarse al y desconectarse del servidor ..................................................................................... 132 3.2. Entrar consultas .................................................................................................................... 133 3.3. Crear y utilizar una base de datos ................................................................................................ 135 3.3.1. Crear y seleccionar una base de datos ................................................................................ 136 3.3.2. Crear una tabla ........................................................................................................... 136 3.3.3. Cargar datos en una tabla ............................................................................................... 137 3.3.4. Extraer informacin de una tabla ...................................................................................... 138 3.4. Obtener informacin sobre bases de datos y tablas ........................................................................... 149 3.5. Usar mysql en modo batch ...................................................................................................... 150 3.6. Ejemplos de consultas comunes ................................................................................................. 151 3.6.1. El valor mximo de una columna ..................................................................................... 152 3.6.2. El registro que tiene el valor mximo de determinada columna .................................................. 152 3.6.3. Mximo de columna por grupo ........................................................................................ 152 3.6.4. Los registros de un grupo que tienen el mximo valor en alguna columna ...................................... 152 3.6.5. Utilizacin de variables de usuario .................................................................................... 153 3.6.6. Usar claves forneas (foreign keys) ................................................................................... 153 3.6.7. Buscar usando dos claves ............................................................................................... 154 3.6.8. Calcular visitas diarias .................................................................................................. 155 3.6.9. Utilizacin de AUTO_INCREMENT .................................................................................. 155 3.7. Consultas del proyecto Mellizos (Twin) ........................................................................................ 156 3.7.1. Encontrar todos los mellizos no repartidos ........................................................................... 156 3.7.2. Mostrar una tabla de estado de mellizos .............................................................................. 158 3.8. Usar MySQL con Apache ........................................................................................................ 158 4. Usar los programas MySQL ................................................................................................................ 160 4.1. Panormica de programas MySQL .............................................................................................. 160 4.2. Invocar programas MySQL ...................................................................................................... 161 4.3. Especificar opciones de programa ............................................................................................... 161 4.3.1. Usar opciones en la lnea de comandos ............................................................................... 162 4.3.2. Usar ficheros de opciones .............................................................................................. 163 4.3.3. Usar variables de entorno para especificar opciones ............................................................... 167 4.3.4. Utilizacin de opciones para establecer variables de programa ................................................... 167 5. Administracin de bases de datos .......................................................................................................... 169 5.1. El servidor MySQL y scripts de arranque del servidor ....................................................................... 169 5.1.1. Panormica de los programas scripts y las utilidades del lado del servidor (server-side) ..................... 169 5.1.2. El servidor extendido de MySQL mysqld-max ................................................................... 170 5.1.3. El script de arranque del servidor mysqld_safe ................................................................. 172 5.1.4. El script mysql.server para el arranque del servidor .......................................................... 175 5.1.5. El programa mysqld_multi para gestionar mltiples servidores MySQL ................................... 175 5.2. El gestor de instancias de MySQL .............................................................................................. 178 5.2.1. Arrancar el servidor MySQL con el gestor de instancias MySQL ................................................ 178 v

MySQL 5.0 Reference Manual

5.2.2. Conexin al gestor de instancias de MySQL y creacin de cuentas de usuario ................................. 179 5.2.3. Opciones de los comandos del gestor de instancias MySQL ...................................................... 179 5.2.4. Ficheros de configuracin del gestor de instancias de MySQL ................................................... 180 5.2.5. Los comandos que reconoce el gestor de instancias de MySQL .................................................. 181 5.3. Configuracin del servidor MySQL ............................................................................................. 183 5.3.1. Opciones del comando mysqld ...................................................................................... 183 5.3.2. El modo SQL del servidor .............................................................................................. 191 5.3.3. Variables de sistema del servidor ..................................................................................... 195 5.3.4. Variables de estado del servidor ....................................................................................... 220 5.4. El proceso de cierre del servidor MySQL ...................................................................................... 228 5.5. Cuestiones de seguridad general ................................................................................................. 229 5.5.1. Gua de seguridad general .............................................................................................. 229 5.5.2. Hacer que MySQL sea seguro contra ataques ....................................................................... 231 5.5.3. Opciones de arranque para mysqld relacionadas con la seguridad ............................................. 233 5.5.4. Cuestiones relacionadas con la seguridad y LOAD DATA LOCAL .............................................. 234 5.6. El sistema de privilegios de acceso de MySQL ............................................................................... 234 5.6.1. Qu hace el sistema de privilegios .................................................................................... 235 5.6.2. Cmo funciona el sistema de privilegios ............................................................................. 235 5.6.3. Privilegios de los que provee MySQL ................................................................................ 239 5.6.4. Conectarse al servidor MySQL ........................................................................................ 241 5.6.5. Control de acceso, nivel 1: Comprobacin de la conexin ........................................................ 242 5.6.6. Control de acceso, nivel 2: comprobacin de solicitudes .......................................................... 245 5.6.7. Cundo tienen efecto los camios de privilegios ..................................................................... 247 5.6.8. Causas de errores Access denied ................................................................................ 248 5.6.9. Hashing de contraseas en MySQL 4.1 .............................................................................. 251 5.7. Gestin de la cuenta de usuario MySQL ....................................................................................... 255 5.7.1. Nombres de usuario y contraseas de MySQL ...................................................................... 255 5.7.2. Aadir nuevas cuentas de usuario a MySQL ........................................................................ 256 5.7.3. Eliminar cuentas de usuario de MySQL .............................................................................. 259 5.7.4. Limitar recursos de cuentas ............................................................................................ 259 5.7.5. Asignar contraseas a cuentas ......................................................................................... 260 5.7.6. Guardar una contrasea de forma segura ............................................................................. 261 5.7.7. Usar conexiones seguras ................................................................................................ 262 5.8. Prevencin de desastres y recuperaciones ...................................................................................... 268 5.8.1. Copias de seguridad de bases de datos ............................................................................... 268 5.8.2. Ejemplo de estrategia de copias de seguridad y recuperacin ..................................................... 270 5.8.3. Mantenimiento de tablas y recuperacin de un fallo catastrfico (crash) ........................................ 272 5.8.4. Organizar un programa de mantenimiento de tablas ................................................................ 282 5.8.5. Obtener informacin acerca de una tabla ............................................................................. 283 5.9. Uso internacional y localizacin de MySQL ................................................................................... 288 5.9.1. El conjunto de caracteres utilizado para datos y ordenacin ...................................................... 288 5.9.2. Escoger el idioma de los mensajes de error .......................................................................... 289 5.9.3. Aadir un conjunto de caracteres nuevo .............................................................................. 289 5.9.4. Los vectores de definicin de caracteres ............................................................................. 291 5.9.5. Soporte para colacin de cadenas de caracteres ..................................................................... 291 5.9.6. Soporte de caracteres multi-byte ...................................................................................... 291 5.9.7. Problemas con conjuntos de caracteres ............................................................................... 291 5.9.8. Soporte de zonas horarias en el servidor MySQL ................................................................... 292 5.10. Los ficheros de registro (log) de MySQL ..................................................................................... 293 5.10.1. El registro de errroes (Error Log) .................................................................................... 293 5.10.2. El registro general de consultas ...................................................................................... 294 5.10.3. El registro binario (Binary Log) ..................................................................................... 294 5.10.4. El registro de consultas lentas (Slow Query Log) ................................................................. 297 5.10.5. Mantenimiento de ficheros de registro (log) ....................................................................... 297 5.11. Ejecutar ms de un servidor MySQL en la misma mquina ................................................................ 298 5.11.1. Ejecutar varios servidores en Windows ............................................................................. 299 5.11.2. Ejecutar varios servidores en Unix .................................................................................. 302 5.11.3. Utilizacin de programas cliente en un entorno de mltiples servidores ....................................... 303 5.12. La cach de consultas de MySQL .............................................................................................. 304 5.12.1. Cmo opera la cach de consultas ................................................................................... 304 5.12.2. Opciones de SELECT para la cach de consultas ................................................................. 306 5.12.3. Configuracin de la cach de consultas ............................................................................. 306 5.12.4. Estado y mantenimiento de la cach de consultas ................................................................. 307 6. Replicacin en MySQL ..................................................................................................................... 309 6.1. Introduccin a la replicacin ..................................................................................................... 309 vi

MySQL 5.0 Reference Manual

6.2. Panormica de la implementacin de la replicacin .......................................................................... 309 6.3. Detalles de la implementacin de la replicacin ............................................................................... 310 6.3.1. Estados de los subprocesos del maestro de replicacin ............................................................ 311 6.3.2. Estados de proceso E/S (I/O) del esclavo de replicacin ........................................................... 311 6.3.3. Estados del flujo SQL de un esclavo de replicacin ................................................................ 312 6.3.4. Ficheros de replicacin, retardados y de estado ..................................................................... 312 6.4. Cmo montar la replicacin ...................................................................................................... 314 6.5. Compatibilidad entre versiones de MySQL con respecto a la replicacin ................................................. 317 6.6. Aumentar la versin de la replicacin .......................................................................................... 317 6.6.1. Aumentar la versin de la replicacin a 5.0 .......................................................................... 317 6.7. Caractersticas de la replicacin y problemas conocidos ..................................................................... 318 6.8. Opciones de arranque de replicacin ............................................................................................ 320 6.9. Preguntas y respuestas sobre replicacin ....................................................................................... 327 6.10. Resolucin de problemas de replicacin ...................................................................................... 332 6.11. Reportar bugs de replicacin ................................................................................................... 332 7. Optimizacin de MySQL ................................................................................................................... 334 7.1. Panormica sobre optimizacin .................................................................................................. 334 7.1.1. Limitaciones y soluciones de compromiso en el diseo de MySQL ............................................. 334 7.1.2. Disear aplicaciones pensando en la portabilidad ................................................................... 334 7.1.3. Para qu hemos usado MySQL ........................................................................................ 335 7.1.4. El paquete de pruebas de rendimiento (benchmarks) de MySQL ................................................. 336 7.1.5. Usar pruebas de rendimiento (benchmarks) propios ................................................................ 337 7.2. Optimizar sentencias SELECT y otras consultas .............................................................................. 337 7.2.1. Sintaxis de EXPLAIN (Obtener informacin acerca de un SELECT) ............................................ 338 7.2.2. Estimar el renidimiento de una consulta .............................................................................. 344 7.2.3. Velocidad de las consultas SELECT .................................................................................. 345 7.2.4. Optimizacin de las clusulas WHERE por parte de MySQL ...................................................... 345 7.2.5. Optimizacin de rango .................................................................................................. 346 7.2.6. Index Merge Optimization ............................................................................................. 349 7.2.7. Cmo optimiza MySQL IS NULL ................................................................................... 351 7.2.8. Cmo MySQL optimiza DISTINCT ................................................................................. 352 7.2.9. Cmo optimiza MySQL los LEFT JOIN y RIGHT JOIN ...................................................... 353 7.2.10. Cmo optimiza MySQL ORDER BY ............................................................................... 353 7.2.11. Cmo optimiza MySQL los GROUP BY ........................................................................... 355 7.2.12. Cmo optimiza MySQL las clusulas LIMIT ..................................................................... 356 7.2.13. Cmo evitar lecturas completas de tablas ........................................................................... 357 7.2.14. Velocidad de la sentencia INSERT ................................................................................. 357 7.2.15. Velocidad de las sentencias UPDATE ............................................................................... 359 7.2.16. Velocidad de sentencias DELETE ................................................................................... 359 7.2.17. Otros consejos sobre optimizacin .................................................................................. 359 7.3. Temas relacionados con el bloqueo ............................................................................................. 361 7.3.1. Mtodos de bloqueo ..................................................................................................... 361 7.3.2. Cuestiones relacionadas con el bloqueo (locking) de tablas ....................................................... 363 7.4. Optimizar la estructura de una base de datos .................................................................................. 364 7.4.1. Elecciones de diseo .................................................................................................... 364 7.4.2. Haga sus datos lo ms pequeos posibles ............................................................................ 364 7.4.3. ndices de columna ...................................................................................................... 365 7.4.4. ndices de mltiples columnas ......................................................................................... 366 7.4.5. Cmo utiliza MySQL los ndices ...................................................................................... 366 7.4.6. La cach de claves de MyISAM ........................................................................................ 368 7.4.7. Cmo cuenta MySQL las tablas abiertas ............................................................................. 372 7.4.8. Cmo abre y cierra tablas MySQL .................................................................................... 372 7.4.9. Desventajas de crear muchas tablas en la misma base de datos ................................................... 373 7.5. Optimizacin del servidor MySQL .............................................................................................. 373 7.5.1. Factores de sistema y afinamientos de parmetros de arranque ................................................... 373 7.5.2. Afinar parmetros del servidor ........................................................................................ 374 7.5.3. Vigilar el rendimiento del optimizador de consultas ............................................................... 376 7.5.4. Efectos de la compilacin y del enlace en la velocidad de MySQL .............................................. 377 7.5.5. Cmo utiliza MySQL la memoria ..................................................................................... 378 7.5.6. Cmo usa MySQL las DNS ............................................................................................ 379 7.6. Cuestiones relacionadas con el disco ............................................................................................ 379 7.6.1. Utilizar enlaces simblicos ............................................................................................. 380 8. Programas cliente y utilidades MySQL ................................................................................................... 383 8.1. Panormica de scripts y utilidades del lado del cliente ....................................................................... 383 8.2. myisampack, el generador de tablas comprimidas de slo lectura de MySQL ......................................... 384 vii

MySQL 5.0 Reference Manual

8.3. La herramienta intrprete de comandos mysql ............................................................................... 389 8.3.1. Comandos mysql ....................................................................................................... 394 8.3.2. Ejecutar sentencias SQL desde un fichero de texto ................................................................. 397 8.3.3. Sugerencias acerca de mysql ......................................................................................... 398 8.4. Administrar un servidor MySQL con mysqladmin ........................................................................ 399 8.5. La utilidad mysqlbinlog para registros binarios .......................................................................... 403 8.6. El programa mysqlcheck para mantener y reparar tablas ................................................................. 407 8.7. El programa de copia de seguridad de base de datos mysqldump ........................................................ 409 8.8. El programa de copias de seguridad de base de datos mysqlhotcopy .................................................. 415 8.9. El programa para importar datos mysqlimport ............................................................................ 416 8.10. Mostrar bases de datos, tablas y columnas con mysqlshow .............................................................. 418 8.11. perror, explicacin de cdigos de error .................................................................................... 420 8.12. La utilidad replace de cambio de cadenas de caracteres ................................................................ 420 9. Estructura de lenguaje ....................................................................................................................... 422 9.1. Valores literales .................................................................................................................... 422 9.1.1. Cadenas de caracteres ................................................................................................... 422 9.1.2. Nmeros .................................................................................................................. 424 9.1.3. Valores hexadecimales .................................................................................................. 424 9.1.4. Valores booleanos ....................................................................................................... 424 9.1.5. Valores de bits ........................................................................................................... 424 9.1.6. Valores NULL ............................................................................................................ 425 9.2. Nombres de bases de datos, tablas, ndices, columnas y alias ............................................................... 425 9.2.1. Cualificadores de los identificadores ................................................................................. 426 9.2.2. Sensibilidad a maysuclas y minsculas de identificadores ....................................................... 426 9.3. Variables de usuario ............................................................................................................... 427 9.4. Variables de sistema ............................................................................................................... 428 9.4.1. Variables estructuradas de sistema .................................................................................... 430 9.5. Sintaxis de comentarios ........................................................................................................... 431 9.6. Tratamiento de palabras reservadas en MySQL ............................................................................... 432 10. Soporte de conjuntos de caracteres ....................................................................................................... 435 10.1. Conjuntos de caracteres y colaciones en general ............................................................................. 435 10.2. Conjuntos de caracteres y colaciones en MySQL ............................................................................ 435 10.3. Determinar el conjunto de caracteres y la colacin por defecto ........................................................... 437 10.3.1. Conjunto de caracteres y colacin del servidor .................................................................... 437 10.3.2. Conjuntos de caracteres y colaciones de la base de datos ........................................................ 437 10.3.3. Conjunto de caracteres y colacin de tabla ......................................................................... 438 10.3.4. Conjunto de caracteres y colacin de columnas ................................................................... 438 10.3.5. Ejemplos de asignacin de conjunto de caracteres y colacin ................................................... 439 10.3.6. Conjunto de caracteres y colacin de la conexin ................................................................. 440 10.3.7. Conjunto de caracteres y colacin de columnas carcter ...................................................... 441 10.3.8. Usar COLLATE en sentencias SQL .................................................................................. 442 10.3.9. Precedencia de la clusula COLLATE ............................................................................... 443 10.3.10. Operador BINARY ................................................................................................... 443 10.3.11. Casos especiales en los que determinar la colacin es complicado ............................................ 443 10.3.12. A cada colacin un conjunto de caracteres correcto ............................................................. 444 10.3.13. Un ejemplo del efecto de una colacin ............................................................................ 444 10.4. Efectos del soporte de conjuntos de caracteres ............................................................................... 445 10.4.1. Cadenas de caracteres de resultado .................................................................................. 445 10.4.2. CONVERT() ............................................................................................................ 445 10.4.3. CAST() ................................................................................................................. 445 10.4.4. Sentencias SHOW ....................................................................................................... 446 10.5. Soporte Unicode .................................................................................................................. 447 10.6. UTF8 para metadatos ............................................................................................................ 448 10.7. Compatibilidad con otros SGBDs (Sistemas gestores de bases de datos) ................................................ 449 10.8. Formato del nuevo fichero de conjunto de caracateres ...................................................................... 449 10.9. Conjunto de caracteres nacional ................................................................................................ 449 10.10. Conjuntos de caracteres y colaciones que soporta MySQL ............................................................... 449 10.10.1. Conjuntos de caracteres Unicode ................................................................................... 450 10.10.2. Conjuntos de caracteres de Europa occidental .................................................................... 451 10.10.3. Conjuntos de caracteres de Europa central ........................................................................ 452 10.10.4. Conjuntos de caracteres del sur de Europa y de Oriente Medio ................................................ 453 10.10.5. Conjuntos de caracteres blticos .................................................................................... 454 10.10.6. Conjuntos de caracteres cirlicos ................................................................................... 454 10.10.7. Conjuntos de caracteres asiticos ................................................................................... 455 11. Tipos de columna ........................................................................................................................... 457 viii

MySQL 5.0 Reference Manual

11.1. Panormica de tipos de columna ............................................................................................... 457 11.1.1. Panormica de tipos numricos ...................................................................................... 457 11.1.2. Panormica de tipos de fechas y hora ............................................................................... 460 11.1.3. Panormica de tipos de cadenas de caracteres ..................................................................... 460 11.2. Tipos numricos .................................................................................................................. 463 11.3. Tipos de fecha y hora ............................................................................................................ 465 11.3.1. Los tipos de datos DATETIME, DATE y TIMESTAMP ........................................................... 466 11.3.2. El tipo TIME ............................................................................................................ 470 11.3.3. El tipo de datos YEAR ................................................................................................. 470 11.3.4. Efecto 2000 (Y2K) y tipos de datos ................................................................................. 471 11.4. Tipos de cadenas de caracteres ................................................................................................. 471 11.4.1. Los tipos CHAR y VARCHAR ......................................................................................... 471 11.4.2. Los tipos BINARY y VARBINARY .................................................................................. 472 11.4.3. Los tipos BLOB y TEXT ............................................................................................... 473 11.4.4. El tipo de columna ENUM ............................................................................................. 474 11.4.5. El tipo SET .............................................................................................................. 475 11.5. Requisitos de almacenamiento segn el tipo de columna ................................................................... 476 11.6. Escoger el tipo de columna correcto ........................................................................................... 478 11.7. Usar tipos de columnas de otros motores de bases de datos ................................................................ 478 12. Funciones y operadores .................................................................................................................... 480 12.1. Operadores ........................................................................................................................ 480 12.1.1. Precedencias de los operadores ...................................................................................... 480 12.1.2. Parntesis ................................................................................................................ 480 12.1.3. Funciones y operadores de comparacin ........................................................................... 481 12.1.4. Operadores lgicos ..................................................................................................... 485 12.2. Funciones de control de flujo ................................................................................................... 486 12.3. Funciones para cadenas de caracteres ......................................................................................... 488 12.3.1. Funciones de comparacin de cadenas de caracteres ............................................................. 496 12.4. Funciones numricas ............................................................................................................. 498 12.4.1. Operadores aritmticos ................................................................................................ 498 12.4.2. Funciones matemticas ................................................................................................ 499 12.5. Funciones de fecha y hora ....................................................................................................... 505 12.6. Qu calendario utiliza MySQL ................................................................................................. 519 12.7. Funciones de bsqueda de texto completo (Full-Text) ...................................................................... 519 12.7.1. Bsquedas booleanas de texto completo (Full-Text) .............................................................. 521 12.7.2. Bsquedas de texto completo (Full-Text) con expansin de consulta .......................................... 523 12.7.3. Limitaciones de las bsquedas de texto completo (Full-Text) ................................................... 524 12.7.4. Afinar bsquedas de texto completo (Full-Text) con MySQL ................................................... 524 12.7.5. Cosas por hacer en bsquedas de texto completo (Full-Text) ................................................... 525 12.8. Funciones y operadores de cast ................................................................................................. 526 12.9. Otras funciones ................................................................................................................... 527 12.9.1. Funciones bit ........................................................................................................... 527 12.9.2. Funciones de encriptacin ............................................................................................ 529 12.9.3. Funciones de informacin ............................................................................................ 531 12.9.4. Funciones varias ........................................................................................................ 535 12.10. Funciones y modificadores para clusulas GROUP BY ................................................................... 538 12.10.1. Funciones (de agregacin) de GROUP BY ........................................................................ 538 12.10.2. Modificadores de GROUP BY ...................................................................................... 540 12.10.3. GROUP BY con campos escondidos ............................................................................... 542 13. Sintaxis de sentencias SQL ................................................................................................................ 544 13.1. Sentencias de definicin de datos (Data Definition Statements) ........................................................... 544 13.1.1. Sintaxis de ALTER DATABASE ..................................................................................... 544 13.1.2. Sintaxis de ALTER TABLE .......................................................................................... 544 13.1.3. Sintaxis de CREATE DATABASE ................................................................................... 548 13.1.4. Sintaxis de CREATE INDEX ........................................................................................ 548 13.1.5. Sintaxis de CREATE TABLE ........................................................................................ 550 13.1.6. Sintaxis de DROP DATABASE ...................................................................................... 559 13.1.7. Sintaxis de DROP INDEX ............................................................................................ 559 13.1.8. Sintaxis de DROP TABLE ............................................................................................ 559 13.1.9. Sintaxis de RENAME TABLE ........................................................................................ 560 13.2. Sentencias de manipulacin de datos (Data Manipulation Statements) ................................................... 560 13.2.1. Sintaxis de DELETE ................................................................................................... 560 13.2.2. Sintaxis de DO .......................................................................................................... 562 13.2.3. Sintaxis de HANDLER ................................................................................................. 563 13.2.4. Sintaxis de INSERT ................................................................................................... 564 ix

MySQL 5.0 Reference Manual

13.2.5. Sintaxis de LOAD DATA INFILE ................................................................................. 569 13.2.6. Sintaxis de REPLACE ................................................................................................. 575 13.2.7. Sintaxis de SELECT ................................................................................................... 576 13.2.8. Sintaxis de subconsultas .............................................................................................. 583 13.2.9. Sintaxis de TRUNCATE ............................................................................................... 591 13.2.10. Sintaxis de UPDATE ................................................................................................. 592 13.3. Sentencias tiles de MySQL .................................................................................................... 593 13.3.1. Sintaxis de DESCRIBE (Informacin acerca de las columnas) ................................................. 593 13.3.2. Sintaxis de USE ........................................................................................................ 594 13.4. Comandos transaccionales y de bloqueo de MySQL ........................................................................ 594 13.4.1. Sintaxis de START TRANSACTION, COMMIT y ROLLBACK ................................................. 594 13.4.2. Sentencias que no se pueden deshacer .............................................................................. 595 13.4.3. Sentencias que causan una ejecucin (commit) implcita ........................................................ 595 13.4.4. Sintaxis de SAVEPOINT y ROLLBACK TO SAVEPOINT ..................................................... 595 13.4.5. Sintaxis de LOCK TABLES y UNLOCK TABLES ................................................................ 596 13.4.6. Sintaxis de SET TRANSACTION ................................................................................... 598 13.5. Sentencias de administracin de base de datos ............................................................................... 598 13.5.1. Sentencias para la gestin de cuentas ............................................................................... 598 13.5.2. Sentencias para el mantenimiento de tablas ........................................................................ 606 13.5.3. Sintaxis de SET ........................................................................................................ 610 13.5.4. Sintaxis de SHOW ....................................................................................................... 614 13.5.5. Otras sentencias para la administracin ............................................................................. 629 13.6. Sentencias de replicacin ........................................................................................................ 632 13.6.1. Sentencias SQL para el control de servidores maestros .......................................................... 633 13.6.2. Sentencias SQL para el control de servidores esclavos ........................................................... 634 13.7. Sintaxis SQL de sentencias preparadas ........................................................................................ 641 14. Motores de almacenamiento de MySQL y tipos de tablas ............................................................................ 643 14.1. El motor de almacenamiento MyISAM ........................................................................................ 644 14.1.1. Opciones de arranque de MyISAM .................................................................................. 646 14.1.2. Cunto espacio necesitan las claves ................................................................................. 647 14.1.3. Formatos de almacenamiento de tablas MyISAM .................................................................. 647 14.1.4. Problemas en tablas MyISAM ........................................................................................ 649 14.2. El motor de almacenamiento MERGE .......................................................................................... 650 14.2.1. Problemas con tablas MERGE ......................................................................................... 652 14.3. El motor de almacenamiento MEMORY (HEAP) .............................................................................. 653 14.4. El motor de almacenamiento BDB (BerkeleyDB) ......................................................................... 654 14.4.1. Sistemas operativos que soporta BDB ............................................................................... 655 14.4.2. Instalacin de BDB ..................................................................................................... 655 14.4.3. Opciones de arranque de BDB ........................................................................................ 656 14.4.4. Caractersticas de las tablas BDB ..................................................................................... 657 14.4.5. Temas pendientes de arreglo para BDB ............................................................................. 658 14.4.6. Limitaciones en las tablas BDB ....................................................................................... 658 14.4.7. Errores que pueden darse en el uso de tablas BDB ................................................................ 659 14.5. El motor de almacenamiento EXAMPLE ...................................................................................... 659 14.6. El motor de almacenamiento FEDERATED .................................................................................. 659 14.6.1. Instalacin del motor de almacenamiento FEDERATED ......................................................... 659 14.6.2. Descripcin del motor de almacenamiento FEDERATED ........................................................ 660 14.6.3. Cmo usar las tablas FEDERATED .................................................................................. 660 14.6.4. Limitaciones del motor de almacenamiento FEDERATED ....................................................... 661 14.7. El motor de almacenamiento ARCHIVE ...................................................................................... 661 14.8. El motor de almacenamiento CSV ............................................................................................. 662 15. El motor de almacenamiento InnoDB .................................................................................................. 663 15.1. Panormica de InnoDB ......................................................................................................... 663 15.2. Informacin de contacto de InnoDB .......................................................................................... 663 15.3. Configuracin de InnoDB ...................................................................................................... 663 15.4. Opciones de arranque de InnoDB ............................................................................................. 667 15.5. Crear el espacio de tablas InnoDB ............................................................................................ 672 15.5.1. Resolucin de problemas en la inicializacin de InnoDB ....................................................... 673 15.6. Crear tablas InnoDB ............................................................................................................ 673 15.6.1. Cmo utilizar transacciones en InnoDB con distintas APIs ..................................................... 673 15.6.2. Pasar tablas MyISAM a InnoDB .................................................................................... 674 15.6.3. Cmo funciona una columna AUTO_INCREMENT en InnoDB ................................................ 674 15.6.4. Restricciones (constraints) FOREIGN KEY ....................................................................... 675 15.6.5. InnoDB y replicacin MySQL ...................................................................................... 678 15.6.6. Usar un espacio de tablas para cada tabla ........................................................................... 679 x

MySQL 5.0 Reference Manual

15.7. Aadir y suprimir registros y ficheros de datos InnoDB ................................................................... 680 15.8. Hacer una copia de seguridad y recuperar una base de datos InnoDB ................................................... 681 15.8.1. Forzar una recuperacin ............................................................................................... 682 15.8.2. Marcadores .............................................................................................................. 683 15.9. Trasladar una base de datos InnoDB a otra mquina ....................................................................... 684 15.10. Bloqueo y modelo de transacciones de InnoDB ........................................................................... 684 15.10.1. Modos de bloqueo InnoDB ........................................................................................ 684 15.10.2. InnoDB y AUTOCOMMIT .......................................................................................... 685 15.10.3. InnoDB y TRANSACTION ISOLATION LEVEL ............................................................ 685 15.10.4. Lecturas consistentes que no bloquean ............................................................................ 686 15.10.5. Bloquear lecturas SELECT ... FOR UPDATE y SELECT ... LOCK IN SHARE MODE ....... 687 15.10.6. Bloqueo de la prxima clave (Next-Key Locking): evitar el problema fantasma ........................... 687 15.10.7. Un ejemplo de lectura consistente en InnoDB .................................................................. 688 15.10.8. Establecimiento de bloqueos con diferentes sentencias SQL en InnoDB ................................... 689 15.10.9. Cundo ejecuta o deshace implicitamente MySQL una transaccin? ........................................ 690 15.10.10. Deteccin de interbloqueos (deadlocks) y cancelacin de transacciones (rollbacks) ...................... 690 15.10.11. Cmo tratar con interbloqueos .................................................................................... 690 15.11. Consejos de afinamiento del rendimiento de InnoDB .................................................................... 691 15.11.1. SHOW INNODB STATUS y los monitores InnoDB ........................................................... 692 15.12. Implementacin de multiversin .............................................................................................. 696 15.13. Estructuras de tabla y de ndice ............................................................................................... 696 15.13.1. Estructura fsica de un ndice ....................................................................................... 697 15.13.2. Bfer de inserciones .................................................................................................. 697 15.13.3. Indices hash adaptables .............................................................................................. 697 15.13.4. Estructura fsica de los registros .................................................................................... 698 15.14. Gestin de espacio de ficheros y de E/S de disco (Disk I/O) ............................................................. 698 15.14.1. E/S de disco (Disk I/O) .............................................................................................. 698 15.14.2. Usar dispositivos en bruto (raw devices) para espacios de tablas .............................................. 698 15.14.3. Gestin del espacio de ficheros ..................................................................................... 699 15.14.4. Desfragmentar una tabla ............................................................................................. 700 15.15. Tratamiento de errores de InnoDB ........................................................................................... 700 15.15.1. Cdigos de error de InnoDB ....................................................................................... 700 15.15.2. Cdigos de error del sistema operativo ............................................................................ 701 15.16. Restricciones de las tablas InnoDB ......................................................................................... 705 15.17. Resolver problemas relacionados con InnoDB ............................................................................ 707 15.17.1. Resolver problemas de las operaciones del diccionario de datos de InnoDB ............................... 707 16. MySQL Cluster ............................................................................................................................. 709 16.1. Panormica de MySQL Cluster ................................................................................................ 709 16.2. Conceptos bsicos de Basic MySQL Cluster ................................................................................. 711 16.3. Cmo configurar varios ordenadores .......................................................................................... 712 16.3.1. Hardware, software y redes ........................................................................................... 714 16.3.2. Instalacin ............................................................................................................... 714 16.3.3. Configuracin .......................................................................................................... 716 16.3.4. Arranque inicial ........................................................................................................ 717 16.3.5. Cargar datos de ejemplo y realizar consultas ....................................................................... 718 16.3.6. Apagado y encendido seguros ........................................................................................ 720 16.4. Configuracin de MySQL Cluster ............................................................................................. 721 16.4.1. Generar MySQL Cluster desde el cdigo fuente .................................................................. 721 16.4.2. Instalar el software ..................................................................................................... 721 16.4.3. Rpido montaje de prueba de MySQL Cluster ..................................................................... 721 16.4.4. Fichero de configuracin .............................................................................................. 723 16.5. Gestin de procesos en MySQL Cluster ...................................................................................... 744 16.5.1. El uso del proceso del servidor MySQL para MySQL Cluster .................................................. 744 16.5.2. ndbd, el proceso del nodo de motor de almacenamiento ........................................................ 745 16.5.3. El proceso del servidor de administracin ndb_mgmd ........................................................... 746 16.5.4. El proceso de cliente de administracin ndb_mgm ............................................................... 746 16.5.5. Opciones de comando para procesos de MySQL Cluster ........................................................ 746 16.6. Administracin de MySQL Cluster ............................................................................................ 749 16.6.1. Comandos del cliente de administracin ............................................................................ 749 16.6.2. Informes de eventos generados por MySQL Cluster .............................................................. 750 16.6.3. Modo de usuario nico ................................................................................................ 754 16.6.4. Copias de seguridad On-line para MySQL Cluster ................................................................ 755 16.7. Usar interconexiones de alta velocidad con MySQL Cluster .............................................................. 757 16.7.1. Configurar MySQL Cluster para que utilice Sockets SCI ........................................................ 757 16.7.2. Entender el impacto de interconexiones de nodos ................................................................. 760 xi

MySQL 5.0 Reference Manual

16.8. Limitaciones conocidas de MySQL Cluster .................................................................................. 762 16.9. Mapa de desarrollo de MySQL Cluster ....................................................................................... 764 16.9.1. Cambios de MySQL Cluster en MySQL 5.0 ....................................................................... 764 16.9.2. Mapa de desarrollo de MySQL 5.1 para MySQL Cluster ........................................................ 764 16.10. Preguntas frecuentes sobre MySQL Cluster ................................................................................ 765 16.11. Glosario de MySQL Cluster ................................................................................................... 770 17. Introduccin a MaxDB .................................................................................................................... 774 17.1. Historia de MaxDB .............................................................................................................. 774 17.2. Licenciamiento y soporte ........................................................................................................ 774 17.3. Enlaces relacionados con MaxDB ............................................................................................. 774 17.4. Conceptos bsicos de MaxDB .................................................................................................. 774 17.5. Diferencias de prestaciones entre MaxDB y MySQL ....................................................................... 774 17.6. Caractersticas de interoperabilidad entre MaxDB y MySQL .............................................................. 775 17.7. Palabras reservadas de MaxDB ................................................................................................ 775 18. Extensiones espaciales de MySQL ....................................................................................................... 778 18.1. Introduccin ....................................................................................................................... 778 18.2. El modelo geomtrico OpenGIS ............................................................................................... 778 18.2.1. La jerarqua de las clases geomtricas .............................................................................. 779 18.2.2. La clase Geometry ................................................................................................... 780 18.2.3. La clase Point ........................................................................................................ 780 18.2.4. La clase Curve ........................................................................................................ 781 18.2.5. La clase LineString ............................................................................................... 781 18.2.6. La clase Surface .................................................................................................... 781 18.2.7. La clase Polygon .................................................................................................... 782 18.2.8. La clase GeometryCollection ................................................................................. 782 18.2.9. La clase MultiPoint ............................................................................................... 782 18.2.10. La clase MultiCurve .............................................................................................. 783 18.2.11. La clase MultiLineString ..................................................................................... 783 18.2.12. La clase MultiSurface .......................................................................................... 783 18.2.13. La clase MultiPolygon .......................................................................................... 783 18.3. Formatos de datos espaciales soportados ..................................................................................... 784 18.3.1. Formato Well-Known Text (WKT) ................................................................................. 784 18.3.2. Formato Well-Known Binary (WKB) ............................................................................... 785 18.4. Crear una base de datos MySQL con capacidades espaciales .............................................................. 785 18.4.1. Tipos de datos espaciales de MySQL ............................................................................... 786 18.4.2. Crear valores espaciales ............................................................................................... 786 18.4.3. Crear columnas espaciales ............................................................................................ 789 18.4.4. Poblar columnas espaciales ........................................................................................... 790 18.4.5. Extraer datos espaciales ............................................................................................... 791 18.5. Analizar informacin espacial .................................................................................................. 791 18.5.1. Funciones de conversin de formato geomtrico .................................................................. 791 18.5.2. Funciones Geometry ................................................................................................ 792 18.5.3. Funciones que crean nuevas geometras a partir de unas existentes ............................................ 798 18.5.4. Funciones para probar relaciones espaciales entre objetos geomtricos ........................................ 799 18.5.5. Relaciones entre rectngulos MBR (Minimal Bounding Rectangles) .......................................... 799 18.5.6. Funciones que prueban relaciones espaciales entre geometras ................................................. 800 18.6. Optimizacin del anlisis espacial ............................................................................................. 801 18.6.1. Crear ndices espaciales ............................................................................................... 802 18.6.2. Usar un ndice espacial ................................................................................................ 802 18.7. Conformidad y compatibilidad de MySQL ................................................................................... 804 18.7.1. Caractersticas GIS que todava no han sido implementadas .................................................... 804 19. Procedimientos almacenados y funciones ............................................................................................... 805 19.1. Procedimientos almacenados y las tablas de permisos ...................................................................... 805 19.2. Sintaxis de procedimientos almacenados ..................................................................................... 805 19.2.1. CREATE PROCEDURE y CREATE FUNCTION ................................................................. 806 19.2.2. ALTER PROCEDURE y ALTER FUNCTION ..................................................................... 808 19.2.3. DROP PROCEDURE y DROP FUNCTION ........................................................................ 808 19.2.4. SHOW CREATE PROCEDURE y SHOW CREATE FUNCTION ............................................... 808 19.2.5. SHOW PROCEDURE STATUS y SHOW FUNCTION STATUS ............................................... 809 19.2.6. La sentencia CALL ..................................................................................................... 809 19.2.7. Sentencia compuesta BEGIN ... END .......................................................................... 809 19.2.8. Sentencia DECLARE ................................................................................................... 809 19.2.9. Variables en procedimientos almacenados ......................................................................... 810 19.2.10. Conditions and Handlers ............................................................................................ 810 19.2.11. Cursores ................................................................................................................ 811 xii

MySQL 5.0 Reference Manual

19.2.12. Constructores de control de flujo ................................................................................... 812 19.3. Registro binario de procedimientos almacenados y disparadores ......................................................... 814 20. Disparadores (triggers) ..................................................................................................................... 818 20.1. Sintaxis de CREATE TRIGGER ............................................................................................... 818 20.2. Sintaxis de DROP TRIGGER .................................................................................................. 820 20.3. Utilizacin de disparadores ..................................................................................................... 820 21. Vistas (Views) .............................................................................................................................. 823 21.1. Sintaxis de ALTER VIEW ...................................................................................................... 823 21.2. Sintaxis de CREATE VIEW .................................................................................................... 823 21.3. Sintaxis de DROP VIEW ........................................................................................................ 827 21.4. Sintaxis de SHOW CREATE VIEW ........................................................................................... 828 22. La base de datos de informacin INFORMATION_SCHEMA ........................................................................ 829 22.1. Las tablas INFORMATION_SCHEMA ......................................................................................... 830 22.1.1. La tabla INFORMATION_SCHEMA SCHEMATA ................................................................. 830 22.1.2. La tabla INFORMATION_SCHEMA TABLES .................................................................... 831 22.1.3. La tabla INFORMATION_SCHEMA COLUMNS .................................................................. 832 22.1.4. La tabla INFORMATION_SCHEMA STATISTICS ............................................................. 833 22.1.5. La tabla INFORMATION_SCHEMA USER_PRIVILEGES .................................................... 833 22.1.6. La tabla INFORMATION_SCHEMA SCHEMA_PRIVILEGES ................................................ 834 22.1.7. La tabla INFORMATION_SCHEMA TABLE_PRIVILEGES .................................................. 834 22.1.8. La tabla INFORMATION_SCHEMA COLUMN_PRIVILEGES ................................................ 834 22.1.9. La tabla INFORMATION_SCHEMA CHARACTER_SETS ...................................................... 835 22.1.10. La tabla INFORMATION_SCHEMA COLLATIONS ............................................................ 835 22.1.11. La tabla INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY ........... 836 22.1.12. La tabla INFORMATION_SCHEMA TABLE_CONSTRAINTS ............................................... 836 22.1.13. La tabla INFORMATION_SCHEMA KEY_COLUMN_USAGE ................................................. 836 22.1.14. La tabla INFORMATION_SCHEMA ROUTINES ............................................................... 837 22.1.15. La tabla INFORMATION_SCHEMA VIEWS ..................................................................... 838 22.1.16. La tabla INFORMATION_SCHEMA TRIGGERS ............................................................... 839 22.1.17. Otras tablas INFORMATION_SCHEMA ........................................................................... 840 22.2. Extensiones a las sentencias SHOW ............................................................................................ 840 23. Matemticas de precisin .................................................................................................................. 842 23.1. Tipos de valores numricos ..................................................................................................... 842 23.2. Cambios en el tipo de datos DECIMAL ....................................................................................... 843 23.3. Manejo de expresiones .......................................................................................................... 844 23.4. Cmo se redondea ................................................................................................................ 845 23.5. Ejemplos de matemticas de precisin ........................................................................................ 846 24. APIs de MySQL ............................................................................................................................ 850 24.1. Utilidades para el desarrollo de programas MySQL ......................................................................... 850 24.1.1. msql2mysql ......................................................................................................... 850 24.1.2. mysql_config ........................................................................................................ 850 24.2. La API C de MySQL ............................................................................................................ 851 24.2.1. Tipos de datos de la API C ........................................................................................... 852 24.2.2. Panormica de funciones de la API C ............................................................................... 854 24.2.3. Descripcin de funciones de la API C .............................................................................. 857 24.2.4. Sentencias preparadas de la API C .................................................................................. 894 24.2.5. Tipos de datos de sentencias preparadas de la API C ............................................................. 894 24.2.6. Panormica de las funciones de sentencias preparadas de la API C ............................................ 897 24.2.7. Descripciones de funciones de sentencias preparadas de la API C .............................................. 899 24.2.8. Problemas con sentencias preparadas de la API C ................................................................ 918 24.2.9. Tratamiento por parte de la API C de la ejecucin de mltiples consultas ..................................... 918 24.2.10. Manejo de valores de fecha y hora por parte de la API C ....................................................... 918 24.2.11. Descripcin de funciones de la API C para el control de subprocesos ........................................ 919 24.2.12. Descripcin de las funciones de la API C del servidor incrustado (embedded) .............................. 920 24.2.13. Preguntas y problemas comunes en el uso de la API C ......................................................... 921 24.2.14. Generar programas cliente .......................................................................................... 923 24.2.15. Cmo hacer un cliente multihilo ................................................................................... 923 24.2.16. libmysqld, la biblioteca del servidor MySQL incrustado (embedded) ........................................ 924 24.3. API PHP de MySQL ............................................................................................................. 929 24.3.1. Problemas comunes con MySQL y PHP ............................................................................ 929 24.4. La API Perl de MySQL .......................................................................................................... 929 24.5. API C++ de MySQL ............................................................................................................. 930 24.5.1. Borland C++ ............................................................................................................ 930 24.6. La API Python de MySQL ...................................................................................................... 930 24.7. La API Tcl de MySQL .......................................................................................................... 930 xiii

MySQL 5.0 Reference Manual

24.8. El visor de MySQL Eiffel ....................................................................................................... 930 25. Conectores ................................................................................................................................... 931 25.1. MySQL Connector/ODBC ...................................................................................................... 931 25.1.1. Introduction to Connector/ODBC ................................................................................... 931 25.1.2. Connector/ODBC Installation ........................................................................................ 935 25.1.3. Connector/ODBC Configuration ..................................................................................... 954 25.1.4. Connector/ODBC Examples .......................................................................................... 970 25.1.5. Connector/ODBC Reference ......................................................................................... 991 25.1.6. Connector/ODBC Notes and Tips ................................................................................... 996 25.1.7. Connector/ODBC Support ........................................................................................... 1004 25.2. MySQL Connector/NET ....................................................................................................... 1005 25.2.1. Connector/NET Versions ............................................................................................ 1006 25.2.2. Connector/NET Installation ......................................................................................... 1006 25.2.3. Connector/NET Examples ........................................................................................... 1012 25.2.4. Connector/NET Reference ........................................................................................... 1053 25.2.5. Connector/NET Notes and Tips ..................................................................................... 1154 25.2.6. Connector/NET Support ............................................................................................. 1169 25.3. MySQL Visual Studio Plugin ................................................................................................. 1170 25.3.1. Installing the MySQL Visual Studio Plugin ....................................................................... 1170 25.3.2. Creating a connection to the MySQL server ...................................................................... 1171 25.3.3. Using the MySQL Visual Studio Plugin ........................................................................... 1173 25.3.4. Visual Studio Plugin Support ....................................................................................... 1179 25.4. MySQL Connector/J ............................................................................................................ 1179 25.4.1. Connector/J Versions ................................................................................................. 1179 25.4.2. Connector/J Installation .............................................................................................. 1180 25.4.3. Connector/J Examples ................................................................................................ 1184 25.4.4. Connector/J (JDBC) Reference ......................