[Jimmy Criptoy]Anaya.multimedia.la.Biblia.de.Mysql

841

Transcript of [Jimmy Criptoy]Anaya.multimedia.la.Biblia.de.Mysql

lndice

Introduccidn

..........................................................................................................

Razones para comprar este libro ............................................................................ i Q u l queda fuera del alcance de este libro? ........................................................ iQue necesita? ........................................................................................................ iC6m0 utilizar este libro? .......................................................................................

...................................................................................... 1. Guia rapida de MySQL ...................................................................................Comprension de 10s fundamentos de MySQL ....................................................... ~ Q u C una base de datos? .............................................................................. es Terminologia sobre bases de datos ................................................................... Conexion a una base de datos ................................................................................ Creacion y uso de nuestra primera base de datos ................................................ Caso en el que acabemos de instalar MySQL ................................................. Si un administrador necesita concederle permiso ............................................ Uso de la base de datos ..................................................................................... Creacion de una tabla ........................................................................................ Listado de las tablas de una base de datos con SHOW TABLES ........... Analisis de la estructura de las tablas con DESCRIBE ............................ Insercion de nuevos registros en una tabla ...................................................... Insercion de datos dentro de una instruccion INSERT .............................. Insercion de grandes cantidades de datos desde un archivo de texto con LOAD DATA ..............................................................................

Parte I. Uso de MySQL

Recuperacion de informacion de una tabla ...................................................... Orden en el que MySQL procesa las condiciones ..................................... Correspondencia de patrones ....................................................................... Ordenacion .................................................................................................... Limitacion del numero de resultados ........................................................... Devolucion del valor maximo con MAX() .................................................. Recuperacion de registros distintos ............................................................. Como contar .................................................................................................. Como recuperar la media. el minimo y el total con AVG( ). MIN( ) y SUM( ) ............................................................................................. Realizacion de calculos en una consulta ..................................................... Eliminacion de registros ..................................................................................... Como cambiar 10s registros de una tabla ......................................................... Eliminacion de tablas y bases de datos ............................................................ Como modificar la estructura de la tabla ......................................................... Como agregar una columna ......................................................................... Modificacion de una definicion de columna ................................................ Como cambiar el nombre de una columna .................................................. . . Como el~minar columna ......................................................................... una Uso de las funciones de fecha .......................................................................... Como especificar el formato de fecha ........................................................ Recuperacion de la fecha y la hora actual ................................................. Creacion de consultas mas avanzadas ............................................................. Como aplicar un nuevo encabezado a una columna con AS ..................... Combinacion de columnas con CONCAT ................................................... Como buscar el dia del aiio .......................................................................... Como trabajar con varias tablas .................................................................. Combinacion de dos o mas tablas ................................................................ Realizacion de calculos con fechas .................................................................. Agrupacion de una consulta .............................................................................. Resumen ...................................................................................................................2. Tipos de datos y tipos de tabla ..................................................................... Analisis de 10s distintos tipos de columna .............................................................. Tipos de columna numericos ............................................................................. Tipos de columnas de cadena ............................................................................ Tipos de columna de fecha y hora .................................................................... Opciones de My SQL ............................................................................................... Analisis de 10s distintos tipos de tablas .................................................................. Tablas ISAM ....................................................................................................... Tablas MyISAM ................................................................................................. Tablas estaticas ............................................................................................. Tablas dinamicas ........................................................................................... . . Tablas comprlm~das .......................................................................................

Tablas MERGE ................................................................................................... 109 Tablas HEAP ...................................................................................................... 113 Tablas InnoDB .............................................................................................. 115 Tablas DBD ........................................................................................................ 116 ................................................................................................................... 117 Resumen 3. SQL Avanzado ................................................................................................... 119 Operadores .............................................................................................................. 120 Operadores logicos ............................................................................................. 120 Operadores aritmeticos ...................................................................................... 121 Operadores de comparacion ........................................................................123 Como usar LIKE en equivalencias de patron de SQL ............................... 127 Expresiones regulares ................................................................................... 128 Operadores bit a bit ........................................................................................... 133 Combinaciones avanzadas ...................................................................................... 138 . . Combinaciones internas ............................................................................... 140 Combinaciones por la izquierda (o combinaciones externas por la izquierda) .... 140 Combinaciones por la derecha (o combinaciones externas por la derecha) .... 143 Combinaciones externas completas ............................................................... 143 Combinaciones naturales y la palabra clave USING ...................................... 144 Recuperacion de 10s datos encontrados en una tabla per0 no en la otra ....... 146 Combinacion de resultados con UNION ........................................................ 147 Subselecciones .................................................................................................... 149 Como escribir subselecciones como combinaciones ....................................... 149 Como agregar registros a una tabla desde otras tablas con INSERT SELECT ... 151 Mas sobre la agregacion de registros ....................................................................152 Mas sobre como eliminar registros (DELETE y TRUNCATE).......................... 153 Variable de usuario .................................................................................................. 153 Ejecucion de instrucciones SQL almacenadas en archivos ................................. 157 Redireccionamiento de la salida hacia un archivo ........................................... 159 Como usar 10s archivos desde la linea de comandos MySQL ................... 160 Transacciones y bloqueos ....................................................................................... 160 Las transacciones en las tablas InnoDB .......................................................... 161 Lecturas coherentes ........................................................................................... 163 Lectura de bloqueos para actualizaciones ...................................................... 164 Bloqueos de lectura en mod0 compartido ..................................................... 167 Confirmaciones automaticas ............................................................................. 168 Transacciones en tablas DBD ..................................................................... 171 Otros comportamientos transaccionales .......................................................... 173 Bloqueo de tablas ......................................................................................... 175 Como evitar 10s bloqueos de tabla .................................................................... 181 Niveles de transaccion ................................................................................. 181 Resumen ................................................................................................................... 182

