• No se han encontrado resultados

lndice 1. Guia rapida de MySQL...

N/A
N/A
Protected

Academic year: 2022

Share "lndice 1. Guia rapida de MySQL..."

Copied!
10
0
0

Texto completo

(1)
(2)

lndice

Introduccidn

...

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

(3)

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

...

(4)

...

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

(5)

.

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

...

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

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

(6)

...

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

...

2 6 3 ... Funciones definidas por el usuario 264 ... Funciones UDF estandar 268 ... La funcion init 268 La funcion principal ... 270

... La funcion deinit 272 ... Creacion de una UDF estandar de ejemplo 272 Analisis de las funciones agregadas ... 274

Creacion de una UDF agregada de ejemplo ... 275

... Resolucion de problemas de UDF 278 Resumen ... 278

...

Parte I1

.

Diseiio de una base de datos 2 8 1

...

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

...

2 9 7

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

(7)

9

.

Diseiio de bases de datos

...

3 2 1

...

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

...

3 4 7 10

.

Administracibn baisica

...

3 4 9 ... 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

(8)

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

(9)

. .

...

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

4 7 1 ...

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

(10)

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

...

5 7 9 ... 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

...

6 0 1 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

Referencias

Documento similar

En este breve documento se explican los procedimientos para la actualización (o edición) de registros desde Mi Gredos, la parte privada y personal.. del

Además esta cartera de complementos de formación propios del Programa de Doc- torado se abrirá y ofertará, siempre que la condiciones del proceso docente lo permitan y asegurando que

Artículo 1 º.Queda incluida en las disposiciones de la Ley Nº 18.237 de 20 de diciembre de 2007 de Expediente Electrónico Judicial, en lo concerniente al gobierno

En la sección de “Selecciona Cliente y Despacho”podemos escribir el # de tienda o nombre del departamento o hacer la opción de drop down xx para ver las opciones.. Otros –

PREGUNTAS BASICAS: (UNICAMENTE PARA MUJERES) Para ayudarte a crecer y conocer a Dios mediante la verdad revelada en tu tiempo de meditación.. ¿Le has entregado tu corazón

Una copia de este artículo en letras de tamaño no menor de un centímetro (1 cm), expresados en petros y el valor del petro para el día, se fijará en un lugar visible al

Para trasladar registros entre tablas a través de consultas de datos anexados, primero debemos crear una consulta de selección en la Vista Diseño, con los campos de la tabla

anteproyecto el arquitecto Vilamajó ha tratado de armonizar, y lo ha conseguido con una solución feliz y de alto valor arquitectónico, el interés de la Facultad de