Publicado el 4 comentarios

SQL básico. Actualizar datos en una tabla con SQL.

En esta sección vamos a ver cómo se actualizan o modifican los datos de una o varias columnas de uno o varios registros en una tabla mediante una sentencia SQL.

Ejecuta la aplicación DB4S y abre la base de datos SQLite que has usado anteriormente. También abre el archivo SQL que has creado como vimos en la sección anterior.

Para actualizar los de una columna de una tabla con SQL usamos la siguiente sintaxis básica del comando UPDATE:

UPDATE nombre-tabla SET nombre-columna = expresión-valida;

Aunque la expresión o sintaxis de UPDATE más usada es:

UPDATE nombre-tabla SET nombre-columna = expresión-valida WHERE condición;

¿Cuál es la diferencia entre la primera forma y la segunda? La primera forma actualizaría el valor de la columna dada de todas las filas o registros de la tabla, mientras que la segunda forma actualizaría sólo los registros que cumplan la condición dada. Veamos un ejemplo de ambas. Supongamos que queremos cambiar el valor de “fecha_nacimiento” por “01/01/1980”. Actualmente las filas de la tabla “persona” tienen los siguientes valores:

Valores d elas filas de la tabla “persona”.

Escribe y ejecuta la siguiente instrucción:

Actualiza un campo de todas la filas.

Revisa el contenido de la tabla, se debe ver así:

El campo fecha_nacimiento modificado.

Como puedes observar, el valor del campo o columna “fecha_nacimiento” de todas las filas (en este caso dos) fue modificado con el valor que le especificamos en la sentencia SQL: ’01/01/1980′. A veces es deseable este comportamiento cuando queremos cambiar el valor de una columna en toda la tabla, pero en el ejemplo de nuestra tabla “persona” no. Cada registro debe tener su fecha de nacimiento correspondiente. No olvides grabar tanto la base de datos como el archivo SQL.

Vamos ahora usar la segunda forma básica del comando UPDATE. Escribe y ejecuta la siguiente sentencia para regresar el valor correcto de la fecha de nacimiento al registro con valor 1 en la “clave” :

Actualiza sólo la fila que cumpla con la condición dada.

La sentencia anterior sólo actualizara el valor de la columna “fecha_nacimiento” del registro que cumpla la condición de que su valor en la columna “clave” sea igual a uno (clave = 1). Revisa nuevamente los datos de la tabla.

Sólo una fila actualizada.

En nuestra tabla sólo existe un registro o fila que cumple la condición y sólo a es registro se le modificó el valor de la columna “fecha_nacimiento”. Si hubieran habido más registros con “clave = 1” todos esos registros se hubieran actualizado. La instrucción UPDATE permite actualizar también el valor de varias columnas a la vez. Veamos la sintaxis.

UPDATE nombre-tabla SET campo-1 = expersión-1, campo-2 = expresión-2, compo-n = expresión-n WHERE condición;

También en esta forma la parte “WHERE condición” e la sentencia UPDATE es opcional, puede o no puede ir. Pero recuerde, si no se le agrega una condición, se actualizarán los campos especificados de todos los registros de la tabla con los valores indicados.

Escribe y ejecuta la siguiente sentencia:

Actualizando dos campos a la vez.

Revise nuevamente los valores de la tabla.

Datos actualizados de dos columnas.

Como puede observar, se han actualizado los valores de fecha de nacimiento y curp con una sola instrucción UPDATE y sólo del registro con la clave igual a dos. Guarde la base de datos y el archivo SQL. En esta sección vimos como la sentencia de SQL UPDATE sirve para actualizar los valores de una o varias columnas de una o varias filas en nuestra tabla. En la próxima sección veremos como borrar registros o filas de una tabla con SQL.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.

Publicado el 3 comentarios

SQL básico. Agregar datos a una tabla con SQL.

Enseguida veremos cómo agregar datos a una tabla mediante sentencia SQL. Pero antes vamos a ver como abrir una base de datos y un archivo de SQL existente en el caso de que hayamos cerrado el programa o aplicación DB4S.

Abriendo una base de datos con DB4S.

En caso de que hayamos cerrado la aplicación, podemos volver a ejecutar la aplicación y volver abrir la base de datos SQLite con la que estábamos trabajando, de la siguiente manera:

  • Ejecuta la aplicación como ya hemos visto anteriormente. Vaya al menú “File” (Archivo) y busque en la parte abajo del panel que se abre, antes de la opción “Exit” (Salir), en la lista de la bases de datos que recientemente se han abierto, el nombre de la base de datos que quiere volver a abrir y de clic sobre ella.
Abriendo base de datos SQLite previamente abierta.

