Instalación de MySQL y requerimientos para su instalación

46
Instalación de MySQL y requerimientos para su instalación. Antes que nada primero tendremos que entrar al sitio oficial de MySQL: Después a la pestaña Downloads y descargar el programa:

Transcript of Instalación de MySQL y requerimientos para su instalación

Page 1: Instalación de MySQL y requerimientos para su instalación

Instalación de MySQL y requerimientos para su instalación.

Antes que nada primero tendremos que entrar al sitio oficial de MySQL:

Después a la pestaña Downloads y descargar el programa:

Te mandara a otra página eliges la opción Microsoft Windows y descargar el en el botón

Downloads:

Page 2: Instalación de MySQL y requerimientos para su instalación

Después aparecerá esta pantalla le damos a New Users en Proceed:

En eso tendremos la siguiente pantalla y llenaremos el formulario des pues se descargara el

programa de MySQL:

Page 3: Instalación de MySQL y requerimientos para su instalación

Después de tener el programa tendremos este archivo de instalación como el de abajo y le damos

doble clic en el:

Nos aparecerá la siguiente ventana le oprimiremos a ejecutar y aparecerá el siguiente recuadro

posteriormente:

Después aparecerán dos recuadros que si desea confirmar la instalación del programa y le diremos

que si y aparecerá la venta de la imagen de abajo y le pincharemos en Install MySQL Products:

Page 4: Instalación de MySQL y requerimientos para su instalación

Posteriormente después aparecer esta ventana ¨LEER TODOS LOS TERMINOS Y CONDICONES¨ y aceptar y oprimir Next:

En la siguiente ventana le damos un clic a Ejecute y checara los requerimientos y después

podemos oprimir nuevamente Next:

Page 5: Instalación de MySQL y requerimientos para su instalación

Nuevamente aparecerá una ventana como se muestra en la figura seleccionaremos el tipo de

instalación, ruta de ubicación, ruta de instalación.

Page 6: Instalación de MySQL y requerimientos para su instalación

Después de oprimir Next aparecerá la siguiente pantalla y oprimiremos Execute:

Después de Execute se instala Microsoft Visual C++ 2010 que fue el único que falto de los

requerimientos y se instala, damos finalizar y aparecerá la misma ventana pero ahora con el boton

Next damos un clic:

Page 7: Instalación de MySQL y requerimientos para su instalación

En la pantalla siguiente aparecerá esta ventana y le damos Execute y se instalaran uno por uno

posterior a eso aparecerá la misma venta pero ahora con el botón de Next pinchamos el botón y

oprimimos:

Page 8: Instalación de MySQL y requerimientos para su instalación

Ahora en tu monitor aparecerá en tu pantalla y oprimirás Next para que se configure:

Page 9: Instalación de MySQL y requerimientos para su instalación

Bueno configuras el programa como más te convenga y el servidor que mas te convenga:

Le das una contraseña a la cuenta y si quieres agregar mas usuarios seria en Add User (repito

como tú quieres elegir solo daría el nombre de los usuarios) y oprimes Next:

Page 10: Instalación de MySQL y requerimientos para su instalación

Eliges la un nombre para cuenta y eliges la opción que mas te agrade y pincharemos Next y

empezar a instalarse la configuración:

Page 11: Instalación de MySQL y requerimientos para su instalación

Y oprimimos Next después:

Ahora solo aparecerá esta ventana y oprimimos Finish:

Page 12: Instalación de MySQL y requerimientos para su instalación

Y se abrirá el programa ya instalado:

Requisitos de Windows

Una copia de la distribución binara de MySQL para Windows, que se puede descargar

dehttp://dev.mysql.com/downloads/. Consulte Sección   2.1.3, “Cómo obtener MySQL” .

Nota: Si se descarga la distribución a través de FTP, se recomienda el uso de un cliente FTP

adecuado que posea la característica de reanudación (resume) para evitar la corrupción de

