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.

Publicado el 2 comentarios

SQL básico. Crear una base de datos SQLite y agregar una tabla.

En esta sección vamos crear una base de datos de SQLite y cómo crear una tabla usando la aplicación DB4S.

Crear una base de datos SQLite.

En la sección anterior vimos cómo instalar la aplicación “DB Browser for SQLite”, usaremos esta para crear nuestra base de datos SQLite de la forma fácil.

Si no hubiéramos instalado la aplicación DB4S y hubiéramos descargado las herramientas que se proporcionan en el sitio web de SQLite tendríamos que ejecutar, en una ventana de comando de Windows, algo como esto para crear nuestra base de datos:

Creando una base de datos SQLite.

Las sentencias anteriores crearían una base de datos de SQLite vacía llamada “mi-base-de-datos.db” en la carpeta donde hayamos ejecutado el comando sqlite3.exe. Pero nosotros lo haremos más fácil usando la aplicación “DB Browser for SQLite”.

Creando una base de datos SQLite con la aplicación DB4S.

Abre o ejecuta la aplicación “DB Browser for SQL” (DB4S) como vimos en la sección anterior, dando doble clic sobre el acceso directo de ese programa que debe de estar en el escritorio de Windows de tu computadora.

Acceso directo.

Una vez abierta la aplicación, oprime el botón “New Database” (nueva base de datos), se abrirá una ventana donde podrás indica rla carpeta y el nombre del archivo de tu nueva base de datos. En mi caso, previamente cree una carpeta llamada “sql-basico” en la unidad C: de mi computadora y es ahí donde guardaré mi base de datos. En “Nombre de archivo:” escribiremos el nombre de la base de datos, la cual nombraremos “mi-primera-base-de-datos.db”. Tú puedes seleccionar la carpeta de tu preferencia. Puedes también darle el nombre que gustes a tu archivo de base de datos, pero procura nombrar el archivo como se indica, para futuras referencias. Oprime el botón “Guardar” para crear y guardar el archivo de base de datos.

Selecciona “New Database” para crear un nuevo archivo de base de datos SQLite.
Especifica la carpeta y nombre del archivo donde se guardará la base de datos.

Una vez guardado elarchivo de base de datos, la aplicación nos mostrará el diálogo “Edit table definition” (editar definición de la tabla). Este diálogo nos permite crear la tabla interactiva y gráficamente, pero como el objetivo del curso es aprender SQL, por lo pronto ignoraremos este diálogo oprimiendo el botón “Cancel” (cancelar).

Diálogo de edición de la definición e una tabla.

En la parte superior de la ventana principal de la aplicación aparecerá la ruta y el nombre de la base de datos con la que estamos trabajando actualmente, o también podemos decir que es la base de datos que tenemos “abierta”. Si no aparece ninguna, indica que no hemos “abierto” aún un archivo de base de datos. En mi caso aparece “C:\sql-basico\mi-primera-base-de-datos.db”. En su caso, la ruta del archivo puede aparecer diferente de acuerdo a la carpeta donde hayan escogido guardar su archivo de base de datos.

Barra de título mostrando la base de datos actualmente abierta.

Crear una tabla usando SQL.

Vamos a escribir nuestra primera instrucción o comando SQL para crear una tabla. La aplicación contiene un editor de texto donde podemos escribir nuestras sentencias o instrucciones SQL. Para acceder a este editor seleccionamos la pestaña “Execute SQL” y escribimos tal cual la sentencia que se muestra en el área de texto en la imagen siguiente.

Escribir sentencia CREATE TABLE.

En esta pestaña podemos editar, cargar, guardar, ejecutar nuestras sentencias SQL así como visualizar los resultados y grabar esos resultados en un archivo. Estas funciones las iremos viendo poco a poco.

Nota: en este curso se evitará en lo posible escribir el texto de las sentencias para evitar el copiar-pegar solamente por parte del alumno. Se intenta obligar al alumno a escribir las sentencias para una mejor comprensión.