Si no apareciera en esa lista la base de dato sSQLite deseada proceda con lo siguiente:

  • En el mismo menú “File”, seleccione la opción “Open Database…”. aparecerá el diálogo “Choose a database file” (Selecciones un archivo de base de datos).
Abriendo una base de datos existente.
  • Navegue a la carpeta donde guardo la base de datos SQLite y seleccione el archivo de base de datos. Presione “Abrir”.
Seleccionando la base de datos a abrir.
  • En la parte superior de la aplicación, al lado del título, deberá aparecer el nombre y ruta de la base de datos actualmente abierta.
Base de datos abierta.

Muy bien, ya hemos abierto nuestra base de datos.

Abriendo un archivo sql existente con DB4S.

Para abrir el archivo SQL o script SQL que anteriormente habíamos grabado procedemos de la siguiente manera:

  • Seleccionamos la pestaña “Execute SQL”, y de su barra de herramientas, seleccionamos la herramienta “Open SQL file(s)” (Abrir archivo(s) SQL) dando clic sobre ella. Se abrira el diálogo “Select SQL file to open” (Seleccione archivo SQL a abrir).
Abriendo archivo SQL.
  • En el diálogo, navegue a la carpeta donde se encuentra el archivo SQL y selecciónelo. Enseguida oprima el botón “Abrir”.
Abriendo archivo SQL.
  • Si todo se hizo correctamente, aparecera una pestaña con el nombre del archivo y las instrucciones SQL que hemos escrito dentro de él.
Archivo SQL abierto.

Una vez visto cómo se abre tanto una base de datos SQLite existente así como un archivo SQL, pasamos a ver cómo agregar datos a una tabla mediante instrucciones SQL.

Agregar datos a una tabla con SQL: el comando INSERT.

La forma o sintaxis básica del comando SQL para agregar datos a una tabla es la siguiente:

INSERT INTO nombre-tabla ( nombre-columna-1, nombre-columna-2, …nombre-columna-n ) VALUES ( expresion-1, expresion-2, …expresion-n );

La instrucción INSERT agrega o “inserta” un registro o fila a una tabla. Vamos a crear la sentencia para agregar un registro o fila a nuestra tabla “persona”. La estructura de nuestra tabla “persona” luce así:

Estructura e la tabla persona”.

Vamos al final de nuestro archivo SQL y escribimos la siguiente sentencia:

Sentencia INSERT.

Esta instrucción “inserta” una nueva fila o registro a la tabla “persona” a las columnas o campos, separados por comas, que parecen entre los primeros paréntesis y le asigna los valores (VALUES) que aparecen separados por comas en el segundo par de paréntesis. Los valores a insertar deben coincidir con la posición, tipo de dato y número de la lista de los nombres de las columnas. Los valores numéricos, en este caso INTEGER, se escriben tal cual (la columna clave es de tipo INTEGER), mientras que los tipo de datos TEXT se escriben siempre entre comillas simples.

Al campo llamado “clave” le asignará el valor de 1, al “nombre” le asignará el valor JORGE, y así sucesivamente. Si el número de campos difiere del número de valores a insertar, la sentencia marcará un error. También es importante que los valores a asignar coincida con el tipo de dato de las columnas, si no marcaría un error.

Ejecute la sentencia como lo hemos hecho anteriormente. Recuerde de seleccionar sólo esta sentencia. Revise el mensaje que arroja para descartar posibles errores. Si ocurre algún error revise detenidamente la sentencia escrita.

Para comprobar que el registro o fila fue insertado correctamente nos iremos a la pestaña “Browse Data”. en esta pestaña podemos ver gráficamente el contenido de las tablas que tengamos en la base de datos. En la lista “Table” buscamos y seleccionamos la tabla de la cual queremos visualizar los datos que contiene. en nuestro caso “persona” (como es la única tabla que tenemos aparecerá seleccionad por defecto). En la parte de abajo aparecerán los datos en forma de una tabla, con los nombres de las columnas como encabezados y los valores de cada una de los registros insertadas en forma de filas, como se muestra en la imagen siguiente.

Mostrando el registro insertado.

Los valores deben corresponder a los valores que le asignamos en nuestra instrucción INSERT. El orden de los nombres en la lista de columnas de la instrucción INSERT no necesariamente deben de ir en el orden de los campos en la tabla, ni es necesario que se especifiquen todos a menos que los campos cuenten con restricciones que por el momento no es el caso. Más adelante veremos como definir una tabla con restricciones en sus campos. Una restricción e s, por ejemplo, indicar que un cierto campo o columna no puede contener el valor “vacío” o “nulo”. Más adelante tocaremos este tema.