ficheros durante el proceso de descarga.

Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de distribución.

Suficiente espacio en disco rígido para descomprimir, instalar, y crear las bases de datos de

acuerdo a sus requisitos. Generalmente se recomienda un mínimo de 200 megabytes.

También podrían necesitarse los siguientes ítems opcionales:

Si se planea conectarse al servidor MySQL a través de ODBC, se deberá contar con un driver

Connector/ODBC. Consulte Sección   25.1, “MySQL Connector/ODBC” .

Page 13: Instalación de MySQL y requerimientos para su instalación

Si se necesitan tablas con un tamaño superior a 4GB, debe instalarse MySQL en un sistema de

ficheros NTFS o posterior. Al crear las tablas no debe olvidarse el uso

de MAX_ROWS y AVG_ROW_LENGTH. Consulte Sección   13.1.5, “Sintaxis de   CREATE TABLE ” .

Antes que nada MySQL Workbench requiere ciertas características para funcionar sin problemas. Los requisitos mínimos de hardware son los siguientes:CPU: Intel Core a 3GHz (o de doble núcleo a 2 GHz) o la igualdad de la CPU de AMDNúcleos: Individual (Dual / Quad Core es recomendado) Memoria: 1GB (2GB recomendado) Aceleradores Gráficos: nVidia o ATI con soporte de OpenGL 1.5 ó superiorResolución de pantalla: 1280 × 1024, se recomienda 1024 × 768 es mínima. Requisitos de software