4. indices y optimization de consultas ............................................................ 185r

.

Comprension de 10s indices .................................................................................... Creacion de un indice .............................................................................................. Creacion de una clave primaria ........................................................................ Creacion de un indice primario ......................................................................... Creacion de un indice de texto completo ......................................................... Uso de 10s indices de texto completo .......................................................... Palabras ruido ................................................................................................ Relevancia ..................................................................................................... Busquedas booleanas de texto completo ..................................................... Creacion de un indice unico .............................................................................. Creacion de indices sobre una parte de un campo .......................................... Como utilizar un campo de increment0 automatico .............................................. Creacion de un campo de increment0 automatico ........................................... Insertion de registros que contienen un campo de increment0 automatico ..... Como recuperar y reiniciar el valor de increment0 automatico ..................... Mas alla de 10s limites ........................................................................................ Problemas con LAST-INSERT-ID() .............................................................. indices de varias columnas y carnpos de increment0 automatico .................. Eliminacion o modificacion de un indice ................................................................ Tipos de tabla e indices ........................................................................................... Uso eficaz de 10s indices ........................................................................................ .. . . Donde utilizar 10s indices ................................................................................... Selection de indices ........................................................................................... Uso del sistema de prefijacion mas a la izquierda ........................................... Como utiliza MySQL 10s indices con EXPLAIN .................................................. Realizacion de calculos en una consulta .......................................................... Uso de EXPLAIN con el sistema de preqos a la izquierda .......................... Optimizacion de las selecciones ............................................................................. Como ayudar a1 optimizador de MySQL con ANALYZE ............................... Optimizacion de las instrucciones SELECT y seguridad ................................ Evaluacion del rendimiento de las funciones .................................................... Optimizacion de actualizaciones, eliminaciones e inserciones ............................. Resumen ...................................................................................................................

186 187 187 190 191 192 193 194 195 201 202 202 203 204 205 209 209 211 213 214 215 215 218 218 220 225 227 229 234 236 237 238 240

5. Programaci6n con MySQL

............................................................................ 2 4 3244 245 245 246 249 251 255

Uso de buenas tecnicas de programacion de bases de datos .............................. Uso de conexiones permanentes ...................................................................... Como lograr codigo portable y sencillo de mantener ...................................... La conexion ................................................................................................... Consultas de base de datos .......................................................................... ~Cuinto trabajo deberia realizar el servidor de la base de datos? ................. Las fases del desarrollo de aplicaciones ...............................................................

Fase 1: analisis de las necesidades ................................................................... Determination de las necesidades del usuario ........................................... Deterrninacion de tecnologia necesaria ....................................................... Fase 2: Diseiio de la aplicacion ......................................................................... Modelado ....................................................................................................... Uso de pseudocodigo .................................................................................... Codificacion ........................................................................................................ Fase 4: fase de pruebas e implernentacion .................................................... Resumen ...................................................................................................................

255 256 256 257 257 257 257 260 260

6. Como ampliar las funciones de MySQL ..................................................... 2 6 3 Funciones definidas por el usuario ......................................................................... 264 Funciones UDF estandar ................................................................................... 268 La funcion init ................................................................................................ 268 La funcion principal ...................................................................................... 270 La funcion deinit ........................................................................................... 272 Creacion de una UDF estandar de ejemplo ..................................................... 272 Analisis de las funciones agregadas ................................................................. 274 Creacion de una UDF agregada de ejemplo .................................................. 275 Resolucion de problemas de UDF ......................................................................... 278 Resumen ................................................................................................................... 278 Parte I1 Diseiio de una base de datos ............................................................ 281 7. Comprensi6n de las bases de datos relacionales .................................... 2 8 3 Analisis de 10s modelos anteriores a las base de datos ........................................ Modelo jerarquico de base de datos ................................................................. Modelo de base de datos en red ....................................................................... Modelo de base de datos relacional ....................................................................... Terminos basicos ................................................................................................ Claves de tabla ................................................................................................... Claves externas .................................................................................................. Introduccion a las vistas .................................................................................... Resumen ...................................................................................................................I

