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:
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”.
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.
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:
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:
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.
Si va a la pestaña “Database Structure” deberá aparecer la tabla con el nombre “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.
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.
Deberá aparecer ahora el campo “sueldo_mensual”, en lugar del campo”sueldo”.
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.
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.
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.
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.
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!