• Windows 7 (de 64 bits, Profesional

• Windows XP SP3, Windows Vista

MySQL Creación de la base de Datos

Primero que nada para crear una base de datos tenemos que abrir el programa e introducir la clave

y usuario en donde vamos a trabajar:

Posteriormente nos aparecerá la siguiente captura donde podemos empezar a trabajar:

Page 14: Instalación de MySQL y requerimientos para su instalación

Crearemos la base de datos escribiendo CREATE DATABASE TALLERBD (TALLERBD es el nombre yo elegí este para el ejemplo tú puedes elegir el que te guste) y después oprimimos la pestaña Query y damos Execute (All/ Selection) o al rayo que se muestra en la imagen para ejecutar la instrucción:

Page 15: Instalación de MySQL y requerimientos para su instalación

Posteriormente abajo nos aparecerá un mensaje que sea creado y si volvemos a ejecutar la instrucción no marcara u error que ya existe esa Base de Datos y en el cuadro donde dice Object Browser nos aparecerá la Base de Datos y todos sus componentes (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la Base de Datos:

MySQL Creación de Tablas sin llaves ni restricciones

Primero tendremos que encontrarnos en el programa, después escribimos Create Table

tallerbd.Alumnos (Alumnos es el nombre yo elegí este para el ejemplo tú puedes elegir el que te

guste), escribimos los datos de la tabla los que tu necesites y su nombre (para efectos de la

practica elegí algunos) y después oprimimos la pestaña Query y damos Execute (All/

Selection) o al rayo que se muestra en la imagen para ejecutar la instrucción:

Instrucción del ejemplo:

CREATE TABLE tallerbd.ALUMNOS

(CONTROL CHAR (8),APELLIDOP VARCHAR (20),APELLIDOM VARCHAR (20), NOMBRE VARCHAR (20),FECHANAC DATETIME)

Page 16: Instalación de MySQL y requerimientos para su instalación

Posteriormente abajo nos aparecerá un mensaje que sea creado y si volvemos a ejecutar la instrucción no marcara u error que ya existe esa tabla y en el cuadro donde dice Object Browser nos aparecerá en la Base de Datos la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla:

MySQL Creación de Tablas con valores predeterminados

Page 17: Instalación de MySQL y requerimientos para su instalación

Para conocer como se crean tablas con valores predeterminados, primero debes conocer que es un valor predeterminado: los valores predeterminados especifican qué valores se utilizan en una columna si no se especifica un valor al insertar las filas. Por ejemplo cuando tu llenas los datos de la tabla y se tiene introducir la fecha y no sabes a que horas son en realidad puedes poner un valor predeterminado para que se ponga solo si tu le das valor ojo ese valor se respetara, pero si no introdujiste alguna hora automáticamente se escribirá la que el servidor tenga no la maquina donde se esté haciendo el llenado.

Después de esta breve explicación podremos empezar a crear la tabla con valores predeterminados, tendremos que estar en MySQL ya como se dijo en los primeros puntos. Ejemplo con todas las instrucciones:

CREATE TABLE tallerbd.ALUMNOS(CONTROL CHAR (8),APELLIDOP VARCHAR (20),APELLIDOM VARCHAR (20),NOMBRE VARCHAR (20),FECHA TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (valor predeterminado))

Después de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection) , si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla:

Page 18: Instalación de MySQL y requerimientos para su instalación

MySQL Creación de Tablas con campos de identidadAl trabajar con base de datos debemos cumplir con las formas normales para garantizar la

integridad de la información así como para evitar la redundancia de la misma.

La primera forma normal indica entre otras cosas que la tabla debe contener una clave primaria la

cual será única y no deberá contener valores nulos. Para podemos crear un campo de identidad, se

puede definir una columna de valor incremental al momento de crear su tabla o alterar su

estructura.

Adicionalmente, se puede definir una "semilla" que se utilizara como valor inicial, en la primera fila,

mientras que se utilizara el valor "incremento" para ir calculando los siguientes.

AUTO_INCREMENT que significa que ese campo (numérico entero, por supuesto) toma valores de

forma automática (incrementa en una unidad el último valor) cada vez que se añade un nuevo

registro. En MySQL los campos autoincrementales siempre tienen que ser definidos como

índices del tipo PRIMARY KEY.

Bueno empezaremos a crear la tabla con el campo de identidad lo primero que debemos hacer

como siempre estar en el programa e introducir las sentencias:

CREATE TABLE tallerbd.ALUMNOS(FOLIO SMALLINT AUTO_INCREMENT PRIMARY KEY (Campo de identidad),CONTROL CHAR (8),APELLIDOP VARCHAR (20),APELLIDOM VARCHAR (20),NOMBRE VARCHAR (20),Fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

Page 19: Instalación de MySQL y requerimientos para su instalación

Al de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con campos de identidad:

Page 20: Instalación de MySQL y requerimientos para su instalación

MySQL Creación de Tablas con campos calculados

Un campo calculado es un campo que no se almacena físicamente en la tabla. Se calcula por el

manejador por parte de una indicación que le indiquemos. Un campo calculado no puede:

-definirse como "not null".- ser una subconsulta.- tener restricción "default" o "foreign key".- insertarse ni actualizarse.

Bueno eso es lo que es un campo calculado en resumidas cuentas pero hay un pequeño problema

que el manejador MySQL no soporta campos calculados pero les daré un ejemplo de SQL (para

que tengan un conocimiento). Lo que se encuentra en anaranjado es el campo calculado ya que

esta formado por NOMBRE + APELLIDOP + APELLIDOM (tubo que calcularse con otros ya que el no

existía):CREATE TABLE tallerbd.ALUMNOS(CONTROL CHAR (8) NOT NULL,APELLIDOP VARCHAR (20) NOT NULL,APELLIDOM VARCHAR (20) DEFAULT ' ',NOMBRE VARCHAR (20) NOT NULL,NOMCOMPLETO AS (NOMBRE + " " + APELLIDOP +" "+ APELLIDOM),FECHANAC DATETIME NOT NULL,DOMICILIO VARCHAR (20),)

MySQL Creación de Tablas con llaves primariasSe puede definir una clave primaria sobre una columna, usando la palabra clave KEY o PRIMARY KEY. Sólo puede existir una clave primaria en cada tabla, y la columna sobre la que se define una clave primaria no puede tener valores NULL. Si esto no se especifica de forma explícita, MySQL lo hará de forma automática.

Bueno para hacer este ejemplo cambiaremos la tablas al cabo solo es para aprender no importa en

este momento. Empezaremos a crear la tabla con el campo de identidad lo primero que debemos

hacer como siempre estar en el programa e introducir las sentencias:

CREATE TABLE tallerbd.Clientes(CLIENTEID SMALLINT NOT NULL,NOMBRE VARCHAR (50) NOT NULL,RFC CHAR (15) NOT NULL,DOMICILIO VARCHAR (50),CONSTRAINT PK_CLIENTES PRIMARY KEY (CLIENTEID) (Llave primaria))

Bueno ya podemos llenar la tabla con datos ya que anteriormente no permita, no hasta tener llave primaria no podíamos introducir datos ya que en MySQL no nos permitía (si quieres saber como se llenan crearemos la tabla y en el siguiente subtema aprenderemos ya que utilizaremos esta tabla).

Page 21: Instalación de MySQL y requerimientos para su instalación

Al de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos con la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria:

MySQL Creación de Tablas con llaves foráneas

Page 22: Instalación de MySQL y requerimientos para su instalación

Estrictamente hablando, para que un campo sea una clave foránea, éste necesita ser definido como

tal al momento de crear una tabla. Se pueden definir claves foráneas en cualquier tipo de tabla de

MySQL, pero únicamente tienen sentido cuando se usan tablas del tipo InnoDB. A partir de la

versión 3.23.43b, se pueden definir restricciones de claves foráneas con el uso de tablas InnoDB.

InnoDB es el primer tipo de tabla que permite definir estas restricciones para garantizar la integridad

de los datos.

Para trabajar con claves foráneas, necesitamos hacer lo siguiente:

Crear ambas tablas del tipo InnoDB. Usar la sintaxis FOREIGN KEY (campo_fk) REFERENCES nombre_tabla (nombre_campo) Crear un índice en el campo que ha sido declarado clave foránea.

InnoDB no crea de manera automática índices en las claves foráneas o en las claves referenciadas,

así que debemos crearlos de manera explícita. Los índices son necesarios para que la verificación

de las claves foráneas sea más rápida. . A continuación se muestra como definir las dos tablas de

ejemplo con una clave foránea (pero la del ejemplo anterior no pude servir así que la utilizaremos y

solo escribiremos la nueva con la llave foránea).

Bueno para hacer este ejemplo tendremos que hacer dos tablas para eso cambie las tablas del

ejemplo anterior que es la que utilizaremos para un mejor entendimiento al cabo es para aprender

no importa en este momento. Empezaremos a crear la tabla con el campo de identidad lo primero

que debemos hacer como siempre estar en el programa e introducir las sentencias (las sentencias

serán las mismas que la tabla anterior solo se le agregara ENGINE = INNOBD como se muestra en

la figura de abajo):

Page 23: Instalación de MySQL y requerimientos para su instalación

Al de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos con la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria:

Ahora crearemos la segunda tabla que esta debe contener la llave primaria de la primera tabla parte

una propia ella ya que será la llave foránea en la tabla nueva (lo de rojo es lo de la llave foráneas):

CREATE TABLE tallerbd.venta( ID_FACTURAS INT NOT NULL, CLIENTEID SMALLINT NOT NULL, CANTIDAD INT, PRIMARY KEY (ID_FACTURAS), INDEX (CLIENTEID), CONSTRAINT FK_venta_clientes FOREIGN KEY (CLIENTEID) REFERENCES clientes (CLIENTEID) ON DELETE NO ACTION ON UPDATE CASCADE) Engine = innodb

ON NO ACTION ON CASCADE SET NULL

Al de escribir las instrucciones damos al rayo. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos con la tabla que hemos creado y la tabla clientes que ya la teníamos creada anteriormente (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria y llave foránea:

PARA SABER QUE HACER CUANDO SE ELIMINEN O SE ACTUALICE UNA LLAVE FORANEA (SUCEDERA EN LAS DOS TABLAS EN LA

LLAVE FORANEA DEPENDIENDO QUE LE PONGAS).

Page 24: Instalación de MySQL y requerimientos para su instalación

Bueno ya podemos llenar la tablas con datos ya que anteriormente no hasta la llave primaria no podíamos introducir datos ya que en MySQL no nos permitía hasta tener una llave primaria, aparte dejamos esta parte para así explicar solo una vez como se llena la tabla, donde dice Object Browser nos aparecerán las Base de Datos con las tablas que hemos creado damos clic derecho en clientes, antes que nada primero tendremos que llenar la tabla de clientes, ya que no se puede llenar la tabla de venta primero por que esta depende de clientes por la llave foránea que hemos creado:

Page 25: Instalación de MySQL y requerimientos para su instalación

Nos parecerá la siguiente pantalla ahí llenaremos dos registros para efectos de aprendizaje pero pueden ser los que tú quieras damos un pinchazo APPLY para aplicar cambios:

Enseguida de haber oprimido aparecerá esta ventana y posterior otra que confirmemos al acabar de llenar datos ala tabla:

Pasaremos a llenar la siguiente tabla serán los mismos pasos que el primero pero ahora en ventas y aparecerá la siguiente pantalla (y tendré algunos datos ya llenados tú puedes llenarlos con los que gustes):

Page 26: Instalación de MySQL y requerimientos para su instalación

Atención: tienes que llenar la columna de CLIENTEID como la llenaste en la tabla clientes ya que esta se encuentra en las dos tablas y en ella esta la llave foránea si tu deseas introducir un CLIENTEID diferente a la base de datos no podrás introducirlo:

Bueno aquí llenamos dos registros que existen en la tabla clientes que no nos marcara error por que (son los mismos datos) puedes crear registros siempre y cuando estén en la tabla clientes en el campo de la columna de CLIENTEID así que deben contener el mismo dato en ambas:

Page 27: Instalación de MySQL y requerimientos para su instalación

Después de llenar le damos APPLY para continuar:

Bueno los campos que hemos llenado son correctos ahora si quieres comprobar si se pueden llenar la tabla venta con un CLIENTEID diferente que no se encuentre en la tabla clientes puedes seguir los mismos pasos pero no te dejara agregar los campos.

MySQL Creación de tablas con restricciones de dominio

Una definición adecuada de las restricciones de los dominios permite verificar los valores introducidos en la base de datos. También permite examinar las consultas para asegurarse de que tengan sentido las comparaciones que hagan. El principio subyacente a los dominios de los atributos es parecido al de los tipos de las variables en los lenguajes de programación. Los� lenguajes de programación con tipos estrictos permiten al compilador examinar el programa con mayor detalle.

Bueno algo mas simple seria es una validación que queremos haga por nosotros (que escribiremos

mediante sentencia). Son verificaciones que son declarados al nivel del campo, y que restringe el

valor valido.

Empezaremos a crear la tabla con el campo de restricción de dominio lo primero que debemos hacer como siempre estar en el programa e introducir las sentencias:

CREATE TABLE tallerbd.ALUMNOS(

CONTROL CHAR (8) NOT NULL,APELLIDOP VARCHAR (20) NOT NULL,APELLIDOM VARCHAR (20) NOT NULL DEFAULT " ",NOMBRE VARCHAR (20) NOT NULL,FECHANAC DATETIME NOT NULL,GENERO ENUM (‘F’,'M'),CONSTRAINT PK_ALUMNOS PRIMARY KEY (CONTROL)

Page 28: Instalación de MySQL y requerimientos para su instalación

))

Lo rojo seria lo de la restricción de dominio debes de declarar el campo y luego hacer la restricción de dominio con ENUM (NO ES NECESARIO PONER UN TIPO A ESE CAMPO).

Al de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos con la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla restricción de dominio:

Page 29: Instalación de MySQL y requerimientos para su instalación

Podemos llenar los datos pero en genero solo aceptara M o F (que son Femenino o Masculino) no podrás introducir otra cosa por que restringimos el genero.

Si Cambiamos A M O F Dejara llenar la Tabla:

Page 30: Instalación de MySQL y requerimientos para su instalación

MySQL Restructuración de tablas A) AGREGAR CAMPOSBueno agregar campos no es más que añadir otra columna a una tabla que ya esta creada, en ocasiones tendremos una tabla que ya este creada y nos veremos en la necesidad de crear un campo nuevo así que podemos agregar este sin borrar la tabla imagínate si tu tabal tiene varios registros también se eliminarían así que es una buena opción solo agregar campos.

Nota: Si tabla tiene registros y al nuevo valor que vas agregar dices que no acepte nulos ahí habla un error ya que el registro fue creado y el nuevo campo se agregó entonces no tendría ningún dato así que le podremos dar un default para que no marque ningún error ojo solo si le das la opción de que no acepte nulos daría ese error o bien se puede dar un valor predeterminado con una sentencia que posteriormente se explicara.

Aquí tenemos una tabla que ya esta creada con las diferentes columnas que tiene con un registro:

Bueno ahora agregaremos una columna nueva a esta tabla que seria ESPECIALIDAD VARCHAR (20) que no acepte nulos y que el valor por default se “?”. Así seria su sentencia:

ALTER TABLE tallerbd.alumnos ADD COLUMN ESPECIALIDAD VARCHAR (20) NOT NULL DEFAULT "?";

Page 31: Instalación de MySQL y requerimientos para su instalación

Nos muestra que fue creada y que ya no se puede volver a crear ahora checaremos que este agregada (con el valor de default que le marcamos):

B) MODIFICAR CAMPOS