Una vez escrita la sentencia, oprima el botón o herramienta “Execute all/selected SQL” (Ejecutar todo/SQL seleccionado) de la barra de herramientas para ejecutar la sentencia SQL que acabamos de escribir. En la imagen siguiente, encerrado con rojo, se muestra la ubicación de dicha herramienta. Tiene la forma de una punta de flecha que s eusa normalmente en los aparatos de reproducción.

Herramienta para ejecutar las sentencias SQL.

Si la ejecución de la orden o instrucción se hizo de forma correcta, aparecerán los siguientes mensajes en el cuadro de texto que se encuentra en la parte inferior de la ventana:

Execution finished without errors.
Result: query executed successfully. Took 21 ms.
At line 1:
Sentencia..

Traduciendo los mensajes indican: “Ejecución terminada sin errores. Resultado: consulta ejecutada exitosamente. Tomó 21 ms. En linea 1: Sentencia…”

Área de mensajes del resultado de las sentencias SQL ejecutadas.

Si, arrojó este mensaje, indica que la sentencia se ejecutó correctamente. Sino fuera este el mensaje, revisa que la sentencia esté bien escrita, tal y como se mostró anteriormente.

Si seleccionamos la pestaña “Database Structure” (Estructura de la base de datos) deberá aparecer en la lista de tablas, una nueva tabla llamada “empleado”:

Se muestra la tabla empleado creada en la lista de tablas de la base de datos.

Esta pestaña nos permite visualizar la tablas, indices, vistas y disparadores que existen en la actual base de datos abierta. Así como crear visualmente tablas, índices e imprimir la estructura. Algunas de estas funciones las veremos más adelante.

Si observamos en la misma imagen anterior, veremos que el botón “Write Changes” (Escribir cambios) se activó, esto es debido a que hicimos un cambio en la base de datos: agregamos una tabla. Para hacer los cambios permanentes en la base de datos, es decir, que se guarden, oprimimos este botón. Una vez hecho esto, el botón nuevamente se desactivará. Este botón se activara y desactivara cuando hagamos algún cambio en la estructura o datos en la base de datos y cuando guardemos esos cambios. Si se intenta cerrar la base de datos o cerrar la aplicación y hay cambios pendientes, la aplicación nos preguntará si queremos guardar los cambios antes de cerrar la base de datos o salir de la aplicación.

La sentencia pudo haberse escrito toda en mayúsculas o toda en minúsculas y no afecta su ejecución. se escribieron a propósito con letras mayúsculas las palabras llamadas “reservadas” o palabras “clave” propias del lenguaje SQL. Es decir que esas palabras no pueden ser usadas para dar nombres a la tablas o a los campos. Si lo hiciéramos, al ejecutar la sentencia nos mandaría un aviso de error y la sentencia no se ejecutaría. En minúsculas se encuentras las palabras o nombres que asignamos a la tabla y a los campos. Enseguida veremos la sintaxis u orden en la que se debe escribir correctamente la sentencia CREATE TABLE.

La sentencia CREATE TABLE.

La sentencia o comando CREATE TABLE sirve para crear nuevas tablas en la base de datos. Cada motor de base de datos, en su documentación, describe la forma correcta de escribir esta orden o sentencia. Los grandes motores de base de datos tanto comerciales, como ORACLE o SQL SERVER, o las de código abierto como MYSQL o POSTRESQL, pueden implementar esta orden con ligeras variaciones. Pero por lo general la orden tiene la misma estructura básica.

La sintaxis u orden que debe respetar la sentencia en su forma básica es la siguiente:

CREATE TABLE nombre-tabla ( nombre-campo1 TIPO-DATO-1, nombre-campo2 TIPO-DATO-2, .. nombre-campoN TIPO-DATO-N );