.

. 8. Normalizac~onde bases de datos ...............................................................2 9 7Concepto de normalizacion ..................................................................................... Primera forma normal ........................................................................................ Segunda forma normal ....................................................................................... Tercera forma normal ........................................................................................ Forma normal de Boyce-Codd .......................................................................... Cuarta forma normal .......................................................................................... Quinta forma normal y otras formas ................................................................ Concepto de desnormalizacion ............................................................................... Resumen ...................................................................................................................

284 284 286 286 287 290 290 292 295

9 Diseiio de bases de datos

.

..............................................................................3 2 1

Ciclo de vida de las bases de datos ....................................................................... 322 Fase 1: Analisis ................................................................................................... 323 .................................................................................................... 324 Fase 2: Diseiio Diseiio conceptual ......................................................................................... 325 Diseiio logic0 y fisico.................................................................................... 329 Fase 3: Implementacion ...............................................................................333 Fase 4: Pruebas .............................................................................................. 333 Fase 5: Puesta en marcha ................................................................................. 334 Fase 6: Mantenimiento ....................................................................................... 335 Un ejemplo del mundo real: un sistema de seguimiento de publicaciones .......... 336 Fase 1 de la base de datos de Poet's Circle: Analisis ..................................... 336 Fase 2 de la base de datos de Poet's Circle: Diseiio ....................................... 337 Fase 2 de la base de datos Poet's Circle: Implementacion ............................. 341 Fase 4 a 6 de la base de datos Poet's Circle: Prueba. puesta en marcha . . y rnantenlrnlento ....................................................................................... 342 Control de simultaneidad mediante transacciones ............................................... 343 343 Atomicidad .......................................................................................................... Coherencia .......................................................................................................... 343 Aislamiento ......................................................................................................... 344 Durabilidad ................................................................................................... 344 Resumen ................................................................................................................... 344 Parte I11. Administracibn de MySQL ..............................................................347 10 Administracibn baisica ..................................................................................349

.

Uso de MySQL como administrador ...................................................................... 350 Como iniciar y cerrar MySQL ............................................................................ 352 Como iniciar y cerrar MySQL en Unix ............................................................ 352 Como iniciar MySQL automaticamente a1 arrancar el sistema ................. 354 Como evitar problemas comunes a1 iniciar MySQL en Unix ..................... 355 Como iniciar y cerrar MySQL en Windows ..................................................... 355 Como iniciar MySQL automaticamente .................................................... 356 Como evitar problemas comunes a1 iniciar MySQL en Windows ............. 358 Configuration de MySQL ....................................................................................... 359 Registro .................................................................................................................... 363 El archivo de errores .......................................................................................... 363 El registro de consultas ...................................................................................364 El registro de actualization binario ................................................................ 365 El registro de consultas lentas ......................................................................... 368 Rotacion de registros .................................................................................. 369 Optimization, analisis, comprobacion y reparacion de tablas .............................. 372 Optimization de tablas ....................................................................................373 Optimization de tablas con la instruccion OPTIMIZE .............................. 373

Optimizacion de tablas con mysqlcheck ..................................................... Optimizacion de tablas con myisamchk ....................................................... Analisis de tablas ................................................................................................ Analisis de tablas con ANALYZE TABLE ................................................ Analisis de las tablas con mysqlcheck ......................................................... Analisis de tablas con myisamchk ............................................................... Comprobacion de tablas ..................................................................................... Comprobacion de las tablas con CHECK TABLES .................................. Comprobacion de tablas con mysqlcheck ................................................... Comprobacion de tablas con myisamchk .................................................... Reparacion de tablas .......................................................................................... Reparacion tablas de tipo diferente a MyISAM ........................................ Reparacion de tablas con REPAIR TABLE ............................................... Reparacion de las tablas con mysqlcheck ................................................... Reparacion de tablas con myisamchk ......................................................... Como usar mysqlcheck ................................................................................. Uso de myisamchk ........................................................................................ Resumen ...................................................................................................................

374 374 375 376 377 377 378 379 380 381 383 384 384 386 386 388 391 396

11. Copias de seguridad de bases de datos ................................................... 399 Volcados de seguridad de tablas MylSAM con BACKUP ................................. Uso de BACKUP en Unix .............................................................................. Uso de BACKUP con Windows ....................................................................... Restauracion de tablas MyISAM con RESTORE ............................................... Volcados de seguridad de tablas de MyISAM mediante la copia de archivos directamente .............................................................................................. Realizacion de volcados con mysqldump ............................................................... Restauracion de una base de datos volcada con mysqldump ......................... Copias de seguridad con SELECT INTO ............................................................. Restauracion de una tabla con LOAD DATA ................................................. ~QuC ocurriria si algo sale mal? .................................................................. Uso de LOAD DATA con opciones ............................................................ Aspectos de seguridad relacionados con LOAD DATA LOCAL ............ Uso de mysqlimport en lugar de LOAD DATA .............................................. Uso de mysqlhotcopy para realizar copias de seguridad ..................................... Uso del registro de actualizacion binario para restablecer la base de datos . . a su posicion mas reciente ........................................................................... Copia de seguridad y restauracion de tablas InnoDB .......................................... Duplicacion como medio de realizar copias de seguridad .................................... Resumen ................................................................................................................... 400 400 403 404 406 409 411 416 419 420 421 426 426 429 431 436 438 439

12. Duplicaci6n de base de datos ..................................................................... 441 Que es la duplicacion .............................................................................................. 441

Configuracion de duplication .................................................................................. 443 . . . Opciones de duplication .................................................................................... 444 . . . Comandos de duplicaclon .................................................................................. 448 Dificultades de la duplicacion ............................................................................ 450 Duplicacion de una base de datos .......................................................................... 450 457 Duplicacion con un registro binario activo en el principal ................................... Eliminacion de registros binarios antiguos del servidor principal e inicio de la operacion .............................................................................................. 459 Como evitar un exceso de actualizaciones ............................................................ 462 Como evitar errores clave ................................................................................... 464 Resumen ................................................................................................................... 46713. Configuration y optirnizacion de MySQL

.

.

................................................ 471

Optimizacion de las variables msyqld .................................................................... 472 Optirnizacion de table-cache ............................................................................ 477 Optirnizacion de key-buffer-size ...................................................................... 478 479 Control de un elevado numero de conexiones ................................................. Optirnizacion de las variables delayed-queue- size y back-log .................... 484 Optirnizacion de la variable sort-buffer ........................................................... 484 Configuration de tablas InnoDB ....................................................................... 485 Presentacion de las opciones rnysqld ............................................................... 485 Descripcion de las variables rnysqld ................................................................. 491 Analisis de todas las variables de estado .................................................... 503 Cambio de valores de variables con el servidor en funcionamiento ................... 508 Mejoras en el hardware para acelerar el servidor ............................................... 511 Memoria ..............................................................................................................511 Discos .................................................................................................................. 512 CPU ..................................................................................................................... 512 . . . Uso de anallsls comparativos ................................................................................. 512 527 Ejecucion de MySQL en mod0 ANSI .................................................................... 528 Uso de distintos lenguajes en MySQL ................................................................... Como mostrar mensajes de error en otro idioma ............................................. 528 Utilizacion de un conjunto de caracteres diferente ......................................... 529 Como aiiadir un conjunto de caracteres propio ............................................... 529 Resumen ................................................................................................................. 53314. Seguridad de bases de datos

......................................................................535

Seguridad a1 conectarse .......................................................................................... 536 .. Gestion de usuarios y permisos .............................................................................. 537 La base de datos mysql .................................................................................... 537 Campos de las tablas .................................................................................... 538 Como examina MySQL permisos para conceder el acceso ...................... 543 Como completar las tablas de permiso ........................................................ 544

Que hacer si no puede conectarse o no tiene permisos .................................. Que hacer si la tabla de usuarios se daiia ................................................... Otras opciones de GRANT ................................................................... Estrategia para gestionar usuarios de forma segura .................................. Como evitar la concesion de privilegios peligrosos ......................................... Conexiones SSL....................................................................................................... . . Seguridad de aplicaciones .................................................................................. Seguridad del sistema .............................................................................................. Problemas de seguridad relacionados con LOAD DATA LOCAL .................... Resumen ...................................................................................................................

564 565 567 570 571 572 574 575 575 576

15. Instalaci6n de MySQL ................................................................................. 5 7 9 Instalacion de una distribucion fuente o binaria .................................................... Instalacion de MySQL en Windows ...................................................................... Instalacion de una distribucion binaria en Windows ........................................ Instalacion de MySQL como servicio en Windows NT/2000/XP ............. Instalacion de MySQL en Unix ......................................................................... Instalacion de una distribucion binaria (tar) en Unix ....................................... Instalacion de una distribucion binaria (rpm) en Unix ..................................... Instalacion desde codigo fuente en Unix .................................................... Cornpilacion optima de MySQL ................................................................... Instalacion de varios servidores en el mismo equipo ............................................ Como evitar problemas de instalacion comunes ................................................... . . . Problemas al iniciar msyqld ............................................................................... Problemas de compilacion ................................................................................. Problemas de Windows ..................................................................................... Actualizacion de MySQL 3.s a MySQL 4 ............................................................. Resumen ................................................................................................................... 16. Multiples unidades 580 581 582 583 584 584 587 588 590 591 594 594 595 596 597 599 601 601 602 603 603 604 604 605 605 606 606 607 609 611

.......................................................................................