Bueno modificar campos no es más que cambiarle algo a una columna de una tabla que ya esta hecha, en ocasiones tendremos una tabla que ya este creada y nos veremos en la necesidad de crear un campo como pensábamos quesería como planeamos, y después de tiempo nos damos cuenta que el campo no es lo que necesitamos en ese momento así que podremos modificarlo en vez de eliminar la tabla y de volverla a crear (imagínate que tenga registros los perderías, así que es una buena opción solo modificar el campo que necesita una restauración).

Bueno aquí tenemos una tabla que queremos modificar pero tenemos estos campos:

Page 32: Instalación de MySQL y requerimientos para su instalación

La sentencia para cambiar seria esta:

ALTER TABLE tallerbd.alumnos MODIFY COLUMN ESPECIALIDAD VARCHAR (50) NOT NULL DEFAULT "?";

Así quedaría la tabla ya modifica realizando todos los cambios:

Page 33: Instalación de MySQL y requerimientos para su instalación

Se pueden modificar si es null o not null ademas cambiar los tipos de datos, el ampliar el tamaño de un carácter no pasa nada pero si se quiere cambiar de char a int y tiene al menos un registro la tabla marca error.

No es muy recomendable cambiar al tipo de datos.

TIP si requieres disminuir por ejemplo de int a smallint modifica la forma y no la base de datos y si te piden eliminar una columna no la elimines,preferible ocultar a la interfas del usuario.

C) ELIMINAR CAMPOSEliminar campos no es más que quitar una columna de la tabla que ya esta hecha, en ocasiones tendremos una tabla que ya esta creada y nos veremos en la necesidad de que un campo sale sobrando (no se por un motivo que ya no se necesita ese campo) así que podemos eliminar este sin borrar la tabla completa, imagínate si tu tabla tiene varios registros también se eliminarían así que es una buena opción solo quitar algunos campos.

Bueno aquí tenemos una tabla que queremos modificar pero tenemos estos campos:

La sentencia para cambiar seria esta:ALTER TABLE tallerbd.alumnos DROP COLUMN ESPECIALIDAD

Vemos como ha sido eliminada la tabla abajo vienen mas ejemplos para eliminar con las tablas que hemos hecho y una explicación de ellas.

Para eliminar con dependencias primero se deben eliminar esas dependencias para poderlas eliminar (por ejemplo clienteid de las tablas anterirores):ALTER TABLE FACTURAS DROP FK_FACTURAS_CLIENTES(Eliminar restricciones no implica eliminar informacion)

ALTER TABLE CLIENTES DROP PK_CLIENTES

ALTER TABLE CLIENTES DROP COLUMN CLIENTEID

Y si nos arrepentimosALTER TABLE CLIENTES ADD CLIENTEID SMALLINT NOT NULL DEFAULT 0DESPUES MODIFICAMOS LA TABLA PARA QUE NO TENGA REGISTROS REPETIDOSALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CLIENTEID)

