841

Anaya.multimedia.la.biblia.de.mysql

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. lndiceIntroduccidn ..........................................................................................................Razones para comprar este libro ............................................................................i Q u l 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 una base de datos? .............................................................................. esTerminologia 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 textocon LOAD DATA ..............................................................................

2. 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 ......................................................................... unaUso 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 ....................................................................................... 3. Tablas MERGE ................................................................................................... 109Tablas HEAP ...................................................................................................... 113 Tablas InnoDB .............................................................................................. 115Tablas DBD ........................................................................................................ 116Resumen ................................................................................................................... 1173. SQL Avanzado ...................................................................................................119Operadores .............................................................................................................. 120Operadores logicos ............................................................................................. 120Operadores aritmeticos ...................................................................................... 121Operadores de comparacion ........................................................................123 Como usar LIKE en equivalencias de patron de SQL ............................... 127 Expresiones regulares ................................................................................... 128 Operadores bit a bit ........................................................................................... 133Combinaciones 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 ....................................... 149Como agregar registros a una tabla desde otras tablas con INSERT SELECT ... 151Mas sobre la agregacion de registros ....................................................................152Mas sobre como eliminar registros (DELETE y TRUNCATE).......................... 153Variable de usuario .................................................................................................. 153Ejecucion de instrucciones SQL almacenadas en archivos ................................. 157 Redireccionamiento de la salida hacia un archivo ........................................... 159Como usar 10s archivos desde la linea de comandos MySQL ................... 160Transacciones 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 ................................................................................. 181Resumen ...................................................................................................................182 4. .4. indices y optimization de consultas ............................................................ 185 rComprension de 10s indices .................................................................................... 186Creacion de un indice ..............................................................................................187 Creacion de una clave primaria ........................................................................187 Creacion de un indice primario ......................................................................... 190 Creacion de un indice de texto completo .........................................................191Uso de 10s indices de texto completo .......................................................... 192Palabras ruido ................................................................................................ 193Relevancia .....................................................................................................194Busquedas booleanas de texto completo ..................................................... 195 Creacion de un indice unico .............................................................................. 201 Creacion de indices sobre una parte de un campo .......................................... 202Como 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 .................. 211Eliminacion o modificacion de un indice ................................................................213Tipos de tabla e indices ...........................................................................................214Uso eficaz de 10s indices ........................................................................................215... . Donde utilizar 10s indices ................................................................................... 215 Selection de indices ........................................................................................... 218 Uso del sistema de prefijacion mas a la izquierda ...........................................218Como 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 ..........................227Optimizacion 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 .................................................... 237Optimizacion de actualizaciones, eliminaciones e inserciones ............................. 238Resumen ...................................................................................................................240 5. Programaci6n con MySQL............................................................................ 2 4 3 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 ~Cuinto trabajo deberia realizar el servidor de la base de datos? .................251 Las fases del desarrollo de aplicaciones ............................................................... 255 5. Fase 1: analisis de las necesidades ................................................................... 255 Determination de las necesidades del usuario ........................................... 256 Deterrninacion de tecnologia necesaria ....................................................... 256Fase 2: Diseiio de la aplicacion .........................................................................257 Modelado ....................................................................................................... 257 Uso de pseudocodigo .................................................................................... 257Codificacion ........................................................................................................ 257Fase 4: fase de pruebas e implernentacion ....................................................260Resumen ................................................................................................................... 2606. Como ampliar las funciones de MySQL ..................................................... 2 6 3Funciones definidas por el usuario ......................................................................... 264Funciones UDF estandar ................................................................................... 268La funcion init ................................................................................................268La funcion principal ...................................................................................... 270La funcion deinit ........................................................................................... 272 Creacion de una UDF estandar de ejemplo ..................................................... 272 Analisis de las funciones agregadas ................................................................. 274 Creacion de una UDF agregada de ejemplo .................................................. 275Resolucion de problemas de UDF ......................................................................... 278Resumen ................................................................................................................... 278 .Parte I1 Diseiio de una base de datos ............................................................ 2817. Comprensi6n de las bases de datos relacionales .................................... 2 8 3Analisis de 10s modelos anteriores a las base de datos ........................................ 284Modelo jerarquico de base de datos .................................................................284Modelo de base de datos en red .......................................................................286Modelo de base de datos relacional .......................................................................286Terminos basicos ................................................................................................ 287Claves de tabla ................................................................................................... 290Claves externas ..................................................................................................290Introduccion a las vistas ....................................................................................292Resumen ................................................................................................................... 295.8. Normalizac~onde bases de datos ...............................................................2 9 7IConcepto 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 ................................................................................................................... 6. .9 Diseiio de bases de datos ..............................................................................3 2 1Ciclo de vida de las bases de datos ....................................................................... 322 Fase 1: Analisis ................................................................................................... 323 Fase 2: Diseiio.................................................................................................... 324Diseiio conceptual .........................................................................................325Diseiio logic0 y fisico.................................................................................... 329 Fase 3: Implementacion ...............................................................................333 Fase 4: Pruebas .............................................................................................. 333 Fase 5: Puesta en marcha ................................................................................. 334 Fase 6: Mantenimiento .......................................................................................335Un ejemplo del mundo real: un sistema de seguimiento de publicaciones .......... 336 Fase 1 de la base de datos de Poets Circle: Analisis ..................................... 336 Fase 2 de la base de datos de Poets Circle: Diseiio ....................................... 337 Fase 2 de la base de datos Poets Circle: Implementacion ............................. 341 Fase 4 a 6 de la base de datos Poets Circle: Prueba. puesta en marcha. . y rnantenlrnlento .......................................................................................342Control de simultaneidad mediante transacciones ............................................... 343 Atomicidad ..........................................................................................................343 Coherencia ..........................................................................................................343 Aislamiento ......................................................................................................... 344 Durabilidad ................................................................................................... 344Resumen ................................................................................................................... 344Parte I11. Administracibn de MySQL ..............................................................347 .10 Administracibn baisica ..................................................................................349Uso de MySQL como administrador ...................................................................... 350Como iniciar y cerrar MySQL ............................................................................ 352Como iniciar y cerrar MySQL en Unix ............................................................ 352Como iniciar MySQL automaticamente a1 arrancar el sistema ................. 354Como evitar problemas comunes a1 iniciar MySQL en Unix ..................... 355Como iniciar y cerrar MySQL en Windows ..................................................... 355Como iniciar MySQL automaticamente .................................................... 356Como evitar problemas comunes a1 iniciar MySQL en Windows ............. 358Configuration de MySQL ....................................................................................... 359Registro .................................................................................................................... 363El archivo de errores .......................................................................................... 363El registro de consultas ...................................................................................364El registro de actualization binario ................................................................ 365El registro de consultas lentas ......................................................................... 368Rotacion de registros ..................................................................................369Optimization, analisis, comprobacion y reparacion de tablas .............................. 372 Optimization de tablas ....................................................................................373Optimization de tablas con la instruccion OPTIMIZE .............................. 373 7. Optimizacion de tablas con mysqlcheck .....................................................374 Optimizacion de tablas con myisamchk ....................................................... 374Analisis de tablas ................................................................................................ 375Analisis de tablas con ANALYZE TABLE ................................................ 376 Analisis de las tablas con mysqlcheck .........................................................377 Analisis de tablas con myisamchk ............................................................... 377Comprobacion de tablas .....................................................................................378 Comprobacion de las tablas con CHECK TABLES .................................. 379 Comprobacion de tablas con mysqlcheck ...................................................380 Comprobacion de tablas con myisamchk ....................................................381Reparacion 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 ........................................................................................391Resumen ................................................................................................................... 39611. Copias de seguridad de bases de datos ................................................... 399Volcados de seguridad de tablas MylSAM con BACKUP ................................. 400Uso de BACKUP en Unix ..............................................................................400Uso de BACKUP con Windows ....................................................................... 403Restauracion de tablas MyISAM con RESTORE ............................................... 404Volcados de seguridad de tablas de MyISAM mediante la copia de archivosdirectamente .............................................................................................. 406Realizacion de volcados con mysqldump ............................................................... 409Restauracion de una base de datos volcada con mysqldump ......................... 411Copias de seguridad con SELECT INTO ............................................................. 416Restauracion de una tabla con LOAD DATA ................................................. 419~QuCocurriria si algo sale mal? ..................................................................420Uso de LOAD DATA con opciones ............................................................421Aspectos de seguridad relacionados con LOAD DATA LOCAL ............ 426Uso de mysqlimport en lugar de LOAD DATA .............................................. 426Uso de mysqlhotcopy para realizar copias de seguridad ..................................... 429Uso del registro de actualizacion binario para restablecer la base de datos. .a su posicion mas reciente ...........................................................................431Copia de seguridad y restauracion de tablas InnoDB .......................................... 436Duplicacion como medio de realizar copias de seguridad .................................... 438Resumen ................................................................................................................... 43912. Duplicaci6n de base de datos ..................................................................... 441Que es la duplicacion ..............................................................................................441 8. . .Configuracion de duplication .................................................................................. 443 . . . Opciones de duplication .................................................................................... 444 . . . Comandos de duplicaclon .................................................................................. 448 Dificultades de la duplicacion ............................................................................ 450Duplicacion de una base de datos .......................................................................... 450Duplicacion con un registro binario activo en el principal ...................................457Eliminacion de registros binarios antiguos del servidor principal e iniciode la operacion ..............................................................................................459Como evitar un exceso de actualizaciones ............................................................ 462Como evitar errores clave ................................................................................... 464Resumen ................................................................................................................... 46713. Configuration y optirnizacion de MySQL ................................................ 471Optimizacion 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 .................................................... 503Cambio de valores de variables con el servidor en funcionamiento ................... 508Mejoras en el hardware para acelerar el servidor ............................................... 511 Memoria ..............................................................................................................511 Discos .................................................................................................................. 512 CPU ..................................................................................................................... 512. . .Uso de anallsls comparativos ................................................................................. 512Ejecucion de MySQL en mod0 ANSI .................................................................... 527Uso 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 ............................................... 529Resumen .................................................................................................................53314. Seguridad de bases de datos ......................................................................535Seguridad a1 conectarse .......................................................................................... 536..Gestion de usuarios y permisos ..............................................................................537 La base de datos mysql .................................................................................... 537Campos de las tablas ....................................................................................538Como examina MySQL permisos para conceder el acceso ...................... 543Como completar las tablas de permiso ........................................................ 544 9. Que hacer si no puede conectarse o no tiene permisos ..................................564Que hacer si la tabla de usuarios se daiia ...................................................565Otras opciones de GRANT ................................................................... 567Estrategia para gestionar usuarios de forma segura .................................. 570 Como evitar la concesion de privilegios peligrosos ......................................... 571Conexiones SSL....................................................................................................... 572..Seguridad de aplicaciones ..................................................................................574Seguridad del sistema ..............................................................................................575Problemas de seguridad relacionados con LOAD DATA LOCAL ....................575Resumen ................................................................................................................... 57615. Instalaci6n de MySQL ................................................................................. 5 7 9Instalacion de una distribucion fuente o binaria .................................................... 580Instalacion de MySQL en Windows ......................................................................581 Instalacion de una distribucion binaria en Windows ........................................582 Instalacion de MySQL como servicio en Windows NT/2000/XP ............. 583Instalacion 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 MySQL ................................................................... 590Instalacion de varios servidores en el mismo equipo ............................................591Como evitar problemas de instalacion comunes ...................................................594. . . Problemas al iniciar msyqld ...............................................................................594 Problemas de compilacion ................................................................................. 595 Problemas de Windows ..................................................................................... 596Actualizacion de MySQL 3.s a MySQL 4 .............................................................597Resumen ................................................................................................................... 59916. Multiples unidades....................................................................................... 601Significado 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 .......................................................................................... 606Uso de enlaces simbolicos ......................................................................................606 Vinculacion simbolica de bases de datos .......................................................... 607 Vinculacion simbolica de tablas ...................................................................609Resumen ................................................................................................................... 611 10. A. Guia de referencia de la sintaxis de MySQL........................................ 615ALTER ..................................................................................................................... 616ANALYZE TABLE ................................................................................................617BACKUP TABLE .................................................................................................. 617BEGIN ......................................................................................................................617CHECK TABLE ..................................................................................................... 617COMMIT .................................................................................................................618CREATE .................................................................................................................. 618DELETE .................................................................................................................. 621DESC .......................................................................................................................621DESCRIBE .............................................................................................................. 621DO ............................................................................................................................ 622DROP .......................................................................................................................622EXPLAIN ................................................................................................................622FLUSH ..................................................................................................................... 623GRANT ....................................................................................................................623INSERT .................................................................................................................... 625JOIN .........................................................................................................................626KILL .........................................................................................................................626LOAD DATA INFILE ............................................................................................ 626LOCK TABLES ......................................................................................................627OPTIMIZE .............................................................................................................. 628RENAME ................................................................................................................ 628REPAIR TABLE .....................................................................................................628REPLACE ............................................................................................................... 629RESET ......................................................................................................................629RESTORE TABLE ................................................................................................. 629REVOKE .................................................................................................................629ROLLBACK ...........................................................................................................630SELECT ...................................................................................................................630SET ........................................................................................................................... 632SET TRANSACTION ............................................................................................635SHOW ............................................ ......................................................................... 635TRUNCATE ............................................................................................................ 635UNION ....................................................................................................................636UNLOCK TABLES ................................................................................................636UPDATE .................................................................................................................. 636USE ..........................................................................................................................636B. Funciones y operadores de MySQL ........................................................... 639Operadores logicos .................................................................................................. 639 11. AND. && ...........................................................................................................639OR, I I .................................................................................................................. 640NOT, ! ................................................................................................................. 640Operadores aritmeticos ........................................................................................... 641 % ......................................................................................................................... 642Operadores de comparacion ...................................................................................642 - ........................................................................................................................... 643 !=, o ................................................................................................................... 643 = ..................................................................................................................... 645IS NULL .............................................................................................................646BETWEEN .........................................................................................................646LIKE ................................................................................................................... 647IN ......................................................................................................................... 647REGEXP. RLIKE ............................................................................................... 647Operadores de bits .................................................................................................. 650& .......................................................................................................................... 650>> ......................................................................................................................... 651Funciones de fecha y hora ...................................................................................... 651ADDDATE .........................................................................................................652CURDATE .......................................................................................................... 652CURRENT-DATE ............................................................................................652CURRENT-TIME ............................................................................................. 653CURRENT TIMESTAMP ................................................................................653CURTIME .......................................................................................................... 653DATE ADD ....................................................................................................... . 653DATE FORMAT ............................................................................................... . 654DATE SUB ........................................................................................................ . 656DAYNAME ........................................................................................................ 656DAYOFMONTH ............................................................................................... 656DAYOFWEEK ...................................................................................................657 DAYOFYEAR ................................................................................................... 657EXTRACT .......................................................................................................... 657 FROM -DAYS .................................................................................................... 658 FROM-UNIXTIME ..........................................................................................658 12. HOUR ................................................................................................................. 658MINUTE ........................................................................................................659MONTH .............................................................................................................. 659MONTHNAME .................................................................................................659NOW .............................................................................................................. 660PERIOD-ADD ..................................................................................................660PERIOD-DIFF .................................................................................................. 660QUARTER .................................................................................................. 661SEC -TO-TIME ............................................................................................. 661SECOND ............................................................................................................661SUBDATE .................................................................................................... 662SYSDATE ..................:........................................................................................662TIME-FORMAT ................................................................................................ 662TIME-TO-SEC .................................................................................................662TO -DAYS ..................................................................................................... 662UNIXTIMESTAMP ........................................................................................ 663WEEK ................................................................................................................. 663WEEKDAY ...................................................................................................664YEAR ..................................................................................................................664YEARWEEK ......................................................................................................665Funciones de cadena ...............................................................................................665ASCII .................................................................................................................. 665BIN ...................................................................................................................... 666BIT-LENGTH ................................................................................................... 666CHAR ................................................................................................................. 667CHAR-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 13. LPAD ..................................................................................................................676LTRIM ................................................................................................................ 677MAKE SET ........................................................................................................677OCT .................................................................................................................... 677OCTET-LENGTH ............................................................................................. 678ORD .................................................................................................................... 678POSITION ..........................................................................................................679QUOTE ............................................................................................................ 679REPEAT ............................................................................................................. 679REPLACE .....................................................................................................680REVERSE .......................................................................................................... 680RIGHT .........................................................................................................680RPAD ..................................................................................................................681RTRIM ............................................................ ........ .........................................681SOUNDEX .........................................................................................................682SPACE ................................................................................................................ 682SUBSTRING ...................................................................................................... 682SUBSTRING-INDEX .......................................................................................683TRIM ............................................................................................................684UCASE ...............................................................................................................684UPPER ...............................................................................................................684Funciones numericas ...............................................................................................685ABS .....................................................................................................................685ACOS ..................................................................................................................685ASIN ..................................................................................................................686ATAN ................................................................................................................. 686ATAN2 ................................................................................................................ 686CEILING ............................................................................................................ 686COS .....................................................................................................................687COT .....................................................................................................................687DEGREES .......................................................................................................... 687EXP .....................................................................................................................688FLOOR ...............................................................................................................688FORMAT ............................................................................................................689GREATEST ........................................................................................................689LEAST ...............................................................................................................690LN ........................................................................................................................690LOG .....................................................................................................................690LOG10 .................................................................................................................691LOG2 ................................................................................................................... 691MOD ...................................................................................................................691PI ......................................................................................................................... 692POW ...................................................................................................................692 14. POWER ..............................................................................................................692RADIANS ..........................................................................................................692RAND .................................................................................................................693ROUND ..............................................................................................................693SIGN ...................................................................................................................694SIN ......................................................................................................................694SQRT ...................................................................................................................695TAN ..................................................................................................................... 695TRUNCATE .......................................................................................................695Funciones agregadas ............................................................................................. 696AVG ..................................................................................................................... 696 BIT -AND ........................................................................................................... 696 BIT-OR ..............................................................................................................697 COUNT ...............................................................................................................697 MAX ...................................................................................................................697 MIN .....................................................................................................................698 STD .....................................................................................................................698 STDDEV ............................................................................................................698 SUM .................................................................................................................... 698Otras 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 15. NULLIF ............................................................................................................ 709PASSWORD ...................................................................................................... 709RELEASE-LOCK ...................................................................................... 710SESSION-USER ...............................................................................................710SHA ..................................................................................................................... 711SHA1 .................................................................................................................. 711SY STEM-USER ..... ...........................................................................................711USER .................................................................................................................711VERSION ..... ................ ............ ........ . . . . . . . . . . . .......... . . . . 711C. API PHP ............................................................................................................ 7 15Opciones de configuracion PHP ............ .................. ........... . . . . . . ........... 715Funciones MySQL PHP ......................................................................................... 716msyql-affected-rows .... ............................. ................ ................................ .....7 16msyql-change-user ....... ....... ............... ......... ... . ......... . ............ ........... .717mysql-client -encoding ................................................ ............... ................ .....717msyql-close ...... ............ ............ ..... ..... . ................... ..................... . . . . .7 18msyql-connect ............................................................. ............... ......................718msyql-create-db ........................................................................................... 719msyql -data -seek .......... ........ ..... .......... ..... . .. . . ........... ............ ....... . .719msyql-db -name ................................................................................................ 720mysql-db-query ................................................................................................ 720msyql-drop-db .................. ................ . . . . . . ................. ............... . . . . . 721msyql-errno .... ............... .......... .. ......... . . . . . . . ......... . . ......... . . . . . .721msyql-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 .................. ............................... . ...... . . . .........731 mysql -get-host-info .......................................................................... ..............., 731 mysql_getqroto-info ...... ........ .................. .................. . . . . ................. .731 mysqlxet -server -info ......................................................................................732 16. mysql info ........................................................................................................... . 732mysql insert id ................................................................................................... 732 . .mysql list dbs .............................................................................................. . . 733mysql list fields ................................................................................................. 733 . .mysql listqrocesses ......................................................................................... 734 .mysql-list-tables ................................................................................................ 735mysql-num-fields ............................................................................................... 735mysql-num-rows ................................................................................................ 735mysqlqconnect .................................................................................................. 736mysqlqing .....................................................................................................737mysql-query ........................................................................................................ 737mysql-real-escape-string ................................................................................. 738mysql-result ........................................................................................................ 738mysql-select -db ................................................................................................. 739mysql-stat ........................................................................................................... 739mysql -tablename ................................................................................................ 740mysql-thread-id ................................................................................................. 740mysql-unbuffered-query ................................................................................... 741D. DBI Per1 ............................................................................................................ 7 4 3Metodos de la clase DBI ........................................................................................ 744available-drivers .............................................................................................. 744connect ................................................................................................................ 744connect cached .................................................................................... .............. 745 . data sources ....................................................................................................... . 746trace .....................................................................................................................746Metodos DBI comunes a todos 10s identificadores .............................................. 746err ........................................................................................................................ 747errstr ....................................................................................................................747func ......................................................................................................................747set err ..................................................................................................................747state .....................................................................................................................748trace .....................................................................................................................748trace msg ........................................................................................................... . 748Funciones de utilidad DBI ...................................................................................... 748hash ..................................................................................................................... 748looks like number ............................................................................................. . . 748neat ......................................................................................................................749neat list ............................................................................................................... . 749Metodos de identificadores de base de datos ....................................................... 749begin work ......................................................................................................... 749 .column info ..........................................................................................................749commit ................................................................................................................. 749 17. disconnect ........................................................................................................... 750do ......................................................................................................................... 750foreign -key-info ................................................................................................ 750get-info ............................................................................................................... 751ping ......................................................................................................................751prepare ................................................................................................................ 751prepare -cached .................................................................................................. 751primary -key ........................................................................................................752primary -key-info .............................................................................................. 752quote .................................................................................................................... 752quote-identifier ................................................................................................... 752rollback ................................................................................................................752selectall-arrayref ..............................................................................................752selectall -hashref ................................................................................................753selectcol -arrayref .............................................................................................. 753selectrow-array .................................................................................................753selectrow-arrayref ............................................................................................. 754 selectrow-hashref() ........................................................................................... 754table-info ............................................................................................................754tables ................................................................................................................... 754type-info .............................................................................................................754Metodos de procesamiento de instrucciones ........................................................ 755 bind-col ...............................................................................................................755 bind-columns ...................................................................................................... 755 bindqaram ......................................................................................................... 755 bindqaram -array .............................................................................................. 757 bindqararn-inout ...............................................................................................757dump-results ....................................................................................................... 757execute ................................................................................................................ 758 execute -array .....................................................................................................758 fetch ..................................................................................................................... 759 fetchall -arrayref ................................................................................................ 759 fetchall-hashref .................................................................................................. 760 fetchrow -array ................................................................................................... 760 fetchrow-arrayref ..............................................................................................760 fetchrow-hashref ...............................................................................................760 finish .................................................................................................................... 761 rows .....................................................................................................................761Atributos DBI comunes a todos 10s identificadores .............................................761 Active .................................................................................................................. 761 ActiveKids .......................................................................................................... 762 CachedKids .........................................................................................................762 ChopBlanks .........................................................................................................762 CompatMode ...................................................................................................... 762 18. FreeHashKeyName ...........................................................................................762HandleError ........................................................................................................ 762 InactiveDestroy ..................................................................................................763 Kids .....................................................................................................................763 LongReadLen ..................................................................................................... 763 LongTruncOK ..................................................................................................... 763 PrintError ............................................................................................................ 763 private-* ............................................................................................................. 764 Profile ..................................................................................................................764 RaiseError ...........................................................................................................764 ShowErrorStatement .......................................................................................... 764 Taint ............................ : ........................................................................................765 Warn .................................................................................................................... 765Atributos de identificadores de base de datos ...................................................... 765 Autocommit ........................................................................................................ 765 Driver .................................................................................................................. 765 Name ...................................................................................................................765 RowCacheSize ...................................................................................................766 Statement ............................................................................................................766Atributos 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 ........................................................................................768Paramvalues .......................................................................................................768PRECISION .......................................................................................................768RowsInCache .....................................................................................................768SCALE ................................................................................................................768Statement ............................................................................................................768TYPE .................................................................................................................. 769Atributos dinamicos ................................................................................................. 769err ........................................................................................................................769errstr .................................................................................................................... 769lasth ..................................................................................................................... 769rows .....................................................................................................................769state ..................................................................................................................... 769Breve ejemplo de DBI Per1 ....................................................................................770 19. 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 ................................................................................................. 20. getTypeMap ................................................................................................... 784isclosed ............................................................................................................... 785isReadOnly ..........................................................................................................785nativeSQL ...........................................................................................................785preparestatement ............................................................................................... 785rollback ................................................................................................................785setAutoCommit ...................................................................................................785setReadOnly .......................................................................................................785setTransactionlsolation ...................................................................................... 786setTypeMap ........................................................................................................786Metodos de instrucciones y de instrucciones preparadas ....................................786addBatch ......................................................................................................786clearBatch ........................................................................................................... 786clearwarnings .....................................................................................................786close .....................................................................................................................787execute ...........................................................................................................787executeBatch ......................................................................................................787executeQuery ..................................................................................................... 787executeupdate .................................................................................................... 787getconnection .....................................................................................................787getFetchSize ....................................................................................................... 788getMaxFieldSize .................................................................................................788getMaxRows ................................................................................................. 788getMoreResults ................................................................................................... 788getQueryTimeout ................................................................................................ 788getResultSet ........................................................................................................788 getResultType ..................................................................................................... 789 getupdatecount .................................................................................................. 789 setXXX ................................................................................................................ 789 setCursorName ................................................................................................... 790 setEscapeProcessing ..........................................................................................790 setFetchSize ........................................................................................................ 790 setMaxFieldSize ................................................................................................. 790 setMaxRows .......................................................................................................791 setQueryTimeout ................................................................................................791Metodos Resultset .................................................................................................. 791 absolute .........