Escribe, al final del archivo SQL, este otro ejemplo de la sentencia INSERT:

Insertando otro registro a la tabla “persona”.

Ejecuta la sentencia anterior y ve nuevamente el contenido de la tabla en la pestaña “Browse Data” (Ver Datos). No olvides grabar tanto el archivo SQL como la Base de Datos para no perder los cambios.

Tabla con dos registros insertados.

Puedes observar que aunque los nombres de los campos o columnas no se escribieron en el orden que aparecen en la tabla al momento de insertar el registro, los valores aparecen en la columna correcta. También podrás observar que como en la lista de columnas del INSERT no se especificaron los campos “fecha_nacimiento” y “curp”, estos campos fueron asignados con el valor “NULL”. Este valor es un valor especial en en lenguaje SQL, digamos que el campo esta vacío o sin valor alguno. Con esto concluimos que no importa en que orden se escriban los nombres de las columnas en la lista de columnas del comando INSERT y si se escriben todos los campos de la tabla o sólo algunos. Lo importante es que los valores de los campos en la lista de valores del comando INSERT coincidan con el orden y tipo de dato de la lista de columnas que aparecen en el comando.

Ya insertamos o agregamos registros a nuestra tabla. ¿Que hacemos si el valor de alguna columna está equivocado o quiero agregar la fecha de nacimiento o el curp al registro que no lo tienen? Eso lo veremos en la siguiente sección.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.

Publicado el 3 comentarios

SQL básico. Mantener tablas mediante SQL.

En la sección anterior vimos como crear nuestra primera base de datos SQLite y añadir una tabla mediante el lenguaje SQL. Veremos primero como guardar nuestras sentencias en un archivo con la aplicacion DB4S. Enseguida vamos a ver como mantener una tabla, es decir cambiar su nombre o el nombre de algunos de sus campos y como modificar su estructura ya sea agregando nuevas columnas o campos o eliminándolos. Veremos también como borrar una tabla si ya no es necesaria. Todo esto a través del comando o sentencia ALTER TABLE.

Guardar nuestras sentencias SQL en un archivo en DB4S.

La aplicación DB Browser for SQLite (DB4S) permite guardar en un archivo la sentencias o sentencias SQL que vayamos haciendo por si las necesitamos usar posteriormente. Para hacerlo hacemos lo siguiente, en la barra de herramientas de la pestaña “Execute SQL”, selecciones el botón o herramienta “Save SQL file” (Guardar archivo SQL) el cual se muestra encerrada con rojo en la imagen siguiente:

Guardar archivo SQL.

El diálogo “Select file name” (Seleccionar nombre de archivo) aparecerá. Ahí navegue a la carpeta donde quiera guardar el archivo y de un nombre al archivo, asignándole la extensión .sql. en mi caso mi archivo lo nombraré “sql-basico-tablas.sql” y lo almacenaré dentro de mi “Disco local (C:)” en la carpeta “sql-basico”.

Guardando el archivo sql.

Este diálogo sólo aparecerá cuando es la primer a vez que guardamos el archivo, posteriormente si el archivo ya fue guardado anteriormente, no aparecerá. Oprime el botón “Guardar” para guardar el archivo. En la pestaña donde está contenido nuestro código SQL aparecerá el nombre de nuestro archivo. Esto indica que el archivo fue guardado correctamente y es el archivo que estamos editando actualmente. La próxima vez que lo guardemos, no nos preguntará por el nombre y será guardado en la misma ruta que dimos anteriormente.

Archivo SQL una vez guardado.

Un archivo sql, también llamado “script sql”, puede contener más de una instrucción SQL, de hecho, las siguientes sentencias o instrucciones SQL que veremos enseguida, las escribiremos en el mismo archivo.

Cambiar el nombre a una tabla y a sus columnas a través de SQL.

ALTER TABLE es la sentencia SQL que se usa para modificar una tabla en la base de datos.

Cambiar el nombre de una tabla con SQL.

Para cambiar el nombre de una tabla usamos la siguiente sintaxis:

ALTER TABLE nombre-tabla RENAME TO nuevo-nombre-tabla;

Por ejemplo, para renombrar nuestra tabla “empleado” a “persona” escriba la siguiente sentencia al final del archivo, después de la sentencia CREATE TABLE:

Renombrar tabla.

En un archivo SQL todo lo que sigue después de dos guiones seguidos (–) y hasta el final de la línea se le conoce como un comentario. Es muy útil par escribir observaciones de lo que hace nuestro script SQL. No es obligatorio pero es útil. En el ejemplo anterior coloqué “– Renombra tabla” para indicar que la siguiente sentencia hace precisamente eso, renombrar una tabla. Los comentarios son ignoradas cuando se ejecuta un archivo SQL.