D) AGREGAR LLAVES FORANEASSe pueden agregar restricciones de clave foránea a una tabla con el uso de la sentencia ALTER TABLE. La sintaxis es:

ALTER TABLE nombre_tabla ADD [CONSTRAINT símbolo] FOREIGN KEY (...)REFERENCES otra_tabla (...) [acciones_ON_DELETE][acciones_ON_UPDATE]

Page 34: Instalación de MySQL y requerimientos para su instalación

Por ejemplo, la creación de la clave foránea en la tabla tallerbd.venta que se mostró anteriormente pudo haberse hecho de la siguiente manera con el uso de una sentencia ALTER TABLE:

CREATE TABLE tallerbd.venta( ID_FACTURAS INT NOT NULL, CLIENTEID SMALLINT NOT NULL, CANTIDAD INT, PRIMARY KEY (ID_FACTURAS), INDEX (CLIENTEID) ) Engine = innodb

Aquí estamos usando el ejemplo de crear llaves foranes que viene arriba pero digamos que se te olvido agregar la llave foránea, bueno puedes borrar la tabla pero si tiene datos o en ese momento no consideraste usar llave foránea seria muy complicado llenar otra vez los datos así que podemos agregarla y así seria como se agregaría:

La otra tabla seria la que usamos en la llave primaria y así ya serian las dos tablas que necesitamos y solo falta ejecutar las instrucciones (nos parecerá que fue creada correctamente):