Significado de RAID ............................................................................................... RAID 0 ............................................................................................................... RAID 1 ............................................................................................................... RAID 2 y RAID 3 ............................................................................................. RAID 4 ............................................................................................................... RAID 5 ............................................................................................................... RAID 10 ............................................................................................................. RAID 0+1 ........................................................................................................... Otros tipos de RAID .......................................................................................... Uso de enlaces simbolicos ...................................................................................... Vinculacion simbolica de bases de datos .......................................................... Vinculacion simbolica de tablas ................................................................... Resumen ...................................................................................................................

A. Guia de referencia de la sintaxis de MySQL

........................................ 615616 617 617 617 617 618 618 621 621 621 622 622 622 623 623 625 626 626 626 627 628 628 628 629 629 629 629 630 630 632 635 635 635 636 636 636 636

ALTER ..................................................................................................................... ANALYZE TABLE ................................................................................................ BACKUP TABLE .................................................................................................. BEGIN ...................................................................................................................... CHECK TABLE ..................................................................................................... COMMIT ................................................................................................................. CREATE .................................................................................................................. DELETE .................................................................................................................. DESC ....................................................................................................................... DESCRIBE .............................................................................................................. DO ............................................................................................................................ DROP ....................................................................................................................... EXPLAIN ................................................................................................................ FLUSH ..................................................................................................................... GRANT .................................................................................................................... INSERT .................................................................................................................... JOIN ......................................................................................................................... KILL ......................................................................................................................... LOAD DATA INFILE ............................................................................................ LOCK TABLES ...................................................................................................... OPTIMIZE .............................................................................................................. RENAME ................................................................................................................ REPAIR TABLE ..................................................................................................... REPLACE ............................................................................................................... RESET ...................................................................................................................... RESTORE TABLE ................................................................................................. REVOKE ................................................................................................................. ROLLBACK ........................................................................................................... SELECT ................................................................................................................... SET ........................................................................................................................... SET TRANSACTION ............................................................................................ SHOW ............................................ ......................................................................... TRUNCATE ............................................................................................................ UNION .................................................................................................................... UNLOCK TABLES ................................................................................................ UPDATE .................................................................................................................. USE ..........................................................................................................................

B. Funciones y operadores de MySQL ........................................................... 639 Operadores logicos .................................................................................................. 639

AND. && ........................................................................................................... OR, I I .................................................................................................................. NOT, ! ................................................................................................................. Operadores aritmeticos ...........................................................................................

639 640 640 641

% .........................................................................................................................

Operadores de comparacion ...................................................................................- ...........................................................................................................................

!=, o ...................................................................................................................

642 642 643 643

..................................................................................................................... = 645 IS NULL ............................................................................................................. 646 646 BETWEEN ......................................................................................................... LIKE ................................................................................................................... 647 IN ......................................................................................................................... 647 REGEXP. RLIKE ............................................................................................... 647 Operadores de bits .................................................................................................. 650 & .......................................................................................................................... 650

>> ......................................................................................................................... Funciones de fecha y hora ...................................................................................... ADDDATE ......................................................................................................... CURDATE .......................................................................................................... CURRENT-DATE ............................................................................................ CURRENT-TIME ............................................................................................. CURRENT TIMESTAMP ............................................................................... . CURTIME .......................................................................................................... DATE ADD ....................................................................................................... . DATE FORMAT ............................................................................................... . DATE SUB ........................................................................................................ . DAYNAME ........................................................................................................ DAYOFMONTH ............................................................................................... DAYOFWEEK ................................................................................................... DAYOFYEAR ................................................................................................... EXTRACT .......................................................................................................... FROM -DAYS .................................................................................................... FROM-UNIXTIME ..........................................................................................

651 651 652 652 652 653 653 653 653 654 656 656 656 657 657 657 658 658

HOUR ................................................................................................................. MINUTE ........................................................................................................ MONTH .............................................................................................................. MONTHNAME ................................................................................................. NOW .............................................................................................................. PERIOD-ADD .................................................................................................. PERIOD-DIFF .................................................................................................. QUARTER .................................................................................................. SEC -TO-TIME ............................................................................................. SECOND ............................................................................................................ SUBDATE .................................................................................................... SYSDATE ..................:........................................................................................ TIME-FORMAT ................................................................................................ TIME-TO-SEC ................................................................................................. TO -DAYS ..................................................................................................... UNIXTIMESTAMP ........................................................................................ WEEK ................................................................................................................. WEEKDAY ................................................................................................... YEAR .................................................................................................................. YEARWEEK ...................................................................................................... Funciones de cadena ............................................................................................... ASCII .................................................................................................................. BIN ...................................................................................................................... BIT-LENGTH ................................................................................................... CHAR ................................................................................................................. CHAR-LENGTH .................................................................................................................................................................................. CONCAT ............................................................................................................ CONCAT-WS .................................................................................................... CONV ................................................................................................................. ELT ...................................................................................................................... EXPORT-SET ................................................................................................... FIELD ................................................................................................................. FIND -IN-SET ............................................................................................... HEX ..................................................................................................................... INSERT ............................................................................................................... INSTR ................................................................................................................. LCASE ................................................................................................................ LEFT ................................................................................................................. LENGTH ............................................................................................................ LOAD-FILE ...................................................................................................... LOCATE ...................................................................................................... LOWER ........................................................................................................

CARACTER-LENGTH

658 659 659 659 660 660 660 661 661 661 662 662 662 662 662 663 663 664 664 665 665 665 666 666 667 667 667 667 668 669 670 670 671 671 672 673 673 674 674 674 675 675 676

LPAD .................................................................................................................. LTRIM ................................................................................................................ MAKE SET ....................................................................................................... . OCT .................................................................................................................... OCTET-LENGTH ............................................................................................. ORD .................................................................................................................... POSITION .......................................................................................................... QUOTE ............................................................................................................ REPEAT ............................................................................................................. REPLACE ..................................................................................................... REVERSE .......................................................................................................... RIGHT ......................................................................................................... RPAD .................................................................................................................. RTRIM ............................................................ ........ ......................................... SOUNDEX ......................................................................................................... SPACE ................................................................................................................ SUBSTRING ...................................................................................................... SUBSTRING-INDEX ....................................................................................... TRIM ............................................................................................................ UCASE ............................................................................................................... UPPER ............................................................................................................... Funciones numericas ............................................................................................... ABS ..................................................................................................................... ACOS .................................................................................................................. ASIN .................................................................................................................. ATAN ................................................................................................................. ATAN2 ................................................................................................................ CEILING ............................................................................................................ COS ..................................................................................................................... COT ..................................................................................................................... DEGREES .......................................................................................................... EXP ..................................................................................................................... FLOOR ............................................................................................................... FORMAT ............................................................................................................ GREATEST ........................................................................................................ LEAST ............................................................................................................... LN ........................................................................................................................ LOG ..................................................................................................................... LOG10 ................................................................................................................. LOG2 ................................................................................................................... MOD ................................................................................................................... PI ......................................................................................................................... POW ...................................................................................................................

676 677 677 677 678 678 679 679 679 680 680 680 681 681 682 682 682 683 684 684 684 685 685 685 686 686 686 686 687 687 687 688 688 689 689 690 690 690 691 691 691 692 692

POWER .............................................................................................................. RADIANS .......................................................................................................... RAND ................................................................................................................. ROUND .............................................................................................................. SIGN ................................................................................................................... SIN ...................................................................................................................... SQRT ................................................................................................................... TAN ..................................................................................................................... TRUNCATE ....................................................................................................... Funciones agregadas ............................................................................................. AVG ..................................................................................................................... BIT -AND ........................................................................................................... BIT-OR .............................................................................................................. COUNT ............................................................................................................... MAX ................................................................................................................... MIN ..................................................................................................................... STD ..................................................................................................................... STDDEV ............................................................................................................ SUM .................................................................................................................... Otras funciones ........................................................................................................ AES-DECRYPT ................................................................................................ AES-ENCRYPT ................................................................................................ BENCHMARK .................................................................................................. CASE .................................................................................................................. CAST .................................................................................................................. CONNECTION-ID ........................................................................................... CONVERT ......................................................................................................... DATABASE ....................................................................................................... DECODE ..................................................................................................... DES -DECRYPT ................................................................................................ DES-ENCRYPT ................................................................................................ ENCODE ............................................................................................................ ENCRYPT .......................................................................................................... FOUND -ROWS ................................................................................................ GET-LOCK ....................................................................................................... IF ......................................................................................................................... IFNULL .............................................................................................................. INET-ATON ...................................................................................................... INET-NTOA ..................................................................................................... IS-FREE-LOCK ............................................................................................... LAST-INSERT-ID ........................................................................................... MASTER-POS-WAIT ..................................................................................... MD5 ....................................................................................................................

692 692 693 693 694 694 695 695 695 696 696 696 697 697 697 698 698 698 698 699 699 699 699 699 701 702 702 702 703 703 703 704 704 704 705 705 706 707 707 707 708 708 709

NULLIF ............................................................................................................ PASSWORD ...................................................................................................... RELEASE-LOCK ...................................................................................... SESSION-USER ............................................................................................... SHA ..................................................................................................................... SHA1 .................................................................................................................. SY STEM-USER ..... ........................................................................................... USER ................................................................................................................. VERSION ..... ................ ............ ........ . . . . . . . . . . . .......... . . . .

709 709 710 710 711 711 711 711 711

C. API PHP ............................................................................................................ 7 15Opciones de configuracion PHP ............ .................. ........... . . . . . . ........... Funciones MySQL PHP ......................................................................................... msyql-affected-rows .... ............................. ................ ................................ ..... msyql-change-user ....... ....... ............... ......... ... . ......... . ............ ........... . mysql-client -encoding ................................................ ............... ................ ..... msyql-close ...... ............ ............ ..... ..... . ................... ..................... . . . . . msyql-connect ............................................................. ............... ...................... msyql-create-db ........................................................................................... msyql -data -seek .......... ........ ..... .......... ..... . .. . . ........... ............ ....... . . msyql-db -name ................................................................................................ mysql-db-query ................................................................................................ msyql-drop-db .................. ................ . . . . . . ................. ............... . . . . . msyql-errno .... ............... .......... .. ......... . . . . . . . ......... . . ......... . . . . . . msyql-error ...... ................. .......... ..... . . . . ......... . . . . ........ ...... ............. msyql-escape-string ......................................................................................... mysql-fetch-array ............................................................................................. msyql -fetch -assoc ............................................................................................ mysql-fetch-field ............................................................................................... mysql-fetch-lengths .......................................................................................... mysql-fetch-object ........................................................................................... mysql-fetch-row ................................................................................................ mysql -field-flags ......................................................................................... msyql-field-len ................................................................................................. mysql-field -name ............................................................................................. mysql-field-seek ................................................................................................ mysql-field-table .......................................................................................... mysql-field -type ............................................................................................... mysql -free-result ....................................................................................... mysql-get-client-info .................. ............................... . ...... . . . ......... mysql -get-host-info .......................................................................... ............... mysql_getqroto-info ...... ........ .................. .................. . . . . ................. . mysqlxet -server -info ......................................................................................,

715 716 7 16 717 717 7 18 718 719 719 720 720 721 721 721 722 723 723 724 725 726 726 727 728 728 729 729 730 730 731 731 731 732

mysql info ........................................................................................................... 732 . mysql insert id ................................................................................................... 732 . . mysql list dbs .............................................................................................. 733 . . mysql list fields ................................................................................................. 733 . . mysql listqrocesses ......................................................................................... 734 . mysql-list-tables ................................................................................................ 735 mysql-num-fields ............................................................................................... 735 mysql-num-rows ................................................................................................ 735 mysqlqconnect .................................................................................................. 736 mysqlqing ..................................................................................................... 737 mysql-query ........................................................................................................ 737 mysql-real-escape-string ................................................................................. 738 mysql-result ........................................................................................................ 738 mysql-select -db ................................................................................................. 739 mysql-stat ........................................................................................................... 739 mysql -tablename ................................................................................................ 740 mysql-thread-id ................................................................................................. 740 mysql-unbuffered-query ................................................................................... 741

D. DBI Per1 ............................................................................................................ 7 4 3Metodos de la clase DBI ........................................................................................ 744 available-drivers .............................................................................................. 744 connect ................................................................................................................ 744 connect cached .................................................................................... .............. 745 . data sources ....................................................................................................... 746 . trace ..................................................................................................................... 746 Metodos DBI comunes a todos 10s identificadores .............................................. 746 err ........................................................................................................................ 747 errstr .................................................................................................................... 747 func ...................................................................................................................... 747 set err ................................................................................................................. . 747 state ..................................................................................................................... 748 trace ..................................................................................................................... 748 trace msg ........................................................................................................... 748 . Funciones de utilidad DBI ...................................................................................... 748 hash ..................................................................................................................... 748 looks like number ............................................................................................. 748 . . neat ...................................................................................................................... 749 neat list ............................................................................................................... 749 . Metodos de identificadores de base de datos ....................................................... 749 begin work ......................................................................................................... 749 . column info ......................................................................................................... 749 . commit ................................................................................................................. 749'

disconnect ........................................................................................................... do ......................................................................................................................... foreign -key-info ................................................................................................ get-info ............................................................................................................... ping ...................................................................................................................... prepare ................................................................................................................ prepare -cached .................................................................................................. primary -key ........................................................................................................ primary -key-info .............................................................................................. quote .................................................................................................................... quote-identifier ................................................................................................... rollback ................................................................................................................ selectall-arrayref .............................................................................................. selectall -hashref ................................................................................................ selectcol -arrayref .............................................................................................. selectrow-array ................................................................................................. selectrow-arrayref ............................................................................................. selectrow-hashref() ........................................................................................... table-info ............................................................................................................ tables ................................................................................................................... type-info ............................................................................................................. Metodos de procesamiento de instrucciones ........................................................ bind-col ............................................................................................................... bind-columns ...................................................................................................... bindqaram ......................................................................................................... bindqaram -array .............................................................................................. bindqararn-inout ............................................................................................... dump-results ....................................................................................................... execute ................................................................................................................ execute -array ..................................................................................................... fetch ..................................................................................................................... fetchall -arrayref ................................................................................................ fetchall-hashref .................................................................................................. fetchrow -array ................................................................................................... fetchrow-arrayref .............................................................................................. fetchrow-hashref ............................................................................................... finish .................................................................................................................... rows ..................................................................................................................... Atributos DBI comunes a todos 10s identificadores ............................................. Active .................................................................................................................. ActiveKids .......................................................................................................... CachedKids ......................................................................................................... ChopBlanks ......................................................................................................... CompatMode ......................................................................................................