Si oprimiéramos el botón “Execute all/selected SQL” (de hoy en adelante nos referiremos a ese botón simplemente con el nombre “Ejecutar”) nuevamente, la aplicación intentaría ejecutar las dos sentencias que hemos escrito, la sentencia CREATE TABLE y la sentencia ALTER TABLE y no queremos eso, ya que al intentar crear nuevamente una tabla con el mismo nombre de una ya existente en la base de datos nos marcaría un error. Solo queremos ejecutar la sentencia ALTER TABLE.

Para ello debemos seleccionar la sentencia o sentencias completas que queremos ejecutar y oprimir el botón “Ejecutar”. En este caso la sentencia ALTER TABLE:

Seleccionar sentencia y ejecutar.

Recuerde, el botón ejecutar intentará ejecutar todas las sentencias contenidas en el archivo SQL abierto si es que no hay ninguna sentencia o sentencias seleccionadas. En caso de que haya sentencias seleccionas, solo ejecutará dichas sentencias. Si todo salió bien deberá aparecer el mensaje siguiente en el cuadro de texto inferior.

Ejecución sin errores.

Si va a la pestaña “Database Structure” deberá aparecer la tabla con el nombre “persona”:

La tabla “empleado” cambió a “persona”.

Como hubo un cambio en la base de datos, el botoón “Write Changes” (Escribir Cambios) se activó. No olvide guardar los cambios oprimiendo este botón.

Cambiar el nombre de un campo o columna de una tabla con SQL.

Regrese a la pestaña “Execute SQL” para agrega runa nueva sentencia. Ahora vamos a cambiar el nombre de la columna “sueldo” a “sueldo-mensual”. La sintaxis de la sentencia SQL sería:

ALTER TABLE nombre-tabla RENAME COLUM nombre-columna TO nuevo -nombre-columna;

Escriba la sentencia al final del archivo.

Renombre columna.

Ejecuta la sentencia, no olvide seleccionarla primero. Revise que la ejecución se haya llevado a cabo sin errores observando el mensaje de salida como anteriormente lo hemos hecho. Vaya a la pestaña “Database Structure” y de un clic en la pequeña flecha que se encuentra antes de la tabla “persona” para mostrar los campos que contiene.

Clic en la flecha para mostrar columnas.

Deberá aparecer ahora el campo “sueldo_mensual”, en lugar del campo”sueldo”.

Campo renombrado.

Observe que sólo se cambió el nombre del campo, no su tipo de dato. El tipo de dato sigue siendo el mismo. No olvide guardar los cambios.

Modificar la estructura de una tabla mediante SQL.

Antes de continuar, regrese a la pestaña “Execute SQL” y grabe el archivo SQL para guardar los últimos cambios. Ahora vamos a ver como agregar y borrar un campo de una tabla.

Agregar un campo a una tabla con SQL.

La sintaxis para agregar un campo o columna a una tabla ya existente es la siguiente:

ALTER TABLE nombre-tabla ADD COLUMN nombre-columna tipo-dato;

Vamos a agregar la columna CURP a la table “persona” (recuerda que la renombramos, anteriormente se llamaba “empleado”) y va a ser de tipo TEXT (texto o alfanumérico). Agrega al archivo sql la siguiente sentencia y ejecútala como hemos visto anteriormente. No olvides de guardar tanto el archivo sql como los cambios en la base de datos.

Agregar columna a una tabla.

Comprueba que la columna “curp” fue agregada en la pestaña “Database Structure”. Las columnas agregadas siempre van a la última posición en SQLite. Otras bases de datos, como MYSQL, permiten indicar en que posición insertar la nueva columna.

Columna “curp” agregada en tabla “persona”.

Borrar una columna de una tabla mediante SQL.

Enseguida se muestra la sintaxis del comando SQL para borrar una columna de una tabla:

ALTER TABLE nombre-tabla DROP COLUMN nombre-columna;

Vamos a borrar la columna llamada “sueldo_mensual” de nuestra tabla persona. Para ellos escribimos la sentencia siguiente al final de nuestro archivo SQL y la ejecutamos, como ya hemos visto.

Borrar una columna de una tabla.

Comprueba que la columna “sueldo_mensual” se ha borrado de la tabla revisando su estructura como lo hemos hecho anteriormente, no olvides guardar cambios en el archivo SQL y la base de datos.

Columna “sueldo_mensual” borrada.

Hasta ahora nuestra tabla “persona” no tiene filas o registros, es decir no tiene datos. En la sección siguiente vamos a vero como agregar datos a la tabla mediante SQL.

¡Hasta la próxima!

IR A LA PAGINA DEL CURSO.