Está en la página 1de 53

Curso gratis de SQL Básico

1) Introducción

2) SQLite Instalación y Características

3) Tipos de Datos

4) Comandos y Cláusulas

5) Operadores y Funciones de Agregado

6) Creación de una Base de Datos

7) Importar y Exportar Data

8) Consultas de Selección

9) Consultas de Acción

10) Criterios de Selección

11) Criterios de Selección II

12) Recomendaciones Finales


Introducción
SQL (Structure Query Language).

SQL es el lenguaje de consulta universal para bases de datos.

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

SQL proporciona métodos para definir la base datos, para manipular la información y para gestionar los permisos de
acceso a dicha información.

Para que un gestor de bases de datos sea considerado como relacional, debe soportar SQL, independientemente de
las características particulares que dicho gestor pueda aportar.

Conocer SQL es conocer las bases de datos, y todo su potencial.

Existen muchísimas aplicaciones para la administración y gestión de base de datos, muchas de carácter
empresarial (licenciadas) y algunas libres.

Para nuestro curso utilizaremos la aplicación Sqlite Studio, la cual es de licencia publica y es muy fácil de
usar.

Acá les dejo el link para descargarla http://sqlitestudio.one.pl/index.rvt?act=download y en la lección


siguiente les mostraré cómo instalarla y utilizarla.
SQLite Instalación y Características
SQLite

SQLite es una biblioteca en proceso que implementa un motor de base de datos SQL transaccional
independiente, sin servidor y de configuración cero. El código para SQLite es de dominio público y por
lo tanto, es gratuito para cualquier uso, comercial o privado.

SQLite es la base de datos más implementada del mundo con más aplicaciones de las que podemos contar,
incluidos varios proyectos de alto perfil.

Para más información sobre SQLite visitar: https://www.sqlite.org/about.html

El GUI o Interface Gráfica de Usuario de SQLite se llama SQLite Studio, la misma nos permite
administrar bases de datos de forma gráfica y fácil.

Esta aplicación tiene las siguientes características:

 Portátil: no es necesario instalarlo o desinstalarlo. Solo descarga, descomprime y ejecuta.


 Interfaz intuitiva.
 Potente, pero ligero y rápido.
 Todas las características SQLite3 y SQLite2 incluidas en una GUI simple.
 Multiplataforma: se ejecuta en Windows 9x / 2k / XP / 2003 / Vista / 7, Linux, MacOS X y debería
funcionar en otros Unixes (aún no probados).
 Exportar a varios formatos (sentencias SQL, CSV, HTML, XML, PDF, JSON).
 Importación de datos de varios formatos (CSV, archivos de texto personalizados).
 Numerosas pequeñas adiciones, como el código de formato, el historial de consultas ejecutadas en
las ventanas del editor, la verificación de la sintaxis sobre la marcha, y más.
 Soporte Unicode.
 Skinnable (la interfaz puede parecer nativa para Windows 9x / XP, KDE, GTK, Mac OS X o dibujar
widgets para adaptarse a otros entornos, WindowMaker, etc.).
 Colores configurables, fuentes y accesos directos.
 Código abierto y gratuito: lanzado bajo la licencia GPLv3.
La podemos descargar de la página: https://sqlitestudio.pl/index.rvt?act=download, para nuestro curso
descargaremos la versión para Windows.

Una vez descargado, solo debemos descomprimirlo:

Una vez descomprimido abrimos el archivo SQLiteStudio.exe, el cual abrirá el GUI de SQLite Studio, ya
que como mencionamos esta aplicación es portable.

Al abrir la aplicación nos encontramos con la interface de la misma, la cual esta compuesta por los
siguientes elementos:
 La barra de titulo nos muestra el titulo de la aplicación.
 La Barra de menú nos muestra los diferentes menús y submenús disponibles

 La Barra de Herramientas nos muestra las herramientas con las que disponemos, desde abrir una base
de datos hasta ejecutar una consulta (query).
 La Barra de Data Base Toolsbar, nos permite conectarnos, desconectarnos, agregar, editar y
refrescar una base de datos.
 La Barra de Structure ToolsBar, nos permite crear, editar o eliminar tablas, cadenas, índices y
vistas.

 La Barra de Tools, nos permite abrir el editor de SQL, Abrir el historial de las Bases de datos
utilizadas, abrir las funciones del editor de SQL, abrir el editor de colaciones, importar o exportar
una base de datos, una tabla o una consulta (query) y abrir el menú de configuración.

 La Barra View Toolsbar, nos permite elegir la forma de vista de nuestras ventanas dentro del GUI.

Adicional a estas barras de herramientas, contamos también con la barra de Herramientas de Consulta, con
la cual podemos de izquierda a derecha:

 Ejecutar una Consulta (query).


 Expandir la Consulta.
 Cambiar el Estilo de Formato de la Consulta.
 Borrar el Historial de Consultas Ejecutadas.
 Exportar los Resultados.
 Imprimir Query.
 Crear Vista para la Consulta.
 Guardar Consulta Como.
 Abrir una Consulta.
 Buscar y Reemplazar Texto Dentro de la Consulta.
 Seleccionar la Base de Datos con la cual Trabajar.
 Visualizar los Resultados de dos Formas.

El espacio de Árbol de base de datos nos muestra todas las bases de datos con las cuales estamos
trabajando y si están conectadas o desconectadas, y a su vez podemos observar el árbol completo que
conforma cada una de ellas (tablas, indices, etc).
En la Interfaz de Múltiples Documentos podemos abrir el editor de SQL para crear, abrir o ejecutar una
consulta (query), también tenemos la sección de formato de vista, en el cual podemos escoger cómo ver los
datos arrojados por la consulta; como cuadricula (Grid) o como formulario (Form).

Y por ultimo tenemos el Área de Status y Mensajes, en la cual se nos muestran mensajes sobre posibles
errores al ejecutar las consultas y el status de conexión de las base de datos.
Tipos de Datos
En esta Lección veremos los tipos de datos existentes en SQL.

SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las
tablas, los tipos de datos pueden ser numéricos (con o sin decimales), alfanuméricos, de fecha o
booleanos (sí o no).

Según el gestor de base de datos que estemos utilizando, los tipos de datos varían, pero se reducen
básicamente a los expuestos anteriormente, aunque en la actualidad casi todos los gestores de bases de datos
soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a
almacenar archivos, imágenes, entre otros.

Detallando mas cada uno de los tipos de datos tenemos:

Tipos de Datos Numéricos


Tipos de Datos Alfanuméricos

El tamaño del campo varía en función a cada base de datos, siendo 255 el valor por default, este viene
delimitado por el tamaño de las páginas de datos.

Tipos de Datos Fecha

Tipos de Datos Lógicos

Para este tipo de datos se aplica lógica booleana, ceo (0) es falso y no cero verdadero.

Tipos de Datos BLOB


Comandos y Cláusulas
Existen dos tipos de Comandos SQL:

DDL (Data Definition Language) que permiten crear y definir nuevas bases de datos, campos e índices.

DML (Data Manipulation Language), su función es la manipulación de datos. A través de él podemos


seleccionar, insertar, eliminar y actualizar datos, también generar consultas para ordenar, filtrar y extraer
datos de la base de datos. 

Cláusulas

Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o
manipular.
Operadores y Funciones de Agregado
Operadores

Los operadores se pueden definir como combinaciones de caracteres que se utilizan tanto para realizar
asignaciones como comparaciones entre datos.

Operadores Lógicos

Operadores de Comparación

Orden de Ejecución de los Comandos

Dada una sentencia SQL de selección que incluye todas las posibles cláusulas, el orden de ejecución de las
mismas es el siguiente:

1. Cláusula SELECT
2. Cláusula FROM
3. Cláusula WHERE
4. Cláusula GROUP BY
5. Cláusula HAVING
6. Cláusula ORDER BY
Funciones de Agregado

Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los datos de las tablas. Y se usan
dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un
grupo de registros.
Creación de una Base de Datos
En esa lección se les mostrará cómo crear una base de datos, utilizando la interfaz gráfica de SQLite.

Por Interfaz Gráfica:

Para crear una base de datos solo debemos abrir el SQLite Studio, y hacer clic en el botón de Add a database
o (Control + O):

Nos aparecerá un cuadro de dialogo como el siguiente:

En el cual le haremos clic al botón de Create new database file, en el cual nos aparecerá una ventana donde
debemos seleccionar la carpeta donde será guardada nuestra base de datos, el nombre de la misma, en
nuestro caso, la llamaremos Empleados y haremos clic en Guardar y luego Ok en el cuadro de dialogo
anterior.
Guardar Base de Datos
Al darle a Ok, se creará la base de datos con el nombre Empleados:

Base de Datos Creada

Una vez creada, nos dispondremos a crear la tabla llamada Trabajadores, a la cual le crearemos los campos
necesarios para trabajar con las consultas.

Para crear la tabla nos posamos en la base de datos Empleados, y hacemos doble clic para desplegar toda
la estructura de la misma, o hacemos clic en la flecha que aparece del lado izquierdo de la base de datos, nos
posamos en Tables (tablas), y hacemos clic derecho>Create a Table (crear Tabla), del lado derecho en el
MID, nos aparecerán varias pestañas, en la de estructura (Structure), en la sección Table name (Nombre
de la Tabla) colocaremos Trabajadores.

Crear Tabla
Nombrar Tabla

Ahora le agregamos las columnas que compondrán la tabla (para nuestro ejemplo solo agregaremos una y más
adelante les mostraré como agregar las demás), para ello hacemos clic en el botón Add columns (Ins), nos abrirá un
cuadro de dialogo donde colocaremos en Column Name: ID, Data Type: NUMERIC y abajo seleccionaremos Primary
Key, para indicarle que este será el campo de clave primaria de la misma:

Insertar Columnas
Le damos a Ok y hacemos clic en el botón verde de Commit structure Changes, para crear y guardar la
tabla:

Tabla Creada

Una vez creada la tabla le agregaremos los otros campos que necesitamos para luego cargar la data desde
un archivo externo.

Para agregar las otras columnas nos posamos sobre la tabla Trabajadores y hacemos clic en el botón Add
columns (Ins), el nombre del campo es Type_ID, el tipo de dato es Texto (text), y marcamos la restricción
(constraints), Not NULL para indicar que este campo no puede ser nulo, y le damos a OK.

Y nos quedará de la siguiente manera:

Creación de Campo Type_ID


Y nos aparecerá el campo creado de la siguiente manera en la pestaña structure (estructura):

Campo Type_ID

Ahora, a manera de ejercicio crearemos los otros campos que compondrán la tabla con las siguientes
especificaciones:

Columnas a Crear

Una vez creadas las columnas deben quedar de la siguiente manera:

Columnas a Crear
Y una vez estemos seguros de todas las columnas a crear le damos al botón Commit Structure Changes,
para guardar los cambios, y luego le damos a Ok.

Columnas
Creadas

Listo, ya creamos nuestra base de datos con las columnas necesarias, en la próxima lección importaremos la
data desde un archivo.
Importar y Exportar Data
En esta lección aprenderemos cómo importar data desde un archivo externo y exportar data desde la base de
datos a un archivo. 

Importar o Agregar Información (datos)

Una vez creada nuestra base de datos con sus tabla(s) estructurada(s), podemos llenar las misma(s) de
manera periódica (agregar uno a uno los datos) o de manera masiva, que puede ser copiar y pegar o
importarla desde un archivo externo, como cuando tenemos información guardada en un archivo por
ejemplo un excel, xlsx, para cada uno de los casos el procedimiento es el siguiente:

De manera Periódica y Masiva (copiar y Pegar): este es el caso donde se irá agregando información a
la(s) tabla(s) constantemente, y la información puede ser agregada manualmente de acuerdo a la cantidad de
registros a ingresar.

Ejemplo: tenemos la tabla Trabajadores, la cual solo contendrá la información del personal activo de una
compañía, es decir, que a la misma se le van agregando registros del personal de nuevo ingreso o se le
van removiendo los registros del personal egresado, esta tabla siempre estará en constante actualización de
forma manual. Para nuestro caso la tabla ya contiene información y queremos agregarle dos nuevos
ingresos, de los cuales tenemos los datos en un archivo de excel y se debe ingresar a la tabla, el
procedimiento seria el siguiente:

Nos posamos en la base de datos Empleados > Tabla Trabajadores > Pestaña Data.

Agregamos el numero de filas a agregar, (dos en nuestro caso) haciendo clic en el botón verde de Insert Row (ins) el
numero de veces conforme al número de registros a ingresar:

Filas Insertadas
Ahora copiamos la data a ingresar sin los títulos de la columnas.

Data a Ingresar

NOTA: la información a ingresar debe tener el mismo formato de la tabla, en cuanto a estructura (orden de
campos) y el formato de los mismos, con el fin de mantener la estructura de la tabla y no ingresar datos
incorrectos donde no deben estar.

Ahora nos posamos sobre la primera celda del campo ID de las columnas agregadas y pegamos la
información:

Información Agregada

Como podemos observar, la información agregada aparece resaltada en azul, esto nos indica que son las filas
nuevas a agregar y que aún no han sido guardadas.

NOTA: antes de guardar cualquier cambio es conveniente fijarse en que la información cargada tenga el
formato correcto y resten en las columnas que les corresponden.

Una vez chequeado el formato de la información hacemos clic en el botón de check verde Commit:

Datos Almacenados
Para eliminar información de la tabla, solo debemos sombrear las filas y le hacemos clic al botón Rojo
Delete Select Row:

Borrar Información

Una vez borrada la información nos quedará de esta manera, indicándonos que no hemos guardado los
cambios:

Datos Borrados sin Guardar los Cambios

Y para terminar con la eliminación de la información hacemos clic en Commit:

Información Borrada
Importar Información desde Archivo Externo: para este procedimiento debemos descargar el siguiente
archivo .csv con la información que se cargará en la tabla:

https://mega.nz/#!7dtBzazI!8PU26aM86_q2mnKkt9IEK5A5aZvHnH-ikhg8QbvzoUc 

Esta información sera la utilizada en las siguientes lecciones para realizar los ejercicios de consultas, y
también servirá para hacer a manera de ejercicio la importación de data.

NOTA: la información a importar en este ejercicio está bajo el formato separado por comas (.csv), la
información debe tener el mismo formato que la tabla a actualizar, con el fin de garantizar la correcta
importación de los datos.

Una vez descargado el archivo procedemos a importarlo para actualizar nuestra tabla Trabajadores, para
ello debemos posarnos sobre la tabla Trabajadores, y hacer clic en Import:

Importar

Nos aparecerá un cuadro de dialogo que nos muestra la base de datos (Empleados), y seleccionamos la
tabla a actualizar, en nuestro caso (Trabajadores) y hacemos clic en Next:

Tabla a Actualizar
Al darle a Next, nos aparecerá otro cuadro de dialogo, con lo siguiente:

 Data Source Type:  seleccionamos "CSV".


 Options Input File: haremos clic en la carpeta y buscaremos la ruta donde almacenamos el archivo
Trabajadores.csv que descargamos del link antes indicado.
 Text Enconding: seleccionamos System, que aparece por defecto.
 Ignore Errors: activamos el check para que ignore algún error que pueda surgir en cuanto a la data a cargar,
los mismos pueden ser que la aplicación quiera agregar las celdas que aparecen vacías.
 Data Source Opctions: activamos el Check de la casilla First line represents CSV columns names (para
indicarle que la primera linea de las columnas es el titulo de cada una de ellas y las omita al momento de
importar la información), en nuestro caso no lo activamos ya que nuestro archivo solo contiene data sin
cabeceras de columnas.
 Field separator: seleccionamos el tipo de carácter con el cual está separada la información de nuestro
archivo, para nuestro caso "coma"(,).

Nos debe quedar así:

Detalles de Importación

Una vez seleccionados todos los parámetros necesarios para realizar la importación, hacemos clic en Finish
Al Finalizar de importar nos aparecerá la data cargada en la tabla y el mensaje en el panel de mensajes
indicando la carga completa:

Importación Finalizada

En el Panel de Status y Mensajes observamos el mensaje indicándonos que no se pudo importar la fila 633,
y que fue ignorada por no cumplir con la condición NOT NULL del Campo Type_ID.

Mensaje de Fila Ignorada

Si revisamos nuestro archivo de data de origen, el mismo solo tiene 632 filas con información, es decir, que
la data fue cargada satisfactoriamente, y este error es dado por la aplicación por tomar una celda sin datos.

Y con esto ya tenemos cargada nuestra Tabla Trabajadores de la Base de datos Empleados.

Es importante la correcta realización de este ejercicio, ya que en las lecciones siguientes utilizaremos esta
tabla para nuestros ejercicios de consulta.
Consultas de Selección
Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases
de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un
objeto recordset. Este conjunto de registros puede ser modificable.

Para abrir el editor de SQL, hacemos clic en el botón de Open SQL Editor (Alt + E), y en la pestaña
Query, procederemos a armar nuestras consultas:

Editor de SQL

Consultas Básicas

La sintaxis básica de una consulta de selección es la siguiente:

SELECT 

Campo1, Campo2, Campo3...

FROM

Tabla

Donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por
ejemplo:

Select

Nombre, Apellido, Numtlf

From

Trabajadores
Esta sentencia devuelve un conjunto de resultados con el campo nombre, apellido y teléfono, de la tabla
Trabajadores:

Resultado de la Consulta

Cabe acotar que los demás datos aparecerán a medida que bajemos la barra de desplazamiento.

Ordenar los Registros

Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante
la cláusula ORDER BY Campo, donde Lista de campos representa los campos a ordenar.

Ejemplo:

Order By
Y nos trae el siguiente resultado:

Resultado Ordenado

Podemos utilizar la Cláusula Order by combinada con cualquiera de los campos de la tabla.
Se pueden ordenar los registros por más de un campo, como por ejemplo:

Ordenar por Varios Campos

Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC - se toma este
valor por defecto) o descendente (DESC).

 
Uso de Indices de las tablas

Si deseamos que la sentencia SQL utilice un índice para mostrar los resultados se puede utilizar la palabra
reservada INDEX de la siguiente forma:

SELECT *

FROM Tabla (INDEX=Indice)

Normalmente los motores de las bases de datos deciden qué índice se debe utilizar para la consulta, para ello
utilizan criterios de rendimiento y sobre todo los campos de búsqueda especificados en la cláusula WHERE.
Si se desea forzar a no utilizar ningún índice utilizaremos la siguiente sintaxis:

SELECT *

FROM Tabla (INDEX=0)

Consultas con Predicado

El predicado se incluye entre la cláusula y el primer nombre del campo a recuperar, los posibles predicados
son:

Predicados
ALL
Si no se incluye ninguno de los predicados se asume ALL. El motor de base de datos selecciona todos los
registros que cumplen las condiciones de la instrucción SQL y devuelve todos y cada uno de sus campos. No
es conveniente abusar de este predicado, ya que obligamos al motor de la base de datos a analizar la
estructura de la tabla para averiguar los campos que contiene, es mucho más rápido indicar el listado de
campos deseados.

SELECT *

FROM

Predicado ALL
TOP (LIMIT)
Devuelve un cierto número de registros que entran al principio o al final de un rango especificado por una
cláusula ORDER BY.

En SQLite el predicado es sustituido por LIMIT. Supongamos que queremos recuperar los nombres,
apellidos y números de teléfono de los 10 primeros trabajadores:

SELECT TOP 10

Nombre, Apellido

FROM

Trabajadores

ORDER BY

Numtlf DESC

En SQLite sería de esta forma:

SELECT

nombre, apellido, numtlf

FROM

Trabajadores

Order by

numtlf desc

LIMIT 10
Top (LIMIT)

Si no se incluye la cláusula ORDER BY, la consulta devolverá un conjunto arbitrario de 10 registros de la


tabla de Trabajadores. El predicado TOP (LIMIT) no elige entre valores iguales.
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de
cada campo listado en la instrucción SELECT se incluyan en la consulta deben ser únicos. Por ejemplo,
varios empleados listados en la tabla Empleados pueden tener el mismo apellido. Si dos registros contienen
López en el campo Apellido, la siguiente instrucción SQL devuelve un único registro:

SELECT DISTINCT

Apellido

FROM

Trabajadores

Disctinct en Campo Apellido

Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la
cláusula SELECT posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT no es
actualizable y no refleja los cambios subsiguientes realizados por otros usuarios.

 
ALIAS
En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un
conjunto devuelto, otras veces por simple capricho o porque estamos recuperando datos de diferentes tablas
y resultan tener un campo con igual nombre.

Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que
deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la
columna devuelta por la consulta, en lugar de llamarse apellido (igual que el campo devuelto), que se llame
Empleado. En este caso procederíamos de la siguiente forma:

SELECT 

Nombre AS Empleado

FROM

Trabajadores

Alias AS
Otra forma mas fácil de hacerlo es simplemente escribir el alias luego del campo a consultar, y también
podemos usarlos de manera combinada:

Alias

AS no es una palabra reservada de ANSI, existen diferentes sistemas de asignar los alias en función del
motor de bases de datos. En ORACLE para asignar un alias a un campo hay que hacerlo de la siguiente
forma:

SELECT

Apellido AS "Empleado"

FROM

Trabajadores
Consultas de Acción
Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como
añadir, borrar y modificar registros. Tanto las sentencias de actualización como las de borrado desencadenan
(según el motor de datos) las actualizaciones en cascada, borrados en cascada, restricciones y valores por
defecto definidos para los diferentes campos o tablas afectadas por la consulta.

DELETE

Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas en la cláusula
FROM que satisfagan la cláusula WHERE. Esta consulta elimina los registros completos, no es posible
eliminar el contenido de algún campo en concreto. Su sintaxis es:

DELETE FROM Tabla WHERE criterio

Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la
operación.

Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta de selección que
utilice el mismo criterio y después ejecute la consulta de borrado. Mantenga copias de seguridad de sus
datos en todo momento. Si elimina los registros equivocados podrá recuperarlos desde las copias de
seguridad.

DELETE

FROM

Trabajadores

WHERE

Cargo = 'Vendedor'

Para nuestro ejemplo, agregaremos un registro nuevo (inventado), respetando los tipos de datos de la tabla, y
con el cargo de Vendedor:

Registro Nuevo a Borrar


Ahora realizaremos el borrado del mismo, lo más recomendable es primero realizar una consulta buscando
el criterio por el cual van a ser borrados los datos, esto con el fin de saber cuántos serán eliminados y
chequear que no se vayan a borrar datos que no son los correctos:

SELECT *

FROM

      Trabajadores

WHERE

     Cargo = 'Vendedor'

Datos a Borrar
Ahora una vez corroborados los datos a borrar, procedemos a ejecutar la consulta DELETE:

Delete From Trabajadores

Where Cargo = 'Vendedor'

Registros Borrados
Si nos fijamos en la sección de Status, nos aparece un mensaje indicando las Filas Afectadas (borradas), y
para verificar que haya sido borrado con éxito, ejecutamos nuevamente la consulta de búsqueda:

Verificación
INSERT INTO

Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta puede ser
de dos tipos: Insertar un único registro o Insertar en una tabla los registros contenidos en otra tabla.

Para insertar un único Registro:

En este caso la sintaxis es la siguiente:

INSERT INTO Tabla (campo1, campo2, ..., campoN)

VALUES ('valor1', 'valor2', ..., 'valorN')

Esta consulta graba en el campo1 el valor1, en el campo2 y valor2 y así sucesivamente.

Los datos a ingresar deben estar dentro de comillas simples (').

INSERT INTO Trabajadores (ID, Type_ID, Nombre, Apellido, Genero, Numtlf, NumEmpleado,


Fec_Ingreso, Cargo, Nivel_Academico, Departamento).

VALUES ('1', 'V', 'AulaFacil.com', 'AulaFacil.com', 'M', '4120000000', '5555', '01/01/01', 'Vendedor',
'AulaFacil.com', 'AulaFacil.com').

Datos Insertados
UPDATE

Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada
basándose en un criterio específico. Su sintaxis es:

UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, CampoN=ValorN

WHERE Criterio

UPDATE es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos se
encuentran en múltiples tablas. Puede cambiar varios campos a la vez. 

Antes de realizar un UPDATE, se recomienda hacer una consulta para saber cuantos datos serán
actualizados:

SELECT*

FROM Trabajadores

WHERE Nivel_Academico= 'Bachiller'

Datos a Actualizar

Como vemos, si nos desplazamos al final del resultado de la consulta son 114 registros con el nivel
académico Bachiller.
Otra forma de saber cuántos registros serán modificados es usar COUNT, el cual realiza un conteo de
cuántos registros hay en la tabla bajo el criterio de Nivel Académico Bachiller:

SELECT Count(*)

From Trabajadores

WHERE  Nivel_Academico = 'Bachiller'

Cantidad de Registros

Como podemos observar, ambas consultas nos sirven para saber la cantidad de registros que serán
actualizados, la única diferencia es que la primera nos muestra el detalle completo de los registros a
actualizar y la segunda solo la cantidad de registros que serán modificados.

Ahora ejecutaremos el UPDATE:

UPDATE Trabajadores

SET Nivel_Academico = 'TSU en Curso'

WHERE Nivel_Academico= 'Bachiller'

UPDATE no genera ningún resultado. Para saber qué registros se van a cambiar, hay que examinar primero
el resultado de una consulta de selección que utilice el mismo criterio y después ejecutar la consulta de
actualización.
UPDATE Realizado

Como vemos nos indica la cantidad de registros actualizados.

Si en una consulta de actualización suprimimos la cláusula WHERE, todos los registros de la tabla señalada
serán actualizados.

UPDATE Trabajadores

SET Nivel_Academico = 'TSU'

Esta consulta realizaría la actualización de todos los datos de la columna Nivel_Académico, por TSU, solo
debe realizarse cuando tenemos un dato en común en la misma columna, como por ejemplo cambiar los
datos NULL (Nulos) por algún otro valor.
Criterios de Selección
En el apartado anterior se vio la forma de recuperar los registros de las tablas, las formas empleadas
devolvían todos los registros de la mencionada tabla. A lo largo de este apartado se estudiarán las
posibilidades de filtrar los registros con el fin de recuperar solamente aquellos que cumplan unas
condiciones preestablecidas.

Antes de comenzar el desarrollo de este apartado hay que recalcar dos detalles de vital importancia.

El primero de ellos es que cada vez que se desee establecer una condición referida a un campo de texto la
condición de búsqueda debe ir encerrada entre comillas simples.

La segunda es que no es posible establecer condiciones de búsqueda en los campos memo.

Sintaxis por Banco de Datos

Operadores Lógicos

Los operadores lógicos soportados por SQL son: AND, OR, XOR, Eqv, Imp, Is y Not.

A excepción de los dos últimos todos poseen la siguiente sintaxis:

<Expresión 1> operador <Expresión 2>


En donde expresión 1 y expresión 2 son las condiciones a evaluar, el resultado de la operación varía en
función del operador lógico. La siguiente imagen muestra los diferentes posibles resultados:

Operadores Lógicos

Si a cualquiera de las anteriores condiciones le anteponemos el operador NOT el resultado de la operación


será el contrario al mostrado en la tabla.

El último operador denominado Is se emplea para comparar dos variables de tipo objeto Is. Este operador
devuelve verdad si los dos objetos son iguales.

SELECT *

FROM Trabajadores

WHERE Fec_Ingreso > '01/12/2005'

AND Fec_Ingreso < '17/03/2008'

or sueldo <= 5000


Resultado

Valores Nulos

En muchas ocasiones es necesario emplear como criterio de selección valores nulos en los campos. Podemos
emplear el operación IS NULL para realizar esta operación. Por ejemplo:

SELECT *

FROM Trabajadores

WHERE ID IS NULL

Y en caso de querer aquellos que no sean NULL:

SELECT *

FROM Trabajadores

WHERE ID IS  NOT NULL

Nuestra consulta no nos arrojará nada ya que el campo ID tiene como condición no ser NULL.
Criterios de Selección II
Intervalos de Valores

Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el
operador Between, cuya sintaxis es:

campo [Not] Between valor1 And valor2 (la condición Not es opcional)

En este caso la consulta devolvería los registros que contengan en "campo" un valor incluido en el intervalo
valor1, valor2 (ambos inclusive). Si anteponemos la condición Not devolverá aquellos valores no incluidos
en el intervalo.

SELECT *

FROM Trabajadores

WHERE NumEmpleado BETWEEN 15 AND 79;

Esta consulta traerá como resultado aquellos trabajadores que sus números de empleado resten entre los
números 15 y 79:

Resultado Consulta Between

Si anteponemos la condición Not, devolverá aquellos valores no incluidos en el intervalo.

Like

Se utiliza para comparar una expresión de cadena con un modelo en una expresión SQL. Su sintaxis es:

expresión Like modelo

En donde expresión es una cadena modelo o campo contra el que se compara la expresión. Se puede utilizar
el operador Like para encontrar valores en los campos que coincidan con el modelo especificado.
Por modelo se puede especificar un valor completo (Hola), o se puede utilizar una cadena de caracteres
comodín como los reconocidos por el sistema operativo para encontrar un rango de valores (Like 'Ho%').

El operador Like se puede utilizar en una expresión para comparar un valor de un campo con una expresión
de cadena. Por ejemplo, si introduce Like 'C%' en una consulta SQL, la consulta devuelve todos los valores
de campo que comiencen por la letra C. En una consulta con parámetros, puede hacer que el usuario escriba
el modelo que se va a utilizar.

SELECT *

FROM Trabajadores

WHERE Apellido like 'Me%';

Like

Como vemos, nuestra consulta nos trajo todos aquellos trabajadores que su Apellido empieza por Me, se
pueden hacer múltiples combinaciones, por ejemplo si colocamos un NOT Like, nos traerá todos aquellos
registros que no comiencen con Me.

SELECT *

FROM Trabajadores

WHERE Apellido Not like 'Me%


NOT Like

In

Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los de una lista a
buscar, se usa cuando tenemos multíplices valores que consultar. Su sintaxis es:

expresión [Not] In(valor1, valor2,)

SELECT *

FROM Trabajadores

WHERE ID IN ('3441866', '19155753', '11811624', '3307636')

Operador IN
La Cláusula WHERE

La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en la cláusula
FROM aparecerán en los resultados de la instrucción SELECT. Después de escribir esta cláusula se deben
especificar las condiciones expuestas en los apartados anteriores. Si no se emplea esta cláusula, la consulta
devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuación de
FROM.

SELECT ID as Cedula, Nombre, Apellido, Sueldo, Fec_Ingreso, Departamento

FROM Trabajadores

WHERE Type_ID = 'V'

And sueldo >5000

And Fec_ingreso >'01/03/2008'

And Nombre like 'An%'

And Departamento not In ('Presidencia', 'Operaciones')

Order by ID asc

Cláusula Where

Como Observamos en la imagen, tenemos una consulta donde buscamos el ID, Nombre, Apellido, Sueldo,
Fecho de Ingreso y Departamento, de los trabajadores, donde el Type_ID sea V, que su sueldo sea mayor
a 5000, su fecha de ingreso sea mayor al 01-03-2008,  que su nombre empiece por AN, y que no
pertenezca a los departamentos Presidencia y Operaciones, y a su vez sean ordenados de menor a mayor
por el ID.

Por lo que observamos la clausula WHERE nos permite agregar cuantas condiciones queramos, siempre y
cuando no existan ambigüedades.
Recomendaciones Finales
Muchas gracias por haber ampliado tus conocimientos con nuestro curso gratuito de SQL Básico

Continua tu aprendizaje en AulaFácil con los siguientes cursos:

1. Curso gratis de Visual Basic paso a paso


2. Cursos gratis de Programación

3. Cursos gratis de Informática

También podría gustarte