Está en la página 1de 11

Jhon Zabala

Experto en Contenido

Albenis Cortés
Asesora Pedagógica

Héctor Jair Neira


Diseñador Gráfico

Juan Carlos Velásquez


Editor y Corrector de Estilo

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
4. Edición de Datos

En este capítulo se desarrollará la temática para adicionar, modificar y eliminar datos a través
de comandos sql.

4.1 Comandos para la modificación de datos

Veamos a continuación la sintaxis de creación de las tablas en la base de datos Colombia.


TABLE DEPARTAMENTO

CREATE TABLE IF NOT EXISTS `colombia`.`departamento` (


Libro de Contenido

`idDepartamento` INT(11) NOT NULL ,


`nom` VARCHAR(50) NULL DEFAULT NULL ,

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
2
PRIMARY KEY (`idDepartamento`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

TABLA MUNICIPIO

CREATE TABLE IF NOT EXISTS `colombia`.`municipio` (


`idMunicipio` INT(11) NOT NULL ,
`capital` VARCHAR(50) NULL DEFAULT NULL ,
`superficie` FLOAT NULL DEFAULT NULL ,
`poblacion` INT(11) NULL DEFAULT NULL ,
`clima` VARCHAR(10) NULL DEFAULT NULL ,
`departamento_idDepartamento` INT(11) NOT NULL ,
PRIMARY KEY (`idMunicipio`, `departamento_idDepartamento`) ,
INDEX `fk_municipio_departamento` (`departamento_idDepartamento` ASC),
CONSTRAINT `fk_municipio_departamento`
FOREIGN KEY (`departamento_idDepartamento` )
Libro de Contenido

REFERENCES `colombia`.`departamento` (`idDepartamento` )


ON DELETE NO ACTION

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
3
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

UPDATE: Este comando actualiza columnas en registros de tabla existentes con nuevos
valores. Cuenta con varias cláusulas.

SET: Indica qué columna modificar y los valores que puede recibir.

WHERE: Específica qué registros deben actualizarse. De otro modo, se actualizan todos los
registros.

ORDER BY: Se especifican los registros y se actualizan en el orden que se especifica.

LIMIT: Es el límite de registros a actualizar.

Además soporta las siguientes modificaciones:

LOW_PRIORITY: La ejecución de UPDATE se retrasa hasta que no haya otros clientes


leyendo de la tabla.

IGNORE: El comando de actualización no aborta el proceso incluso si ocurren errores


durante la actualización. Así presenten conflictos de clave duplicada no se actualizan. Los
registros cuyas columnas se actualizan a valores que provocarían errores de conversión de
datos se actualizan al valor válido más próximo.

Para poder ver el cambio de cada una de las funciones, tomamos la tabla municipio y
revisamos los datos que presenta.
Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
4
Se encuentra que la población real de San Andrés es de 65.000 y no de 5.140 como lo
muestra la tabla, se debe cambiar el campo de población para San Andrés, sin necesidad
de modificar toda la tabla, empleamos el comando de actualización UPDATE, SET, WHERE
para cambiarla.

Sentencia
UPDATE municipio SET poblacion = 65000 WHERE capital = 'San Andres';
Observe el cambio:
Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
5
Recuerde que el comando UPDATE se avalúa de izquierda a derecha. Es decir, primero
actualiza las columnas de la izquierda y después los de la derecha.

Puede usar el comando LIMIT para restringir el alcance del UPDATE. El comando LIMIT es
una restricción de registros coincidentes.

Puede usar el comando ORDER BY para actualizar los registros en el orden especificado por
la cláusula.

Nota: No puede usar ORDER BY o LIMIT con un UPDATE de múltiples tablas.

4.2 Comandos para la eliminación de datos

DELETE: Borra los registros de una tabla que satisfacen la condición dada por where, y
retorna el número de registros borrados.

Si realiza un comando DELETE sin cláusula WHERE se borran todos los registros.
Libro de Contenido

Este comando cuenta con varias cláusulas como:

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
6
El comando LOW_PRIORITY, la ejecución de DELETE se retarda hasta que no hay más
clientes leyendo la tabla.

El comando IGNORE hace que MySQL ignore todos los errores durante el proceso de borrar
registros. Los errores que se ignoran debido al uso de esta opción se retornan como
advertencias.

Para poder ver el cambio de cada una de las funciones, tomamos la tabla municipio y
revisamos los datos que presenta.

Se necesita eliminar la información de Medellín como lo muestra la tabla, se debe cambiar el


campo de población para San Andrés, sin necesidad de modificar toda la tabla, empleamos
el comando para borrar DELETE, FROM, WHERE para borrarla.
Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
7
Sentencia:
DELETE FROM municipio WHERE capital = 'Medellin';
Observe el cambio:

Recuerde:
Puede especificar múltiples tablas en un comando DELETE para borrar registros de una o
Libro de Contenido

más tablas dependiendo de una condición particular en múltiples tablas. Sin embargo, no
puede usar ORDER BY o LIMIT en un DELETE de múltiples tablas.

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
8
Actualmente, no puede borrar desde una tabla y seleccionar de la misma tabla en una
subconsulta.

4.3 Comandos para la adición de datos

REPLACE, Funciona exactamente como INSERT, excepto que si un valor de la tabla tiene el
mismo valor que un nuevo registro para un índice PRIMARY KEY o UNIQUE, el antiguo
registro se borra antes de insertar el nuevo.

Recuerde que a menos que la tabla tenga un índice PRIMARY KEY, o UNIQUE usar un
comando REPLACE no tiene sentido. Es equivalente a INSERT, ya que no hay índice para
determinar si un nuevo registro duplica otro.

Los valores para todas las columnas se toman de los valores especificados en el comando
REPLACE. Cualquier columna no presente adquiere su valor por defecto, como ocurre con
INSERT. No puede referirse a valores del registro actual y usarlos en el nuevo registro.

Para ser capaz de usar REPLACE, debe tener los permisos INSERT y DELETE para la tabla.
El comando REPLACE retorna un contador con el número de registros afectados. Esta es la
suma de registros borrados e insertados. Si el contador es 1 para REPLACE de un único
registro, se inserta un registro y no se borra ninguno. Si el contador es mayor que 1, uno o
más registros se borran antes de insertar el nuevo. Es posible para un único registro
reemplazar más de un registro antiguo si la tabla contiene múltiples índices únicos y el nuevo
registro duplica valores para distintos registros antiguos en distintos índices únicos.

El contador de registros afectados hace fácil determinar si REPLACE sólo añadió un registro
o si también reemplazo alguno: Compruebe si el contador es 1 (añadido) o mayor
(reemplazados).
Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
9
Actualmente, no puede reemplazar en una tabla y seleccionar de la misma en una
subconsulta.

Resumen del capítulo No. 4

La base de datos nos permite crear una unidad organizada donde se guardará o se
alimentará de información que después mediante consultas brindarán información particular
empleando todos los datos que la integran.

Las tablas forman parte de las bases de datos y permiten organizar la información por
columnas, cada una de ellas con características tales como tipo de dato que guardará y la
cantidad de caracteres.

Estas columnas poseen llaves principales que permiten una identificación de la columna con
referente a las demás tablas dentro de la base de datos.

Como interactúe la información dentro de la base de datos, depende de la relación que existe
entre las tablas, las relaciones pueden ser uno a uno o de uno a muchos con o sin
identificación.

Enlaces

http://www.cristalab.com/tutoriales/crear-una-base-de-datos-en-mysql-c270l/

http://www.webtaller.com/construccion/lenguajes/mysql/lecciones/tipos_tablas_usadas_mysql
.php

http://www.monografias.com/trabajos14/tecnolcomp/tecnolcomp2.shtml

http://www.todoexpertos.com/categorias/tecnologia-e-internet/bases-de-
datos/mysql/respuestas/926839/crear-relaciones-en-mysql
Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
10
Bibliografía

Date, C.J (2001). Introducción a los sistemas de base de datos. México: Pearson Educación.
Silberschatz, Abraham, Korth Henry, Sudarshan S. (2006). Fundamentos de bases de datos.
España : McGraw-Hill.
David M, Kroenke. (1996). Procesamiento de bases de datos: Fundamentos, diseño e
instrumentación. México: Prentice-Hall.

Libro de Contenido

Todos los Derechos Reservados © 2010. Propiedad de Compensar Unipanamericana Institución Universitaria con Apoyo Académico de
MondragonUnibertsitatea (MU).
11

También podría gustarte