la biblia-de-mysql-anaya-multimedia

841

Upload: isrra-aguimor

Post on 14-Apr-2017

555 views

Category:

Software


1 download

TRANSCRIPT

  • lndice

    Introduccidn .......................................................................................................... Razones para comprar este libro ............................................................................ iQul queda fuera del alcance de este libro? ........................................................ iQue necesita? ........................................................................................................ iC6m0 utilizar este libro? .......................................................................................

    Parte I . Uso de MySQL ...................................................................................... 1 . Guia rapida de MySQL ................................................................................... Comprension de 10s fundamentos de MySQL .......................................................

    ~ Q u C es una base de datos? .............................................................................. 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

  • 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 una columna .........................................................................

    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

    ................................................................................................................... Resumen 117

    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 ... 15 1 .................................................................... 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

  • . r 4 . indices y optimization de consultas ............................................................ 185 .................................................................................... Comprension de 10s indices 186

    .............................................................................................. Creacion de un indice 187 Creacion de una clave primaria ........................................................................ 187

    ......................................................................... Creacion de un indice primario 190 ......................................................... Creacion de un indice de texto completo 191

    Uso de 10s indices de texto completo .......................................................... 192 ................................................................................................ Palabras ruido 193

    ..................................................................................................... Relevancia 194 Busquedas booleanas de texto completo ..................................................... 195

    .............................................................................. Creacion de un indice unico 201 .......................................... Creacion de indices sobre una parte de un campo 202

    .............................................. Como utilizar un campo de increment0 automatico 202 Creacion de un campo de increment0 automatico ........................................... 203 Insertion de registros que contienen un campo de increment0 automatico ..... 204

    ..................... Como recuperar y reiniciar el valor de increment0 automatico 205 ........................................................................................ Mas alla de 10s limites 209

    Problemas con LAST-INSERT-ID() .............................................................. 209 .................. indices de varias columnas y carnpos de increment0 automatico 211

    ................................................................ Eliminacion o modificacion de un indice 213 Tipos de tabla e indices ........................................................................................... 214 Uso eficaz de 10s indices ........................................................................................ 215

    . . . . ................................................................................... Donde utilizar 10s indices 215

    ........................................................................................... Selection de indices 218 ........................................... Uso del sistema de prefijacion mas a la izquierda 218

    Como utiliza MySQL 10s indices con EXPLAIN .................................................. 220 .......................................................... Realizacion de calculos en una consulta 225

    Uso de EXPLAIN con el sistema de preqos a la izquierda .......................... 227 Optimizacion de las selecciones ............................................................................. 229

    ............................... Como ayudar a1 optimizador de MySQL con ANALYZE 234 ................................ Optimizacion de las instrucciones SELECT y seguridad 236

    Evaluacion del rendimiento de las funciones .................................................... 237 Optimizacion de actualizaciones, eliminaciones e inserciones ............................. 238 Resumen ................................................................................................................... 240

    5 . Programaci6n con MySQL ............................................................................ 243 Uso de buenas tecnicas de programacion de bases de datos .............................. 244

    Uso de conexiones permanentes ...................................................................... 245 Como lograr codigo portable y sencillo de mantener ...................................... 245

    ................................................................................................... La conexion 246 Consultas de base de datos .......................................................................... 249

    ................. ~ C u i n t o trabajo deberia realizar el servidor de la base de datos? 251 Las fases del desarrollo de aplicaciones ............................................................... 255

  • ................................................................... Fase 1 : analisis de las necesidades 255 ........................................... Determination de las necesidades del usuario 256

    ....................................................... Deterrninacion de tecnologia necesaria 256 Fase 2: Diseiio de la aplicacion ......................................................................... 257

    ....................................................................................................... Modelado 257 .................................................................................... Uso de pseudocodigo 257

    Codificacion ........................................................................................................ 257 Fase 4: fase de pruebas e implernentacion .................................................... 260

    Resumen ................................................................................................................... 260

    6 . Como ampliar las funciones de MySQL ..................................................... 263 ......................................................................... 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 ........................................ 284 Modelo jerarquico de base de datos ................................................................. 284

    ....................................................................... Modelo de base de datos en red 286

    ....................................................................... Modelo de base de datos relacional 286 Terminos basicos ................................................................................................ 287 Claves de tabla ................................................................................................... 290 Claves externas .................................................................................................. 290 Introduccion a las vistas .................................................................................... 292

    Resumen ................................................................................................................... 295 . I 8 . Normalizac~on de bases de datos ............................................................... 297

    Concepto 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

  • 9 . Diseiio de bases de datos .............................................................................. 321 ....................................................................... Ciclo de vida de las bases de datos 322

    ................................................................................................... Fase 1 : Analisis 323 .................................................................................................... Fase 2: Diseiio 324

    ......................................................................................... 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 Atomicidad .......................................................................................................... 343

    .......................................................................................................... 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 My SQL 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 ..................................................... 374 Optimizacion de tablas con myisamchk ....................................................... 374

    ................................................................................................ Analisis de tablas 375 Analisis de tablas con ANALYZE TABLE ................................................ 376 Analisis de las tablas con mysqlcheck ......................................................... 377 Analisis de tablas con myisamchk ............................................................... 377

    Comprobacion de tablas ..................................................................................... 378 Comprobacion de las tablas con CHECK TABLES .................................. 379 Comprobacion de tablas con mysqlcheck ................................................... 380 Comprobacion de tablas con myisamchk .................................................... 381

    Reparacion de tablas .......................................................................................... 383 Reparacion tablas de tipo diferente a MyISAM ........................................ 384 Reparacion de tablas con REPAIR TABLE ............................................... 384 Reparacion de las tablas con mysqlcheck ................................................... 386 Reparacion de tablas con myisamchk ......................................................... 386 Como usar mysqlcheck ................................................................................. 388 Uso de myisamchk ........................................................................................ 391

    Resumen ................................................................................................................... 396

    ................................................... 11 . Copias de seguridad de bases de datos 399 Volcados de seguridad de tablas MylSAM con BACKUP ................................. 400

    Uso de BACKUP en Unix .............................................................................. 400 Uso de BACKUP con Windows ....................................................................... 403

    Restauracion de tablas MyISAM con RESTORE ............................................... 404 Volcados de seguridad de tablas de MyISAM mediante la copia de archivos

    directamente .............................................................................................. 406 Realizacion de volcados con mysqldump ............................................................... 409

    Restauracion de una base de datos volcada con mysqldump ......................... 411 Copias de seguridad con SELECT INTO ............................................................. 416

    Restauracion de una tabla con LOAD DATA ................................................. 419 ~ Q u C ocurriria si algo sale mal? .................................................................. 420 Uso de LOAD DATA con opciones ............................................................ 421 Aspectos de seguridad relacionados con LOAD DATA LOCAL ............ 426

    Uso de mysqlimport en lugar de LOAD DATA .............................................. 426 Uso de mysqlhotcopy para realizar copias de seguridad ..................................... 429 Uso del registro de actualizacion binario para restablecer la base de datos . .

    a su posicion mas reciente ........................................................................... 431 Copia de seguridad y restauracion de tablas InnoDB .......................................... 436 Duplicacion como medio de realizar copias de seguridad .................................... 438 Resumen ................................................................................................................... 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 ................................... Duplicacion con un registro binario activo en el principal 457

    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 ................................................................................................................... 467

    ................................................ 13 . Configuration y optirnizacion de MySQL 471 .................................................................... Optimizacion de las variables msyqld 472

    Optirnizacion de table-cache ............................................................................ 477 ...................................................................... Optirnizacion de key-buffer-size 478

    ................................................. Control de un elevado numero de conexiones 479 .................... 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 .................................................................... Ejecucion de MySQL en mod0 ANSI 527 ................................................................... Uso de distintos lenguajes en MySQL 528

    ............................................. 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 ................................................................................................................. 533

    14 . 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 .................................. 564 Que hacer si la tabla de usuarios se daiia ................................................... 565 Otras opciones de GRANT ................................................................... 567 Estrategia para gestionar usuarios de forma segura .................................. 570

    ......................................... Como evitar la concesion de privilegios peligrosos 571 ....................................................................................................... Conexiones SSL 572 . .

    Seguridad de aplicaciones .................................................................................. 574 Seguridad del sistema .............................................................................................. 575 Problemas de seguridad relacionados con LOAD DATA LOCAL .................... 575 Resumen ................................................................................................................... 576

    15 . Instalaci6n de MySQL ................................................................................. 579 .................................................... Instalacion de una distribucion fuente o binaria 580

    Instalacion de MySQL en Windows ...................................................................... 581 Instalacion de una distribucion binaria en Windows ........................................ 582

    Instalacion de MySQL como servicio en Windows NT/2000/XP ............. 583 Instalacion de MySQL en Unix ......................................................................... 584

    Instalacion de una distribucion binaria (tar) en Unix ....................................... 584 Instalacion de una distribucion binaria (rpm) en Unix ..................................... 587

    .................................................... Instalacion desde codigo fuente en Unix 588 ................................................................... Cornpilacion optima de My SQL 590

    ............................................ Instalacion de varios servidores en el mismo equipo 591 ................................................... Como evitar problemas de instalacion comunes 594

    . . . Problemas al iniciar msyqld ............................................................................... 594 Problemas de compilacion ................................................................................. 595 Problemas de Windows ..................................................................................... 596

    ............................................................. Actualizacion de MySQL 3.s a MySQL 4 597 ................................................................................................................... Resumen 599

    16 . Multiples unidades ....................................................................................... 601 Significado de RAID ............................................................................................... 601

    RAID 0 ............................................................................................................... 602 RAID 1 ............................................................................................................... 603 RAID 2 y RAID 3 ............................................................................................. 603 RAID 4 ............................................................................................................... 604 RAID 5 ............................................................................................................... 604

    ............................................................................................................. RAID 10 605 ........................................................................................................... RAID 0+1 605

    Otros tipos de RAID .......................................................................................... 606 Uso de enlaces simbolicos ...................................................................................... 606

    Vinculacion simbolica de bases de datos .......................................................... 607 Vinculacion simbolica de tablas ................................................................... 609

    Resumen ................................................................................................................... 611

  • A. Guia de referencia de la sintaxis de MySQL ........................................ 615 ALTER ..................................................................................................................... 616 ANALYZE TABLE ................................................................................................ 617 BACKUP TABLE .................................................................................................. 617 BEGIN ...................................................................................................................... 617 CHECK TABLE ..................................................................................................... 617 COMMIT ................................................................................................................. 618 CREATE .................................................................................................................. 618 DELETE .................................................................................................................. 621 DESC ....................................................................................................................... 621 DESCRIBE .............................................................................................................. 621 DO ............................................................................................................................ 622 DROP ....................................................................................................................... 622 EXPLAIN ................................................................................................................ 622 FLUSH ..................................................................................................................... 623 GRANT .................................................................................................................... 623 INSERT .................................................................................................................... 625 JOIN ......................................................................................................................... 626 KILL ......................................................................................................................... 626 LOAD DATA INFILE ............................................................................................ 626 LOCK TABLES ...................................................................................................... 627 OPTIMIZE .............................................................................................................. 628 RENAME ................................................................................................................ 628 REPAIR TABLE ..................................................................................................... 628 REPLACE ............................................................................................................... 629 RESET ...................................................................................................................... 629 RESTORE TABLE ................................................................................................. 629 REVOKE ................................................................................................................. 629 ROLLBACK ........................................................................................................... 630 SELECT ................................................................................................................... 630 SET ........................................................................................................................... 632 SET TRANSACTION ............................................................................................ 635 SHOW ............................................ ......................................................................... 635 TRUNCATE ............................................................................................................ 635 UNION .................................................................................................................... 636 UNLOCK TABLES ................................................................................................ 636 UPDATE .................................................................................................................. 636 USE .......................................................................................................................... 636

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

  • AND. && ........................................................................................................... 639 OR, I I .................................................................................................................. 640 NOT, ! ................................................................................................................. 640

    ........................................................................................... Operadores aritmeticos 641

    % ......................................................................................................................... 642 Operadores de comparacion ................................................................................... 642

    - - ........................................................................................................................... 643 ................................................................................................................... !=, o 643

    ..................................................................................................................... = 645 IS NULL ............................................................................................................. 646 BETWEEN ......................................................................................................... 646 LIKE ................................................................................................................... 647 IN ......................................................................................................................... 647 REGEXP. RLIKE ............................................................................................... 647

    Operadores de bits .................................................................................................. 650 & .......................................................................................................................... 650

    >> ......................................................................................................................... 651 ...................................................................................... Funciones de fecha y hora 651

    ADDDATE ......................................................................................................... 652 CURDATE .......................................................................................................... 652 CURRENT-DATE ............................................................................................ 652 CURRENT-TIME ............................................................................................. 653 CURRENT TIMESTAMP ............................................................................... 653 . CURTIME .......................................................................................................... 653 DATE ADD ....................................................................................................... 653 . DATE FORMAT ............................................................................................... 654 . DATE SUB ........................................................................................................ 656 . DAYNAME ........................................................................................................ 656

    ............................................................................................... DAYOFMONTH 656 DAYOFWEEK ................................................................................................... 657

    ................................................................................................... DAYOFYEAR 657 EXTRACT .......................................................................................................... 657 FROM DAYS .................................................................................................... 658 - FROM-UNIXTIME .......................................................................................... 658

  • HOUR ................................................................................................................. 658 MINUTE ........................................................................................................ 659 MONTH .............................................................................................................. 659 MONTHNAME ................................................................................................. 659 NOW .............................................................................................................. 660 PERIOD-ADD .................................................................................................. 660 PERIOD DIFF .................................................................................................. 660 - QUARTER .................................................................................................. 661 SEC TO-TIME ............................................................................................. 661 - SECOND ............................................................................................................ 661 SUBDATE .................................................................................................... 662 SYSDATE .................. : ........................................................................................ 662 TIME FORMAT ................................................................................................ 662 - TIME-TO-SEC ................................................................................................. 662 TO DAYS ..................................................................................................... 662 - UNIXTIMESTAMP ........................................................................................ 663 WEEK ................................................................................................................. 663 WEEKDAY ................................................................................................... 664 YEAR .................................................................................................................. 664 YEARWEEK ...................................................................................................... 665

    Funciones de cadena ............................................................................................... 665 ASCII .................................................................................................................. 665 BIN ...................................................................................................................... 666 BIT-LENGTH ................................................................................................... 666 CHAR ................................................................................................................. 667 CHAR-LENGTH .............................................................................................. 667 CARACTER-LENGTH .................................................................................... 667 CONCAT ............................................................................................................ 667 CONCAT-WS .................................................................................................... 668 CONV ................................................................................................................. 669 ELT ...................................................................................................................... 670 EXPORT-SET ................................................................................................... 670 FIELD ................................................................................................................. 671 FIND IN SET ............................................................................................... 671 - - HEX ..................................................................................................................... 672 INSERT ............................................................................................................... 673 INSTR ................................................................................................................. 673 LCASE ................................................................................................................ 674 LEFT ................................................................................................................. 674 LENGTH ............................................................................................................ 674 LOAD-FILE ...................................................................................................... 675 LOCATE ...................................................................................................... 675 LOWER ........................................................................................................ 676

  • LPAD .................................................................................................................. 676 LTRIM ................................................................................................................ 677 MAKE SET ....................................................................................................... 677 . OCT .................................................................................................................... 677 OCTET-LENGTH ............................................................................................. 678 ORD .................................................................................................................... 678 POSITION .......................................................................................................... 679 QUOTE ............................................................................................................ 679 REPEAT ............................................................................................................. 679 REPLACE ..................................................................................................... 680 REVERSE .......................................................................................................... 680 RIGHT ......................................................................................................... 680 RPAD .................................................................................................................. 681 RTRIM ............................................................ ........ ......................................... 681 SOUNDEX ......................................................................................................... 682 SPACE ................................................................................................................ 682 SUBSTRING ...................................................................................................... 682 SUBSTRING-INDEX ....................................................................................... 683 TRIM ............................................................................................................ 684 UCASE ............................................................................................................... 684 UPPER ............................................................................................................... 684

    Funciones numericas ............................................................................................... 685 ABS ..................................................................................................................... 685 ACOS .................................................................................................................. 685 ASIN .................................................................................................................. 686 ATAN ................................................................................................................. 686 ATAN2 ................................................................................................................ 686 CEILING ............................................................................................................ 686 COS ..................................................................................................................... 687 COT ..................................................................................................................... 687 DEGREES .......................................................................................................... 687 EXP ..................................................................................................................... 688 FLOOR ............................................................................................................... 688 FORMAT ............................................................................................................ 689 GREATEST ........................................................................................................ 689 LEAST ............................................................................................................... 690 LN ........................................................................................................................ 690 LOG ..................................................................................................................... 690 LOG10 ................................................................................................................. 691 LOG2 ................................................................................................................... 691 MOD ................................................................................................................... 691 PI ......................................................................................................................... 692 POW ................................................................................................................... 692

  • POWER .............................................................................................................. 692 RADIANS .......................................................................................................... 692 RAND ................................................................................................................. 693 ROUND .............................................................................................................. 693 SIGN ................................................................................................................... 694 SIN ...................................................................................................................... 694 SQRT ................................................................................................................... 695 TAN ..................................................................................................................... 695 TRUNCATE ....................................................................................................... 695

    Funciones agregadas ............................................................................................. 696 AVG ..................................................................................................................... 696 BIT AND ........................................................................................................... 696 - BIT OR .............................................................................................................. 697 - COUNT ............................................................................................................... 697 MAX ................................................................................................................... 697 MIN ..................................................................................................................... 698 STD ..................................................................................................................... 698 STDDEV ............................................................................................................ 698 SUM .................................................................................................................... 698

    Otras funciones ........................................................................................................ 699 AES-DECRYPT ................................................................................................ 699 AES-ENCRYPT ................................................................................................ 699 BENCHMARK .................................................................................................. 699 CASE .................................................................................................................. 699 CAST .................................................................................................................. 701 CONNECTION-ID ........................................................................................... 702 CONVERT ......................................................................................................... 702 DATABASE ....................................................................................................... 702 DECODE ..................................................................................................... 703 DES DECRYPT ................................................................................................ 703 - DES-ENCRYPT ................................................................................................ 703 ENCODE ............................................................................................................ 704 ENCRYPT .......................................................................................................... 704 FOUND ROWS ................................................................................................ 704 - GET-LOCK ....................................................................................................... 705 IF ......................................................................................................................... 705 IFNULL .............................................................................................................. 706 INET ATON ...................................................................................................... 707 - INET NTOA ..................................................................................................... 707 - IS FREE-LOCK ............................................................................................... 707 - LAST-INSERT-ID ........................................................................................... 708 MASTER-POS-WAIT ..................................................................................... 708 MD5 .................................................................................................................... 709

  • NULLIF ............................................................................................................ 709 PASSWORD ...................................................................................................... 709 RELEASE-LOCK ...................................................................................... 710 SESSION-USER ............................................................................................... 710 SHA ..................................................................................................................... 711 SHA1 .................................................................................................................. 711 SY STEM-USER ..... . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 1 USER ................................................................................................................. 71 1 VERSION ..... ..... .. .. ....... ..... ....... ........ . . . . . . . . . . . .......... . . . . 7 11

    C. API PHP ............................................................................................................ 71 5 Opciones de configuracion PHP ............ ..... ..... ... ..... ........... . . . . . . ........... 715 Funciones MySQL PHP ......................................................................................... 716

    msyql-affected-rows .... . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 16 msyql change user ....... ....... ............... ... ...... .. . . ......... . ............ ........... . 717 - - mysql-client - encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 17 msyql close ...... .. ... .. ..... ............ ..... ..... . ................... ..................... . . . . . 7 18 - msyql-connect . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 18 msyql create db ........................................................................................... 719 - - msyql data seek .......... ... ..... ..... .. ........ .. ... . . . . . ........... ............ ....... . . 719 - - msyql db name ................................................................................................ 720 - - mysql-db-query ................................................................................................ 720 msyql drop db ...... .. ... ....... ..... .. ... .. ... . . . . . . . ................. ............... . . . . . 72 1 - - msyql errno .... ... ............ ... ....... .. ... .. .... . . . . . . . ......... . . ......... . . . . . . 721 - msyql error ...... ................. .. ... ..... ..... . . . . ......... . . . . ........ ...... ............. 721 - msyql-escape-string ......................................................................................... 722 mysql-fetch-array ............................................................................................. 723 msyql fetch assoc ............................................................................................ 723 - - mysql-fetch field ............................................................................................... 724 - mysql-fetch-lengths .......................................................................................... 725 mysql-fetch object ........................................................................................... 726 - mysql-fetch row ................................................................................................ 726 - mysql field-flags ......................................................................................... 727 - msyql field len ................................................................................................. 728 - - mysql field name ............................................................................................. 728 - - mysql-field-seek ................................................................................................ 729 mysql-field-table .......................................................................................... 729 mysql field type ............................................................................................... 730 - - mysql free-result ....................................................................................... 730 - mysql get-client-info .................. ... ............................ . ...... . . . ......... 73 1 - mysql - get-host-info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . 73 1 mysql_getqroto-info ...... ........ .................. ... ... ............ . . . . ................. . 73 1 mysqlxet server info ...................................................................................... 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 3 Metodos 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 ........................................................................................................... 750 do ......................................................................................................................... 750 foreign key info ................................................................................................ 750 - - get-info ............................................................................................................... 751 ping ...................................................................................................................... 751 prepare ................................................................................................................ 751 prepare cached .................................................................................................. 751 -

    ........................................................................................................ primary - key 752 primary key info .............................................................................................. 752 - - quote .................................................................................................................... 752 quote identifier ................................................................................................... 752 - rollback ................................................................................................................ 752 selectall-arrayref .............................................................................................. 752 selectall hashref ................................................................................................ 753 - selectcol arrayref .............................................................................................. 753 - selectrow array ................................................................................................. 753 - selectrow arrayref ............................................................................................. 754 - selectrow-hashref() ........................................................................................... 754 table info ............................................................................................................ 754 -

    ................................................................................................................... tables 754 ............................................................................................................. type - info 754

    Metodos de procesamiento de instrucciones ........................................................ 755 ............................................................................................................... bind - col 755

    bind-columns ...................................................................................................... 755 bindqaram ......................................................................................................... 755 bindqaram array .............................................................................................. 757 - bindqararn inout ............................................................................................... 757 - dump results ....................................................................................................... 757 - execute ................................................................................................................ 758 execute array ..................................................................................................... 758 - fetch ..................................................................................................................... 759 fetchall arrayref ................................................................................................ 759 - fetchall hashref .................................................................................................. 760 - fetchrow array ................................................................................................... 760 - fetchrow arrayref .............................................................................................. 760 - fetchrow hashref ............................................................................................... 760 -

    .................................................................................................................... finish 761 rows ..................................................................................................................... 761

    Atributos DBI comunes a todos 10s identificadores ............................................. 761 .................................................................................................................. Active 761

    ActiveKids .......................................................................................................... 762 CachedKids ......................................................................................................... 762 ChopBlanks ......................................................................................................... 762 CompatMode ...................................................................................................... 762

  • FreeHashKeyName ........................................................................................... 762 HandleError ........................................................................................................ 762 InactiveDestroy .................................................................................................. 763 Kids ..................................................................................................................... 763 LongReadLen ..................................................................................................... 763 LongTruncOK ..................................................................................................... 763 PrintError ............................................................................................................ 763 private-* ............................................................................................................. 764 Profile .................................................................................................................. 764 RaiseError ........................................................................................................... 764

    .......................................................................................... ShowErrorStatement 764 ....................................................................................... ............................ Taint :. 765

    Warn .................................................................................................................... 765 ...................................................... Atributos de identificadores de base de datos 765

    Autocommit ........................................................................................................ 765 Driver .................................................................................................................. 765 Name ................................................................................................................... 765 RowCacheSize ................................................................................................... 766 Statement ............................................................................................................ 766

    ....................................................... Atributos de identificadores de instrucciones 766 CursorName ....................................................................................................... 766 NAME ................................................................................................................. 766 NAME - hash ....................................................................................................... 766 NAME - lc ............................................................................................................ 767 NAME-lc-hash ................................................................................................. 767 NAME uc .......................................................................................................... 767 -

    ................................................................................................ NAME-uc-hash 767 NULLABLE ....................................................................................................... 767

    ........................................................................................... NUM - OF - FIELDS 768 NUM-OF-PARAMS ........................................................................................ 768 Paramvalues ....................................................................................................... 768 PRECISION ....................................................................................................... 768 RowsInCache ..................................................................................................... 768 SCALE ................................................................................................................ 768

    ............................................................................................................ Statement 768 TYPE .................................................................................................................. 769

    ................................................................................................. Atributos dinamicos 769 err ........................................................................................................................ 769 errstr .................................................................................................................... 769

    ..................................................................................................................... lasth 769 rows ..................................................................................................................... 769 state ..................................................................................................................... 769

    .................................................................................... Breve ejemplo de DBI Per1 770

  • E . API de base de datos Phyton ....................................................................... Atributos ...................................................................................................................

    Atributos de modulo ........................................................................................... APILEVEL ....................................................................................................

    ............................................................................................................ CONV PARAMSTYLE ............................................................................................ THREAD SAFETY .......................................................................................

    Atributos de cursor ............................................................................................. ARRAY SIZE ................................................................................................

    ............................................................................................ 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 ................................................................................................... 784 isclosed ............................................................................................................... 785 isReadOnly .......................................................................................................... 785 nativeSQL ........................................................................................................... 785 preparestatement ............................................................................................... 785 rollback ................................................................................................................ 785 setAutoCommit ................................................................................................... 785 setReadOnly ....................................................................................................... 785 setTransactionlsolation ...................................................................................... 786 setTypeMap ........................................................................................................ 786

    .................................... Met