750 750 750 751 751 751 751 752 752 752 752 752 752 753 753 753 754 754 754 754 754 755 755 755 755 757 757 757 758 758 759 759 760 760 760 760 761 761 761 761 762 762 762 762

FreeHashKeyName ........................................................................................... HandleError ........................................................................................................ InactiveDestroy .................................................................................................. Kids ..................................................................................................................... LongReadLen ..................................................................................................... LongTruncOK ..................................................................................................... PrintError ............................................................................................................ private-* ............................................................................................................. Profile .................................................................................................................. RaiseError ........................................................................................................... ShowErrorStatement .......................................................................................... Taint ............................ : ....................................................................................... . Warn .................................................................................................................... Atributos de identificadores de base de datos ...................................................... Autocommit ........................................................................................................ Driver .................................................................................................................. Name ................................................................................................................... RowCacheSize ................................................................................................... Statement ............................................................................................................ Atributos de identificadores de instrucciones ....................................................... CursorName ....................................................................................................... NAME ................................................................................................................. NAME -hash ....................................................................................................... NAME -lc ............................................................................................................ NAME-lc-hash ................................................................................................. NAME -uc .......................................................................................................... NAME-uc-hash ................................................................................................ NULLABLE ....................................................................................................... NUM -OF-FIELDS ........................................................................................... NUM-OF-PARAMS ........................................................................................ Paramvalues ....................................................................................................... PRECISION ....................................................................................................... RowsInCache ..................................................................................................... SCALE ................................................................................................................ Statement ............................................................................................................ TYPE .................................................................................................................. Atributos dinamicos ................................................................................................. err ........................................................................................................................ errstr .................................................................................................................... lasth ..................................................................................................................... rows ..................................................................................................................... state ..................................................................................................................... Breve ejemplo de DBI Per1 ....................................................................................

762 762 763 763 763 763 763 764 764 764 764 765 765 765 765 765 765 766 766 766 766 766 766 767 767 767 767 767 768 768 768 768 768 768 768 769 769 769 769 769 769 769 770

E. API de base de datos Phyton

.......................................................................

Atributos ................................................................................................................... Atributos de modulo ........................................................................................... APILEVEL .................................................................................................... CONV ............................................................................................................ PARAMSTYLE ............................................................................................ THREAD SAFETY ....................................................................................... Atributos de cursor ............................................................................................. ARRAYSIZE ................................................................................................ DESCRIPTION ............................................................................................ ROWCOUNT ................................................................................................ Metodos .................................................................................................................... Metodos de modulo ............................................................................................ Metodos de conexion ......................................................................................... BEGIN ........................................................................................................... CLOSE ........................................................................................................... COMMIT ....................................................................................................... CURSOR ....................................................................................................... ROLLBACK ................................................................................................. Metodos de cursor ............................................................................................. CLOSE ........................................................................................................... EXECUTE ..................................................................................................... EXECUTEMANY ........................................................................................ FETCHALL ................................................................................................... FETCHMANY .............................................................................................. FETCHNONE .............................................................................................. INSERT ID .................................................................................................. NEXTSET, SETINPUTSIZES y SETOUTPUTSIZES ............................. Breve ejemplo de Phyton ........................................................................................

F. API Java .............................................................................................................Metodos generales .................................................................................................. getBundle ............................................................................................................ getconnection ..................................................................................................... getstring .............................................................................................................. Metodos de conexion .............................................................................................. clearwarnings ..................................................................................................... close ..................................................................................................................... commit ................................................................................................................. createstatement .................................................................................................

getTypeMap ................................................................................................... isclosed ............................................................................................................... isReadOnly .......................................................................................................... nativeSQL ........................................................................................................... preparestatement ............................................................................................... rollback ................................................................................................................ setAutoCommit ................................................................................................... setReadOnly ....................................................................................................... setTransactionlsolation ...................................................................................... setTypeMap ........................................................................................................ Metodos de instrucciones y de instrucciones preparadas .................................... addBatch ...................................................................................................... clearBatch ........................................................................................................... clearwarnings ..................................................................................................... close ..................................................................................................................... execute ........................................................................................................... executeBatch ...................................................................................................... executeQuery ..................................................................................................... executeupdate .................................................................................................... getconnection ..................................................................................................... getFetchSize ....................................................................................................... getMaxFieldSize ................................................................................................. getMaxRows ................................................................................................. getMoreResults ................................................................................................... getQueryTimeout ................................................................................................ getResultSet ........................................................................................................ getResultType ..................................................................................................... getupdatecount ....................................................................