Base de datos (MySQL)Lenguaje MySQL, DDL (Lenguaje de definición de datos)Ing. Linda Masias Morales
Motor de base de datos MyISAMEs el tipo de tabla por defecto en MySQL desde la versión 3.23. Optimizada para sistemas operativos de 64 bits.
Motor de base de datos InnoDBInnoDB provee a MySQL con el soporte para trabajar con transacciones, además de hacer un mejor bloqueo de registros para las instrucciones SELECT muy parecido al usado por Oracle, con lo que incrementa el rendimiento y la concurrencia en ambientes multiusuario, por otro lado, InnoDB es el único formato que tiene MySQL para soportar llaves foráneas (FOREING KEY). Además de todo lo comentado, InnoDB ofrece unos rendimientos superiores a la anterior tecnología de tablas de MySQL (MyISAM).
Alter Cambiar el tipo de motor de BD.Createtable ejemplo3 (aaintnotnullauto_increment, primarykey (aa), bbint, cc char) enginemyisamalter table ejemplo3 engine=innodb
alterCambiar el nombre de una tabla. (rename)alter table ejemplo2 rename practica2
Alter y dropEliminar una columna.alter table practica2 drop column ccalter table practica2 drop column cc, drop column bb
Alter, change y modifyModificar los tipos de datos.alter table practica2 changebb cc charAlter table practica2 change cc ddintAlter table practica2 modifyddint(20) Alter table practica2 change cc ccchar(20)
Alter, addAnadir una columna a una tabla Alter table practica2 addbbintAnadir un índice a una tablaAlter table practica2 addindex(bb)
Alter, addAñadir clave primaria a una tabla createtable ejemplo5( infoIint, infoIIint, infoIIIchar, InfoIVint) engineinnodbalter table ejemplo5 add primary key (infoI)
Alter, addAñadir agroIdespues de InfoIalter table ejemplo5 add agroI char(10) after infoI
Restricciones  (foreignkey)Las definiciones de claves foráneas están sujetas a las siguientes condiciones:Ambas tablas deben ser InnoDB y no deben ser tablas temporales.En la tabla que hace referencia, debe haber un índice donde las columnas de clave extranjera estén listadas en primer lugar, en el mismo orden.
Restricciones  (foreignkey)Cuando el usuario intenta borrar o actualizar una fila de una tabla padre, InnoDB soporta cinco acciones respecto a la acción a tomar:CASCADESET NULLNO ACTIONRESTRICTSET DEFAULT
CASCADEBorra o actualiza el registro en la tabla padre y automáticamente borra o actualiza los registros coincidentes en la tabla hija. ON DELETE CASCADE
ON UPDATE CASCADE SET NULLBorra o actualiza el registro en la tabla padre y establece en NULL la o las columnas de clave foránea en la tabla hija. esto solamente es válido si las columnas de clave foránea no han sido definidas como NOT NULL.ON DELETE SET NULL 
ON UPDATE SET NULLNO ACTIONNingunaacción en el sentido de que un intento de borrar o actualizar un valor de clave primaria no será permitido si en la tabla referenciada hay una valor de clave foránea relacionado. InnoDB rechaza la operación de eliminación o actualización en la tabla padre.
RESTRICTRechaza la operación de eliminación o actualización en la tabla padre.- NO ACTION - RESTRICT son similares en tanto omiten la cláusula ON DELETE u ON UPDATE.
SET DEFAULTEsta acción es reconocida por el procesador de sentencias (parser), pero InnoDB rechaza definiciones de tablas que contengan ON DELETE SET DEFAULT 
ON UPDATE SET DEFAULT.Ejemplo CREATE TABLE padre( 	id INT NOT NULL, PRIMARY KEY (id) ) 	ENGINE=INNODBCREATE TABLE hija( id INT, padre_idINT, INDEX pad_ind(padre_id), FOREIGN KEY (padre_id) REFERENCES padre(id) 	ON DELETE CASCADE ) ENGINE=INNODB
http://dev.mysql.com/doc/refman/5.0/es/innodb-foreign-key-constraints.htmlhttp://www.comalis.com/ayuda/migrar-bd.php

Gbd8

  • 1.
    Base de datos(MySQL)Lenguaje MySQL, DDL (Lenguaje de definición de datos)Ing. Linda Masias Morales
  • 2.
    Motor de basede datos MyISAMEs el tipo de tabla por defecto en MySQL desde la versión 3.23. Optimizada para sistemas operativos de 64 bits.
  • 3.
    Motor de basede datos InnoDBInnoDB provee a MySQL con el soporte para trabajar con transacciones, además de hacer un mejor bloqueo de registros para las instrucciones SELECT muy parecido al usado por Oracle, con lo que incrementa el rendimiento y la concurrencia en ambientes multiusuario, por otro lado, InnoDB es el único formato que tiene MySQL para soportar llaves foráneas (FOREING KEY). Además de todo lo comentado, InnoDB ofrece unos rendimientos superiores a la anterior tecnología de tablas de MySQL (MyISAM).
  • 4.
    Alter Cambiar eltipo de motor de BD.Createtable ejemplo3 (aaintnotnullauto_increment, primarykey (aa), bbint, cc char) enginemyisamalter table ejemplo3 engine=innodb
  • 5.
    alterCambiar el nombrede una tabla. (rename)alter table ejemplo2 rename practica2
  • 6.
    Alter y dropEliminaruna columna.alter table practica2 drop column ccalter table practica2 drop column cc, drop column bb
  • 7.
    Alter, change ymodifyModificar los tipos de datos.alter table practica2 changebb cc charAlter table practica2 change cc ddintAlter table practica2 modifyddint(20) Alter table practica2 change cc ccchar(20)
  • 8.
    Alter, addAnadir unacolumna a una tabla Alter table practica2 addbbintAnadir un índice a una tablaAlter table practica2 addindex(bb)
  • 9.
    Alter, addAñadir claveprimaria a una tabla createtable ejemplo5( infoIint, infoIIint, infoIIIchar, InfoIVint) engineinnodbalter table ejemplo5 add primary key (infoI)
  • 10.
    Alter, addAñadir agroIdespuesde InfoIalter table ejemplo5 add agroI char(10) after infoI
  • 11.
    Restricciones (foreignkey)Lasdefiniciones de claves foráneas están sujetas a las siguientes condiciones:Ambas tablas deben ser InnoDB y no deben ser tablas temporales.En la tabla que hace referencia, debe haber un índice donde las columnas de clave extranjera estén listadas en primer lugar, en el mismo orden.
  • 12.
    Restricciones (foreignkey)Cuandoel usuario intenta borrar o actualizar una fila de una tabla padre, InnoDB soporta cinco acciones respecto a la acción a tomar:CASCADESET NULLNO ACTIONRESTRICTSET DEFAULT
  • 13.
    CASCADEBorra o actualizael registro en la tabla padre y automáticamente borra o actualiza los registros coincidentes en la tabla hija. ON DELETE CASCADE
  • 14.
    ON UPDATE CASCADESET NULLBorra o actualiza el registro en la tabla padre y establece en NULL la o las columnas de clave foránea en la tabla hija. esto solamente es válido si las columnas de clave foránea no han sido definidas como NOT NULL.ON DELETE SET NULL 
  • 15.
    ON UPDATE SETNULLNO ACTIONNingunaacción en el sentido de que un intento de borrar o actualizar un valor de clave primaria no será permitido si en la tabla referenciada hay una valor de clave foránea relacionado. InnoDB rechaza la operación de eliminación o actualización en la tabla padre.
  • 16.
    RESTRICTRechaza la operaciónde eliminación o actualización en la tabla padre.- NO ACTION - RESTRICT son similares en tanto omiten la cláusula ON DELETE u ON UPDATE.
  • 17.
    SET DEFAULTEsta acciónes reconocida por el procesador de sentencias (parser), pero InnoDB rechaza definiciones de tablas que contengan ON DELETE SET DEFAULT 
  • 18.
    ON UPDATE SETDEFAULT.Ejemplo CREATE TABLE padre( id INT NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODBCREATE TABLE hija( id INT, padre_idINT, INDEX pad_ind(padre_id), FOREIGN KEY (padre_id) REFERENCES padre(id) ON DELETE CASCADE ) ENGINE=INNODB
  • 19.