Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en
California, USA. Una base de datos se puede definir como un conjunto de información relacionada
que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de
datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que
manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla
tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada
elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Object 1
Características
Entre las principales características de los sistemas de base de datos podemos mencionar:
• Independencia lógica y física de los datos.
• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoría.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD)
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de
software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.
Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya
inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar
sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y
el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las
copias se mantienen consistentes.
Compartir datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los
utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser
compartida por todos los usuarios que estén autorizados.
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel
de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el
formato de los datos para facilitar su intercambio, pueden ser estándares de documentación,
procedimientos de actualización y también reglas de acceso.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un
sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros
típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función
específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación
de bajo nivel.
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas
de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en
los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se
conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las
aplicaciones que acceden a la base de datos.
Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un
mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o
se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos
y garantizan que no ocurran problemas de este tipo.
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso
de ellos.
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre
los más comunes podemos nombrar:
• Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.
• Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
• Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no
poder ser indexados.
• Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de
esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y
otra.
• Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
• Autoincrementables: son campos numéricos enteros que incrementan en una unidad su
valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que
resultan exclusivos de un registro.
Modelo entidad-relación
Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram Entity
relationship”) son una herramienta para el modelado de datos de un sistema de información. Estos
modelos expresan entidades relevantes para un sistema de información, sus inter-relaciones y
propiedades.
El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite
realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
A continuación veremos un ejemplo de ellos:
• Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From
comentarios.
• Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la
instrucción Insert. Insert Into comentarios (titulo, texto, fecha)
Values ('saludos', 'como esta', '22-10-2007')
• Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos
especificar cual o cuales son los registros que queremos borrar. Es por ello necesario
establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From
comentarios Where id='1'.
• Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso
de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que
queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar
cuáles son los nuevos valores de los campos que deseamos actualizar. Update
comentarios Set titulo='Mi Primer Comentario' Where id='1'.
Una base de datos es una colección de información organizada de forma que un programa de
ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos
es un sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una
pieza única de información; un registro es un sistema completo de campos; y un archivo es una
colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista
de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de
teléfono.
A veces se utiliza DB, de database en inglés, para referirse a las bases de datos.
http://www.maestrosdelweb.com/que-son-las-bases-de-datos/
Bases de datos
Los sistemas gestores de bases de datos son la herramienta más adecuada para almacenar los
datos en un sistema de información debido a sus características de seguridad, recuperación ante
fallos, gestión centralizada, estandarización del lenguaje de consulta y funcionalidad avanzada. En
este capítulo analizaremos algunas ideas acerca de estos importantes componentes de los SIG en la
actualidad y veremos las principales alternativas existentes, al tiempo que estudiaremos los
fundamentos de bases de datos necesarios para comprender la forma en que los datos espaciales se
almacenan en las bases de datos actuales. Asimismo, y para entender la situación presente y
conocer las ventajas e inconvenientes de los distintos métodos de almacenar la información en los
SIG, veremos la evolución de estos respecto a la arquitectura de almacenamiento de información.
Introducción
Las bases de datos son un elemento fundamental en el entorno informático hoy en día y tienen
aplicación en la práctica totalidad de campos. Concebidas con un propósito general, son de utilidad
para toda disciplina o área de aplicación en la que exista una necesidad de gestionar datos, tanto
más cuanto más voluminosos sean estos. En nuestro ámbito particular de los SIG, los datos son cada
día más voluminosos, debido no solo a una mayor cantidad de información, sino también a una
mayor precisión en esta, la cual implica un mayor volumen de datos. Además, presentan otra serie
de características (uso múltiple, necesidad de acceso eficiente para análisis, necesidad de
indexación, etc.), haciendo todas ellas que sea recomendable el uso de bases de datos y tecnologías
específicas para su manejo.
Pese a que, como veremos en este mismo capítulo, el uso de las bases de datos en el ámbito SIG no
ha sido siempre el actual, hoy en día representan una parte clave para la gestión de los datos
geográficos, en especial dentro del marco de proyectos de cierta envergadura. Aunque la realidad es
que todavía se efectúa mucho trabajo SIG sin emplear bases de datos (y las aplicaciones SIG así lo
permiten, no siendo estrictamente necesario disponer de una base de datos para almacenar la
información), la naturaleza propia de los proyectos SIG y la progresiva implantación de los SIG a
niveles más allá del uso personal traen ambas consigo un uso cada vez mayor de las bases de datos,
y por tanto una mayor necesidad de conocer el funcionamiento de estas.
Esto tiene una consecuencia directa sobre los resultados que se obtienen de la explotación de la base
de datos, presentándose al respecto ventajas como, por ejemplo:
• Mayor coherencia. La mayor calidad de los datos que se deriva de su mejor gestión deriva
en mayor calidad de los resultados.
• Mayor eficiencia. Facilitando el acceso a los datos y haciendo más sencilla su explotación,
la obtención de resultados es más eficiente.
• Mayor valor informativo. Resulta más sencillo extraer la información que los datos
contienen, ya que uno de los cometidos de la base de datos es aumentar el valor de estos
como fuente de información.
Por último, los usuarios de la base de datos también obtienen ventajas al trabajar con estas, entre los
que cabe citar:
• Mayor facilidad y sencillez de acceso. El usuario de la base de datos se debe preocupar
únicamente de usar los datos, disponiendo para ello de las herramientas adecuadas y de una
estructura solida sobre la que apoyarse.
• Facilidad para reutilización de datos. Esto es, facilidad para compartir.
De forma resumida, puede decirse que la principal bondad de una base de datos es la centralización
que supone de todos los datos con los que se trabaja en un contexto determinado, con las
consecuencias que ello tiene para una mejor gestión, acceso o estructuración de estos.
Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato
asociado.
Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros.
Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente.
Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser
distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos
contenidos.
Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible
mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se
componían de un modo similar.
suerte:)
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan y almacenan
los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un
programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y
columnas de celdas que se pueden rellenar con textos y gráficos.
Las tablas se componen de dos estructuras:
• Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de
los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres ,direcciones,
etc, cada fila contendrá un nombre y una dirección.
• Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente
a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único,
como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la Base de Datos, haciéndola accesible mediante
su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida). La estructura de
las tablas viene dada por la forma de un archivo plano, los cuales en un inicio se componían de un
modo similar.
Las tablas son los objetos principales de bases de datos que se utilizan para guardar datos.
Elemento disponible en el lenguaje HTML para la creación de recuadros rectangulares que pueden
o no estar anidados y pueden o no contener celdas(recuadros más pequeños dentro de una tabla,
pero que no se consideran tablas). Las tablas se utilizan para organizar, posicionar o dar mejor
formato a los textos y gráficos en una página web.
Pueden crearse gráficamente a través de un programa desarrollador de páginas web o manejando los
tags correspondientes del lenguaje.
Índice
• 1 Tipos de tablas proporcionales
• 1.1 Tablas con particiones
• 1.2 Tablas del sistema
• 2 Tablas persistentes
• 3 Tablas de datos
• 4 Véase también
Tablas persistentes
Son aquellas que permiten que los registros sean eliminados o borrados manualmente, son de tres
tipos:
1. Tabla Base: es en donde se encuentra toda la información de todos los registros sin que se
haga ninguna validación adicional.
2. Vistas: es una vista o relación que se hace en referencia a una fila o columna específica.
3. Instantáneos: son aquellos registros que se los puede ver de manera inmediata con solo una
referencia.
Tablas de datos
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos
recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de
Hoja de cálculo.
Las tablas se componen de dos estructuras:
1. Campo: corresponde al nombre de la columna. Debe ser único y además de tener un tipo de
dato asociado.
2. Registro: corresponde a cada columna que compone la tabla. Allí se componen los datos y
los registros. Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente.
Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser
distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros
insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los
datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos
contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible
mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida) .
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se
componían de un modo similar.
Ir a la navegación Ir a la búsqueda
Filas en Excel
En informática, o concretamente en el contexto de una base de datos relacional, un registro
(también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en
una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y
columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las
filas de la misma tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma
repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro)
que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un
campo clave para su búsqueda.
Esta fila o registro supone un conjunto de datos que mantienen una cierta vinculación entre sí. La
totalidad de las filas de una tabla respeta una estructura idéntica, una característica que permite
trabajar y hacer cálculos con la información. La tabla, en definitiva, constituye la base de datos.
Para poder llevar a cabo el citado registro, se hace necesario recurrir al uso de la tecnología que
existe y que facilita no sólo el llevarlo al día y poder consultarlo cuando sea imprescindible sino
también poder ir rellenando nuevas filas y columnas. Existen diversos programas específicos para
ello, no obstante, uno de los más utilizados en todo el mundo es Microsoft Excel.
Se conoce como registro de datos biométricos, por otra parte, a la recopilación de información
vinculada a la biometría de una persona. Se trata de datos que contribuyen a la identificación del
sujeto en cuestión: una huella digital, una fotografía, etc.
Una definición más formal del anterior párrafo sería: Conjunto de elementos de distinto tipo que se guardan de
forma consecutiva en memoria.
Publicado por bere en
http://bere-basededatos.blogspot.com/2012/04/que-es-una-tupla.html
Tupla: Corresponde a una fila de una tabla (el que conocíamos como registro en un
archivo).
• Cardinalidad: Es el número de tuplas que contiene una tabla.
• Grado: Es el número de atributos que posee una tabla.
• Dominio: No es más que un tipo de dato, que puede ser definido por el sistema,
como Integer o char o, uno más complejo definido por el usuario. La importancia de
los dominios radica en que cuando se desea realizar una relación entre dos o más
tablas, las claves por las que se relacionan deben pertenecer forzosamente al
mismo dominio.
• Tabla o Relación: Es un conjunto de tuplas que han de ser por toda fuerza
distintas. Esto también implica que el orden de las tuplas es irrelevante. El conjunto
vacío es una relación particular: la relación nula o vacía.
Tuplas
La tupla es un tipo de dato secuencial. Sirve para agrupar, como si fueran un único valor, varios
valores.
El tipo de datos que representa a las tuplas se llama tuple, y es inmutable: una tupla no puede ser
modificada una vez que ha sido creada.
En esta lección vamos a ver como modificar la BD. Los registros de una tabla pueden ser
modificados de tres modos: Crear nuevos registros, modificarlos o bien eliminarlos. No se va a
profundizar en este sentido, esto lo dejaremos para un posible curso avanzado de SQL.
Por razones obvias no podrá usar el banco de pruebas para probar estas instrucciones, de modo que
para ello deberá usar su propia BD.
Insert SQL
La instrucción INSERT permite crear o insertar nuevos registros en una tabla, veamos su sintaxis
con un ejemplo práctico, la inserción de un registro en la tabla ALUMNOS:
Código: Seleccionar todo
Observe como todo lo que se explicó en referencia a los tipos de datos es valido para la
instrucción INSERT. Los datos de tipo numérico no se entrecomillan, a diferencia de los
datos de tipo cadena y fecha.
Donde cada dato de la lista VALUES se corresponde y se asigna a cada campo de la tabla en el
mismo orden de aparición de la sentencia INSERT. Cabe mencionar que si la clave primaria que
identifica el registro que se pretende insertar ya la usa un registro existente el SGBD rechazaría la
operación y devolvería un error de clave primaria duplicada.
Así que cuando usted rellena un formulario en Internet por ejemplo, y los datos son almacenados en
una BD, en algún momento del proceso se realizará una instrucción INSERT con los datos que
usted a cumplimentado.
***
Update SQL
La instrucción UPDATE permite actualizar registros de una tabla. Debemos por lo tanto indicar que
registros se quiere actualizar mediante la cláusula WHERE, y que campos mediante la cláusula
SET, además se deberá indicar que nuevo dato va a guardar cada campo.
Así por ejemplo supongamos que para el curso que carecía de profesor finalmente ya se ha decidido
quien lo va a impartir, la sintaxis que permite actualizar el profesor que va a impartir un curso sería
la siguiente:
Código: Seleccionar todo
update CURSOS
set ID_PROFE = 2
where ID_CURSO = 5
Veamos otro ejemplo, esta vez se modificarán varios campos y registros con una sola instrucción.
Recordemos la tabla EMPLEADOS, en ella se guardan los datos de cada empleado, el sueldo y
supongamos que también se guarda en el campo PRECIO_HORA el precio de la hora extra que
cobra cada empleado en el caso que las trabaje. Bien, con el cambio de ejercicio se deben subir los
sueldos y el precio por hora extra trabajada, digamos que un 2% el sueldo y un 1 % el precio de la
hora extra. Sin embargo la política de empresa congela el salario a directivos que cobran 3000 euros
o más. ¿Qué instrucción actualizaría estos importes según estas premisas? :
Código: Seleccionar todo
update EMPLEADOS
set SALARIO = SALARIO * 1.02
PRECIO_HORA = PRECIO_HORA * 1.01
where SALARIO < 3000
Por lo tanto solo se está actualizando el salario y el precio de la hora extra de aquellos empleados
que su salario es inferior a 3000 euros.
UPDATE nombre_tabla
SET campo1 = valor1,
campo2 = valor2,
...
campoN = valorM
WHERE condicines
***
Delete SQL
La isntrucción DELETE permite eliminar regsitros de una tabla, su sintaxis es simple, puesto que
solo debemos indicar que registros deseamos eliminar mediante la cláusula WHERE. La siguiente
consulta elimina todos los registros de la tabla mascotas que estan de baja:
Código: Seleccionar todo
delete from MACOTAS
where ESTADO = 'B'
Al igua que la instrucción que ocurria con la UPDATE, para la instrucción DELETE es
válido todo lo expuesto sobe la cláusula WHERE para consultas.
Al eliminar registros de una tabla estos no deben figurar como clave foránea en otra tabla, de lo
contrario el SGBD devolverá un error de violación de integridad referencial, puesto que si se
permitiese quedarían regsitros huerfanos.
***
Resumen
Con las instrucciones INSERT, DELETE y UPDATE el SGBD permite crear eliminar o modificar
registros.
La cláusula WHERE de las instrucciones DELETE y UPDATE se comporta igual que en las
consultas y permite descartar o considerar registros mediante condiciones por la instrucción de
actualización o de borrado. Omitir la cláusula WHERE implica aplicar la operación a todos los
registros de la tabla.
Al insertar eliminar o actualizar datos, deben respetarse las restricciones. Si estas están montadas en
la BD, cosa por otro lado muy recomendable, podemos tener errores de tres tipos:
• Clave primaria duplicada (Al insertar o modificar un registro).
• Violación de integridad referencial (se pretende dejar huérfanos registros que apuntan al
registro padre al intentarlo eliminar o modificar).
• Clave padre no encontrada (al actualizar o insertar una clave foránea que no existe en la
tabla padre a la que apunta)
http://deletesql.com/viewtopic.php?f=5&t=24
Índice
• 1 Elementos del lenguaje de manipulación de datos
• 1.1 Select
• 1.2 Insert
• 1.3 Delete
• 1.4 Update
• 2 Clasificación de los DML
• 3 Referencias
donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra tabla por el
nombre de la tabla que contiene el campo mencionado.
Insert
La estructura básica para la sentencia insert utilizando el estándar de SQL es la siguiente:
insert into usuario (nombre, apellidos, edad, carrera) values ("Martín",
"Bastida Godínez", "23", "Ingeniería en TI");
Tomando como ejemplo si se tuviera una tabla llamada 'usuario' con los campos de tipo cadena de
caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores que se encuentran en
después de la palabra values, los valores se insertan en el orden correspondiente a como se hizo la
llamada de los campos, los valores van separados por comas, las comillas dobles indican que se está
insertando datos de tipo cadena de caracteres.
Delete
Para eliminar los registros de una tabla usamos el comando "delete":
delete from usuarios;
La ejecución del comando indicado en la línea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para ello utilizamos el
comando "delete" junto con la clausula "where" con la cual establecemos la condición que deben
cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de
usuario es 'Martín':
delete from usuarios where nombre='Martín';
Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple con la
condición especificada, no se borrarán registros, pues no encontró registros con ese dato.
Update
Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por
"Sevilla":
update usuarios set clave='Sevilla';
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su
nuevo valor.
El cambio afectará a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de selección con
"where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado
'Martín', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte
solamente a este registro:
update usuarios set clave='Boca'
where nombre='Martín';
Si no encuentra registros que cumplan con la condición del "where", ningún registro es afectado.
Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la actualización afectará
a todos los registros.
También se puede actualizar varios campos en una sola instrucción:
update usuario set nombre='MarceloDuarte', clave='Marce'
where nombre='Marcelo';
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo
valor y separado por coma, el otro nombre del campo con su nuevo valor.
Mi recomendación es que veas las anteriores publicaciones de este tutorial de MariaDB (MySQL),
pero como cada uno aprende a su manera y a su ritmo, a continuación tienes los scripts de la base de
datos y población de datos que facilitamos en capítulos anteriores, eso sí tendrás que tener instalado
MariaDB o MySQL, en nuestra primera publicación explicábamos como preparar el entorno, y
facilitábamos enlaces para la instalación en diferentes sistemas operativos.
Script para la creación de las tablas del esquema de Customerdb definido en Learning Project:
SQL INSERT
Creamos nuevas filas en la tabla seleccionada está es la sintaxis de INSERT (MariaDB
documentation) el primer comando que estudiaremos en el aprendizaje de MySQL INSERT
UPDATE DELETE:
?
1 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
2 [INTO] tbl_name [PARTITION (partition_list)] [(col,...)]
3 {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
4 [ ON DUPLICATE KEY UPDATE
5 col=expr
6 [, col=expr] ... ]
Para hacer nuestras pruebas iniciales vamos a usar la tabla ya creada cb_currency para ello vamos a
insertar una nueva moneda, recordemos antes como era la tabla que vamos a usar:
?
CREATE TABLE cb_currency
1 (
2 idcurrency INT NOT NULL AUTO_INCREMENT,
3 currency VARCHAR(60) NOT NULL,
4 description VARCHAR(255) NOT NULL ,
5 isactive VARCHAR(1) NOT NULL DEFAULT 'N',
6 isocode VARCHAR(3) NOT NULL,
7 cursymbol VARCHAR(10),
8
precisionstd DECIMAL(10,0) NOT NULL,
9
precisioncost DECIMAL(10,0) NOT NULL,
10
11 precisionprize DECIMAL(10,0) NOT NULL DEFAULT 0,
12 CONSTRAINT pk_cb_currency PRIMARY KEY (idcurrency),
13 CONSTRAINT u_cb_currency_currency UNIQUE (currency),
14 CONSTRAINT u_cb_currency_isocode UNIQUE (isocode)
15 )
16 ENGINE = InnoDB
17 COMMENT='Tabla donde se definen las monedas disponibles y sus
18 relaciones a partir de las monedas bases.';
GRANT ALL ON TABLE cb_currency TO xulescode;
Usamos idcurrency como clave primaria y los otros campos nos presentan diferentes tipos de datos
para utilizar en nuestro ejemplo, ahora veremos como podemos insertar una o más filas
especificándolo en los valores de la expresión, o muchas filas como resultado de una consulta.
Donde los valores para nuestra moneda serán, según el orden la tabla los siguientes: ‘Euxo’, ‘Euxo
(Xules)’, ‘Y’, ‘EUX’, ‘X’, 2, 4, y 4, veamos ahora como creamos este nuevo idioma usando la
sintaxis de INSERT en este caso indicamos específicamente que columnas vamos a añadir en el
orden que queremos (este lo podemos variar):
?
INSERT INTO cb_currency(currency, description,
1 isactive, isocode, cursymbol,
2 precisionstd, precisioncost,
3 precisionprize)
4
VALUES ('Euxo', 'Euxo (Xules)', 'Y', 'EUX', 'X', 2, 4, 4);
Otra opción de introducir los datos
?
1 INSERT INTO cb_currency
2 VALUES (null, 'Euxo', 'Euxo (Xules)', 'Y', 'EUX', 'X', 2, 4,
4)
El resultado en este ambos será algo así:
?
1 Executed successfully in 0,036 s, 1 rows affected.
2 Line 1, column 1
3
4 Execution finished after 0,036 s, 0 error(s) occurred.
Puedes saltar al final de este tutorial para ver la consulta de como borrar este registro nuevo creado,
para ver el resultado de la creación recuerda que puedes usar, por ejemplo esta consulta:
?
1 SELECT *
2 FROM cb_currency
3 WHERE currency = 'Euxo';
Otra forma de crear un nuevo registro es utilizar el INSERT con SET , sería así:
?
1 INSERT INTO cb_currency
2 SET currency = 'Euxo',
3 description = 'Euxo (Xules)',
4 isactive = 'Y', isocode = 'EUX', cursymbol = 'X',
5 precisionstd = 2, precisioncost = 4, precisionprize= 4;
Así, sería como lo veríamos en el IDE Netbeans del que estoy usando su editor SQL para crear este
tutorial:
Mariadb (MySQL) cb_currency INSERT con SET
Vamos a ver como podemos hacer un INSERT a partir de una consulta, si estas empezando te diré
que aunque ahora no lo parezca te resultará útil, sería así:
?
1 INSERT INTO cb_currency(currency, description,
2 isactive, isocode, cursymbol,
3 precisionstd, precisioncost,
4 precisionprize)
5 VALUES ('Eux1', 'Eux1 (Xules)', 'Y', 'EX1', '1', 2, 4, 4),
6 ('Eux2', 'Eux2 (Xules)', 'N', 'EX2', '2', 2, 4, 4),
7 ('Eux3', 'Eux3 (Xules)', 'N', 'EX3', '3', 2, 4, 4),
8 ('Eux4', 'Eux4 (Xules)', 'N', 'EX4', '4', 2, 4, 4),
('Eux5', 'Eux5 (Xules)', 'Y', 'EX5', '5', 2, 4, 4);
SQL UPDATE
Vamos a ver la actualización de datos que es la modificación de los datos que ya están en la base de
datos. Se pueden actualizar filas individuales, todas las filas de una tabla, o un subconjunto de todas
las filas. Además, cada columna se puede actualizar por separado ya que las otras columnas no se
ven afectadas.
Usamos el comando SQL UPDATE (MariaDB documentation) que tiene la siguiente sintaxis:
?
1 UPDATE [LOW_PRIORITY] [IGNORE] table_reference
2 [PARTITION (partition_list)]
3 SET col1={expr1|DEFAULT} [,col2={expr2|DEFAULT}] ...
4 [WHERE where_condition]
5 [ORDER BY ...]
6 [LIMIT row_count]
Veamos un ejemplo actualizando la columna isactive con el valor ‘N’ para el registro que tiene el
valor de ‘Eux1’ en la columna currency que hemos creado anteriormente, solo modificaremos este
registro ya que el campo currency lo hemos establecido como único:
?
1 UPDATE cb_currency
2 SET isactive = 'N'
3 WHERE currency = 'Eux1';
Como puedes ver es bastante sencillo, después del UPDATE indicamos la tabla sobre la que vamos
a actuar currency, en la clausula SET indicamos la actualización a realizar, y por último, con la
clausula WHERE condicionamos los registros que se van a ver involucrados, en este caso con
currency = ‘Eux1’, solo se verá un registro afectado. El resultado que nos muestra la consola nos
indicará el número de registros afectados:
?
1 Executed successfully in 0,098 s, 1 rows affected.
2 Line 1, column 1
Para realizar la actualización y ver el resultado final puedes concatenar las consultas como se
muestra en el ejemplo de la imagen:
Mariadb cb_currency UPDATE
Para ver las posibilidades que tenemos con el UPDATE para afectar a varios registros vamos a
adelantarnos un poco y ver algunas funciones que todavía no hemos visto, en este caso vamos a
actualizar todos los registros que hemos creado con la columna isactive con el valor ‘N’ y la
añadiendo en a la columna description un espacio y un * para esto utilizamos la función CONCAT
con cada uno de los valores que queremos separados por comas: CONCAT(description,’ ‘, ‘*’), esta
es la consulta con un SELECT de todos los registros que hemos nombrado a continuación, aquí
introducimos el comparador LIKE que nos sirve para filtrar por aquellos valores que empiecen por
Eux con el símbolo % a continuación para indicar que el final puede tener cualquier valor, estas son
las consultas:
?
1 UPDATE cb_currency
2 SET isactive = 'Y',
3 description = CONCAT(description,' ', '*')
4 WHERE currency IN ('Eux1', 'Eux2', 'Eux3', 'Eux4','Eux5');
5
6 SELECT *
7 FROM cb_currency
8 WHERE currency LIKE 'Eux%';
Este es el resultado con la ejecución de las consultas, finalizando las explicaciones del comando
UPDATE dentro del estudio de MySQL INSERT UPDATE DELETE:
Mariadb cb_currency con UPDATE de varios registros por condición
SQL DELETE
Después de explicar cómo agregar datos y cómo cambiarlos, para completar el trío MySQL
INSERT UPDATE DELETE para MariaDB (MySQL), nos falta ver como eliminar los datos usando
el comando SQL DELETE (Documentación de MariaDB), esta es la sintaxis:
?
1 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
2 [PARTITION (partition_list)]
3 [WHERE where_condition]
4 [ORDER BY ...]
5 [LIMIT row_count]
6 [RETURNING select_expr [, select_expr ...]]
Vamos a ver como eliminamos la columna que hemos creado en el apartado anterior, en este primer
caso filtramos por el columna única de la tabla currency con lo que nos aseguramos que solo
borramos el registro que queremos:
?
1 DELETE FROM cb_currency
2 WHERE currency = 'Euxo';
Así, lo veremos si utilizamos el editor SQL de Netbeans:
Mariadb (MySQL) cb_currency DELETE
También podemos añadirle a nuestra consulta RETURNING * (solo disponible a partir de la versión
MariaDB 10.0.5) con lo que nos devuelve los datos que hemos borrado, en este caso utilizamos otra
columna que también hemos definido como única isocode :
?
1 DELETE FROM cb_currency
2 WHERE isocode = 'EUX';
3 RETURNING *;
Finalmente, nos queda la más sencilla, pero la más peligrosa, el borrado de todos los registros de la
tabla:
?
1DELETE FROM cb_currency;
Resumen
Como resumen, os dejo la imagen de esta consulta donde utilizo los tres comandos SQL para
MySQL INSERT UPDATE DELETE, si has entendido bien lo explicado entenderás el resultado
final:
Mariadb cb_currency consulta resumen MySQL INSERT UPDATE DELETE
Uso de sentencias SQL básicas – Insertar,
Modificar y Eliminar registros con Insert,
Update y Delete
Dic 20, 2009By Carlos Dk 5 comments Posted in: Tutoriales formativosTagged in: Base de datos,
DELETE, eliminar, INSERT, Insertar, modificar, mysql, php, query, SQL, UPDATE
En este pequeño tutorial os explicaré las sentencias más básicas SQL utilizando ejemplos prácticos
para una mayor comprensión. Dejar claro que estas sentencias en principio son de MySQL (las
cuales suelo atacar con PHP). Y aunque las diferencias son pocas con respecto a otros lenguajes,
puede haberlas, como el formato de comillas, fechas, declaración de tipos, etc.
Para comenzar, crearemos una base de datos utilizando una sentencia de SQL, la cual no debe de
generar dudas:
CREATE DATABASE VerTutoriales;
Con esta sencilla sentencia ya hemos creado una base de datos llamada vertutoriales y a
continuación vamos a crear una tabla dentro de esta base de datos:
CREATE TABLE usuarios
(
Id INTEGER NOT NULL AUTO_INCREMENT,
Nombre VARCHAR(20) NOT NULL,
Clave VARCHAR(6) NOT NULL,
Fecha DATE,
)
En este caso, hemos creado una tabla llamada usuarios con 4 campos dentro de esta, un primer
campo llamado “Id”, de valor entero (INTEGER), que no puede contener valores nulos (NOT
NULL) y además es autoincremental (AUTO_INCREMENT), es decir, que cada registro que se
añada, irá incrementando en 1 el valor del “id”. Otro campo llamado “Nombre”, que es de tipo
caracter de longitud 20 (VARCHAR(20)) que no puede ser nulo (NOT NULL), otro campo más
“Clave” que es igual que Nombre pero de longitud 6, y un campo Fecha de tipo Fecha (DATE).
Una vez realizado esto (que puede ser generado sin problema desde MySQL Query Browser como
podeis ver en este tutorial: http://www.vertutoriales.com/index.php/mysql-tools-query-browser-uso-
de-base-de-datos-tabla-registros/) Vamos a continuar con las sentencias SQL que anunciabamos en
el título del tutorial.
Empecemos por insertar un registro en nuestra tabla usuarios:
INSERT INTO usuarios (Nombre, Clave, Fecha) VALUES (‘VerTutoriales’, ‘PaS€-6’,
‘2009-12-31’);
Si nos fijamos en esta Query, utilizamos como palabras clave INSERT INTO y VALUES, justo
detrás de la primera (INSERT INTO), nos encontramos el nombre de la tabla en la que vamos a
insertar nuestro registro, en este caso usuarios, luego vienen los campos que serán insertados, en
nuestro ejemplo: Nombre, Clave y Fecha. Ahora ponemos la palabra clave VALUES e introducimos
los valores a insertar en cada campo, ‘VerTutoriales’, ‘PaS€-6’ y ‘2009-12-31’, al ser cadena o
fecha, van todas con una comilla simple ‘ y además por ser fecha irá invertida, ya que al ser MySQL
la introduce en formato inglés.
Ahora vamos a modificar el registro de la tabla usuarios:
UPDATE usuarios Set Nombre=’VideoTutoriales’ Where Clave=’PaS$-6′;
Si nos fijamos en esta otra sentencia SQL, podemos ver como palabras clave UPDATE, SET y
WHERE. Utilizamos UPDATE para modificar un registro contenido en una tabla (en nuestro caso
usuarios) y utilizamos SET para designar el campo a modificar y el valor que ha de tomar
(Nombre=’VideoTutoriales’). Para terminar esta sentencia nos queda decir que registro queremos
modificar, es cuando utilizamos WHERE y le pasamos la condición (Clave = ‘PaS$-6’). Quiere
decir que todos los registros que contengan Clave con el valor ‘PaS$-6’, modificarán su nombre y
se llamarán ‘VideoTutoriales’.
Ya, y para terminar con estas sentencias SQL, vamos a eliminar nuestro registro:
DELETE FROM usuarios Where nombre=’VideoTutoriales”
En este código SQL, utilizamos DELETE FROM Y WHERE como palabras clave, el orden es
DELETE FROM y a continuación el nombre de la tabla en la cual vamos a borrar los registros,
seguido de un WHERE donde le damos la condición que debe de realizarse para que el registro sea
eliminado. Si no utilizaramos el WHERE, la tabla sería eliminada completamente, es decir, si la
sntencia SQL fuera “DELETE FROM usuarios”, eliminaríamos todos los registros contenidos
dentro de la tabla usuarios.
Espero que os ayude, si teneis alguna duda con respecto a este pequeño tutorial o quereis que
explique algo, ya sabeis que podeis escribirme a tutor@dkreativo.es o dejar algún comentario.