La sentencia CREATE TABLE va seguida de un espacio y el nombre que le asignaremos a la tabla, en la sentencia que escribimos le estamos asignado el nombre de “empleado”. Seguido del nombre de la tabla y entre paréntesis, se listan de uno a varios pares de elementos separados por comas. Dichos pares de elementos son el nombre que le daremos a la columna o campo de la tabla y el tipo de dato que van a contener separados por un espacio. En nuestra sentencia definimos 6 campos llamados clave, nombre, apellido_paterno, apellido_materno, fecha_nacimiento y sueldo; de tipos de datos INTEGER , TEXT y NUMERIC:

Creando tabla empleado.

tanto el nombre de la tabla y los campos es preferible escribirlos en minúsculas y sin espacios por convención. El último par de elementos columna – tipo de dato no lleva coma final y va antes del cierre del paréntesis. Las sentencias SQL deben terminar con un punto y coma (;). ¿Que es un tipo de dato? Enseguida lo veremos.

Los tipos de datos.

Cada motor de base de datos implementa diferentes tipos de datos. ¿Pero que es un tipo de dato? Cuando definimos campos o columnas debemos definir con anterioridad que datos van a contener. Una columna de una tabla puede contener sólo números o sólo letras o combinación de ambos. O puede que vaya contener fechas o valores falso y verdadero, o números con punto decimal como cuando queremos guardar cantidades que representan cantidades de alguna moneda, o sólo números enteros, etc.

Cada motor de base de datos define el tipo de datos que podemos dar a nuestros campos. Unas bases de datos tiene más variedad de tipos de datos que otras. El motor de base de datos que estamos usando, SQLite, define sólo cuatro tipos de datos: INTEGER, TEXT, BLOB, REAL y NUMERIC. Los nombres de lo tipos de datos no es necesario escribirlos en mayúsculas pero es buena práctica hacerlo. Estos nombres tampoco pueden ser usados para nombrar tablas o campos, ya que son palabras reservadas por el lenguaje SQL de SQLite. Enseguida definiremos los distintos tipos de datos que maneja SQLite.

INTEGER: la columna que se define con este tipo de dato, sólo aceptará números enteros.
TEXT: este tipo de datos aceptará tanto números como letras y caracteres especiales.
BLOB: acepta almacenar en él archivos de documentos, imágenes, audio o videos.
REAL: en él se pueden almacenar números con punto decimal.
NUMERIC: almacena números con punto decimal, peor a diferencia del REAL, se le debe indicar cuántos decimales va a soportar.

Como podemos ver, SQLite no maneja un tipo de dato para guardar fechas. Sin embargo SQLite permite guardar y manipular fechas en TEXT, REAL o INTEGER. Más adelante veremos como lo hace.

Estructura de una tabla.

Antes de crear una tabla es importante definir su estructura, es decir que campos va a contener y de que tipo de datos, que restricciones van a tener los datos, su clave primaria, etc.. En nuestra tabla que creamos sólo definimos campos y sus tipos, algunos de los otros elementos que conforman la estructura de una tabla los veremos más adelante.

Hasta el momento la tabla creada no contiene datos, decimos que está vacía. ¿Que pasa si posteriormente queremos modificar la estructura de la tabla que creamos? Borrar un campo o columna que nos dimos cuenta que no hace falta, o agregar uno que olvidamos. O si simplemente esa tabla ya no nos interesa y la queremos eliminar. Eso lo veremos en la siguiente sección.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.

Publicado el 2 comentarios

SQL básico. La base de datos SQLite e instalación de la aplicación DB Browser for SQLite.

Para las practicas con el lenguaje SQL utilizaremos tanto el programa SQLite como el ambiente gráfico DB Browsser fo SQLite. Ambos son programas gratuitos.

El programa SQLite.

SQLite, en su sitio web, se define como una librería que implementa un motor de base de datos SQL pequeño, rápido, auto-contenido (la base de datos se encuentra en un solo archivo) , muy fiable y con muchas de las funciones del lenguaje SQL. Se dice que es el motor de base de datos más usado en el mundo y que está presente en celulares, computadoras y viene incluido en algunos programas que usamos comúnmente como los navegadores y otros.

Imagen del sitio web de SQLite

El código fuente de este sistema es de dominio público y es un programa de libre uso, es decir, no hay que pagar por usarlo. El programa esta echo en lenguaje C y funciona en muchos sistemas operativos: Windows, Linux, MacOS, etc.

Podríamos descargar el programa SQLite desde su sitio web, pero usarlo sería un poco complicado ya que la interfaz sería desde una consola de Windows asumiendo que vamos a trabajar bajo una computadora con alguna versión del sistema operativo Windows. Para hacer las prácticas con SQL y SQLite usaremos mejor un programa gráfico que les será más fácil de usar y que describiremos enseguida.

DB Browser for SQLite.

Existen varios clientes gráficos para usar y administrar una base de datos SQLite, sin embargo para nuestras prácticas usaremos el programa llamado “DB Browser for SQLite”, ya que este puede ser instalado en computadoras con sistemas operativos como Windows, MacOS o Linux; además que su uso es gratis.

Imagen del sitio de DB Browser for SQLite.

DB Browser for SQLite (DB4S para abreviar) se describe en su sitio Web, comos una herramienta de código abierto de alta calidad y visual, hecha para crear, diseñar y editar archivos de base de datos compatibles con SQLite. Instalando ese programa, ya no es necesario instalar SQLite.

DB4S esta para que usuarios y desarrolladores puedan crear, buscar y editar base de datos. Su interfaz se asemeja mucho a las ya conocidas hojas de cálculo y no es necesario conocer los comandos SQL.

Instalación de DB4S.

Para descargar el instalador del programa ve a la página de descarga de DB4S. Da clic sobre el enlace “DB Browser for SQLite – Standard installer for 32-bit Windows” si tienes Windows de 32 bits o sobre el enlace “DB Browser for SQLite – Standard installer for 64-bit Windows” si estás usando Windows de 64 bits. Como regla general, las computadoras modernas con Windows 10 son de 64 bits.

Página de descarga del instalador de DB4S.

Una vez descargado ejecuta el archivo descargado. El instalador del programa DB4S iniciará. Da clic en el botón “Next” (siguiente).

Pantalla inicial del instalador de DB4S.

Aceptamos los términos y condiciones del programa dando click para seleccionar el cuadro “I accept the terms in the License Agreement” y oprimimos el botón “Next”.

Aceptando los términos y condiciones de la licencia.

En la siguiente pantalla seleccionamos los cuadros “Desktop” y “Program Menu” para que instala un acceso directo en nuestro escritorio y en el menú de programas de Windows. Oprimimos “Next”.

Seleccionando accesos directos.

En la siguiente pantalla dejamos los valores por defecto y presionamos “Next”.

Seleccionar directorio de instalación.

Estamos listos para instalar el programa. Presionamos el botón “Install” para comenzar la instalación.

Inicia la instalación.

Aparecerá la pantalla de confirmación de seguridad de Windows de la instalación del programa. Seleccionamos el botón “Sí”.

Confirmar instalación del programa.

Comenzará la instalación del programa y al terminar, mostrará la pantalla de que la instalación fue completada en forma correcta. Presionamos el botón “Finish” para finalizar.

Instalación completada correctamente.

En nuestro escritorio deberá aparecer el siguiente acceso directo:

Acceso directo de DB4S

Damos doble clic sobre este para iniciar la aplicación. Deberá aparecer la siguiente pantalla, si es así, la instalación fue satisfactoria.

Aspecto de la aplicación DB4S.

Una vez comprobado que funciona, cerramos la aplicación ya sea cerrando la ventana dando click en el botón “X” o seleccionando la opción “Exit” del menú “File” de la aplicación.o presionando las teclas Ctrl – Q simultáneamente.

Cerrando la aplicación a través del menú “File”.

A como se vaya desarrollando el curso en las secciones siguientes iremos aprendiendo al mismo tiempo alguna funcionalidades de este programa. en la siguiente sección veremos como crear una base de datos SQLite y crear nuestra primera tabla.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.