Bueno para llenar y comprobar la tabla de cliente y ventas basta llenarlas como en el ejemplo que hicimos en la llave foránea. (Primero la de clientes como ya saben).

MySQL Eliminación de Tablas

Para esta instrucción debes tener cuidado ya que al hacerla bórralas la tabla y no podrás recupérala

así que te debes estar seguro. La instrucción es DROP TABLE tallerbd.ALUMNOS (alumnos es el

nombre de la tabla).

Page 35: Instalación de MySQL y requerimientos para su instalación

Al ejecutar esta acción nos parecerá que fue un exitosa y al volverá ejecutar mostrara que no se

puede eliminar ya que ya se elimino y ya nos aparecerá en el cuadro de la ventana donde dice

Object Browser.

MySQL Creación de índices

Page 36: Instalación de MySQL y requerimientos para su instalación

Un índice (o KEY, o INDEX) es un grupo de datos que MySQL asocia con una o varias columnas de la tabla. En este grupo de datos aparece la relación entre el contenido y el número de fila donde está ubicado.

Los índices -como los índices de los libros- sirven para agilizar las consultas a las tablas, evitando que MySQL tenga que revisar todos los datos disponibles para devolver el resultado.

Podemos crear el índice a la vez que creamos la tabla, usando la palabra INDEX seguida del nombre del índice a crear y columnas a indexar (que pueden ser varias):INDEX nombre_indice (columna_indexada, columna_indexada2...)

VentajasUna de las mayores ventajas es que cuando Mysql se encuentra un índice evitamos un “escaneo completo de la tabla” lo que hace que cuando tenemos grandes cantidades de datos en nuestras tablas, la mejora puede ser muy importante.Muy relacionado con el anterior… al evitar “escaneos completos de las tablas”, evitamos los siguientes problemas: Sobrecarga de CPU, sobrecarga de disco y concurrencia.Con los índices evitamos que MySQL tenga que hacer lecturas secuenciales.Los índices nos permiten una mayor rapidez en la ejecución de las consultas tipo SELECT lo que sea WHERE…Y por último será una ventaja para aquellos campos que no tengan datos duplicados, sin embargo si es un campo con valores que se repiten continuamente (Ej. Masculino/Femenino) no es aconsejable.Desventajas de los índices

 Los índices se actualizan cada vez que se modifica la columna o columnas que utiliza. Por ello no es aconsejable usar como índices columnas en las que serán frecuentes operaciones de escritura (INSERT, UPDATE, DELETE).

Tampoco tendría sentido crear índices sobre columnas cuando cualquier select sobre ellos va a devolver una gran cantidad de resultados; por ejemplo una columna booleana que admita los valores Y/N. En fin, tampoco es necesario usar índices en tablas demasiado pequeñas, ya que en estos casos no hay ganancia de rapidez frente a una consulta normal. Finalmente, los índices ocupan espacio. A veces, incluso mas que la tabla de datos.

A) ÍNDICES SENCILLOS

Un índice que no es primario permite valores duplicados.

CREATE TABLE nombre_tabla (Campo 1,Campo 2,INDEX (campo1 [, campo2]))

Crearemos la base tabla con la siguiente sentencia (índice esta con rojo):

CREATE TABLE tallerbd.a ( A VARCHAR (10), b VARCHAR(10), INDEX (a, b))

Page 37: Instalación de MySQL y requerimientos para su instalación

Después de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con el índice :

B) ÍNDICES COMPUESTOSLos índices compuestos son simplemente aquellos que están basados en múltiples columnas. MySQL únicamente usa un índice por tabla cuando está procesando una consulta. Esto significa que si tenemos varias columnas que frecuentemente aparecen juntas en una cláusula WHERE, tenemos la oportunidad de acelerar estas consultas al crear un índice compuesto.

Si una tabla tiene un índice formado por múltiples columnas, cualquier prefijo más a la izquierda puede ser usado por el optimizado de consultas de MySQL para encontrar las filas. Por ejemplo, si tenemos un índice compuesto por tres columnas (col1, col2, col3), tendríamos capacidades de búsqueda en (col1), (col1, col2) y (col1, col2, col3).

Podemos crear un índice compuesto al mismo tiempo que creamos la tabla con el uso de la opción INDEX.CREATE TABLE nombreTabla (campo1 tipoDato, campo2 tipoDato,..INDEX [nombreIndice] (campo1 [, campo2...]));

Crearemos la base tabla con la siguiente sentencia (índice compuesto esta con rojo):

Page 38: Instalación de MySQL y requerimientos para su instalación

CREATE TABLE tallerbd.a ( A VARCHAR (10), b VARCHAR (10), INDEX i_ab (a, b) )Tenemos un índice para los campos a y b, llamado i_ab (la verdad, el nombre no importa mucho). 

Después de escribir las instrucciones damos al rayo u oprimimos la pestaña Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. También nos mostrara la ventana donde dice Object Browser nos aparecerá en la Base de Datos la tabla que hemos creado (si no sale solo tendrás que dar a las flechas para actualizar) y tendremos creada la tabla con el índice compuesto:

MySQL Eliminación de índicesAlgunas veces tendremos la necesidad de cambiar o eliminar un índice. Cuando hagamos algún cambio en el índice, necesitamos eliminar primero el índice y entonces reconstruirlo con la nueva definición.La sentencia seria:

Page 39: Instalación de MySQL y requerimientos para su instalación

Aquí nos aparece que el indice asido eliminado ojo el indice no el campo: