SQL es un lenguaje estándar para trabajar con bases de datos relacionales. Es un lenguaje declarativo y no requiere un conocimiento profundo de programación para que alguien comience a escribir queries, las consultas y pedidos, que traen resultados acordes a lo que buscas. SQL significa Estándar Query Language, literalmente el lenguaje estándar para realizar queries.
El Lenguaje SQL se utiliza de forma relativamente similar entre las principales bases de datos relacionales del mercado: Oracle, MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, entre muchos otros. Cada uno tiene sus características, siendo el MySQL y el PostgreSQL extremadamente populares por tener versiones gratuitas y de código abierto.
También es un lenguaje que muchos profesionales terminan necesitando aprender: ya sea quien usa mucho Excel de forma pesada y termina migrando las informaciones a una base de datos, o un científico de datos que usa Python para agregar los datos de las diferentes fuentes de informaciones.
Imagine que tiene una tabla de base de datos, que realmente se puede hacer una analogía con una Planilla de Excel para guardar las informaciones de sus facturas:
+----+----------------------------+------------+-------+
| id | titulo | pago | valor |
+----+----------------------------+------------+-------+
| 1 | bolígrafos | 2019-07-05 | 150 |
| 2 | notebook | 2019-07-01 | 1200 |
| 3 | macbook | 2019-07-02 | 2100 |
| 4 | micrófono | 2019-07-05 | 90 |
| 5 | matricula alura | 2019-07-09 | 900 |
| 6 | gasolina reembolso director| 2019-06-10 | 200 |
+----+----------------------------+------------+-------+
Si quieres buscar todas las facturas que tengan valores superiores a mil pesos, la query que debes ejecutar es una que seleccionarás (SELECT
) todos los campos (*
) Dónde (WHERE
) el valor de la factura sea superior a mil (valor > 1000
):
SELECT * FROM facturas WHERE valor > 1000
Y el resultado será algo como:
mysql> SELECT * FROM facturas WHERE valor > 1000;
+----+----------+------------+-------+
| id | titulo | pago | valor |
+----+----------+------------+-------+
| 2 | notebook | 2019-07-01 | 1200 |
| 3 | macbook | 2019-07-02 | 2100 |
+----+----------+------------+-------+
2 rows in set (0.00 sec)
Como puedes ver, es muy sencillo y directo. Casi una frase escrita en inglés. Este caso fue en mysql pero esta query es estándar en todas las bases de datos.
También podríamos enumerar todos los campos ordenados por fecha de pago, usando ORDER BY pago
:
mysql> SELECT * FROM notas_fiscais ORDER BY pagamento;
mysql> SELECT * FROM facturas ORDER BY pago;
+----+----------------------------+------------+-------+
| id | titulo | pago | valor |
+----+----------------------------+------------+-------+
| 6 | gasolina reembolso director| 2019-06-10 | 200 |
| 2 | notebook | 2019-07-01 | 1200 |
| 3 | macbook | 2019-07-02 | 2100 |
| 1 | bolígrafos | 2019-07-05 | 150 |
| 4 | micrófono | 2019-07-05 | 90 |
| 5 | matricula alura | 2019-07-09 | 900 |
+----+----------------------------+------------+-------+
6 rows in set (0.00 sec)
Los comandos SQL principales son:
SELECT
: busca líneas en tablas de acuerdo con un criterio definido dentro de la denominada cláusula de WHERE
INSERT
: inserta nuevas líneas a la tabla. En nuestro caso, colocaría nuevas facturas dado los argumentos que se pasan al INSERT
. Por ejemplo, en nuestro caso: INSERT INTO nf (título, pago, valor) VALUES 'bolígrafos', '2019-07-15', 150
.
UPDATE
: actualiza líneas en la base de datos de acuerdo con un criterio de WHERE
cómo cambiar el NIT
DELETE
: elimina líneas de la tabla según un criterio.
Todavía hay una infinidad de subcomandos para realizar búsquedas mejores y más elaboradas, como JOIN, LIKE, HAVING
y GROUP BY
.¡No te asustes! El trabajo básico con tablas, líneas, columnas, relaciones y claves no requiere un conocimiento extenso de SQL. Será necesario optimizar las consultas y tomar decisiones sobre cómo modelar estos datos.
SQL y Modelado de base de datos
Además de estos comandos, estarás expuesto a formas de crear tablas y columnas, como CREATE TABLE
y ALTER TABLE
. El modelado de bases de datos es la forma que definimos como las tablas almacenarán y se relacionarán nuestros datos, es decir, cómo estructurar estas relaciones para que no sea difícil de mantener y validar, como termina siendo con las planillas.
Por ejemplo, la tabla de arriba la creamos usando:
CREATE TABLE facturas (
id INT AUTO_INCREMENT,
titulo VARCHAR(255) NOT NULL,
pago DATE,
valor DOUBLE,
PRIMARY KEY (id)
);
Lo ideal es empezar a trabajar con una base muy simple, con una sola tabla, que tenga el modelo de datos cercano a lo que conoces y buscas. Te aconsejo que uses MySQL o PostgreSQL.
Nuestros cursos de SQL de Alura vas a encontrar de todo, desde la instalación y modelado de la base de datos hasta los primeros comandos SQL, tanto en MySQL y PostgreSQL como en SQLServer y Oracle. Y conoce más sobre los comandos básicos de SQL en este otro artículo.
Puedes leer también:
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
483.89
BOB |
68076.59
CLP |
304837.12
COP |
65.90
USD |
264.78
PEN |
1428.79
MXN |
2977.87
UYU |
Plan Anual |
733.54
BOB |
103199.56
CLP |
462112.72
COP |
99.90
USD |
401.39
PEN |
2165.95
MXN |
4514.26
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana