Un lenguaje común, múltiples implementaciones
Decir "Yo uso SQL" es como decir "Yo uso un idioma": describe un idioma, no el software que mantiene el documento. PostgreSQL, MySQL y Microsoft SQL Server son SGBD que incluyen SQL y agregan sus propias capacidades.
Una base es el contenido estructurado gestionado por el SGBD. El servidor es el servicio al que suelen conectarse las aplicaciones y herramientas. En SQL.tn, PGlite ejecuta un PostgreSQL compilado para el navegador: ningún servidor remoto recibe los datos del ejercicio ficticio.
La base SQL viaja bastante bien
SELECT, WHERE, GROUP BY, HAVING, JOIN, INSERT, UPDATE, DELETE, las claves y restricciones tienen ideas comunes. Una consulta sencilla puede funcionar en varios motores o sólo requerir una pequeña adaptación.
La portabilidad disminuye con fechas, texto, tipos, funciones JSON, generación de identificadores, UPSERT, procedimientos y administración. El motor debe especificarse tan pronto como un ejemplo sobrepase la base.
SELECT ville, COUNT(*) AS clients
FROM clients
WHERE actif = TRUE
GROUP BY ville
ORDER BY clients DESC;PostgreSQL: Extensibilidad y Rigor
PostgreSQL es un SGBD relacional de código abierto conocido por su conformidad, tipos enriquecidos, funciones de ventana, JSONB, búsqueda de texto, extensiones y un potente lenguaje de procedimientos. PGlite toma gran parte de este motor de WebAssembly.
Construcciones como INSERT ... ON CONFLICT, RETURNING, JSONB o funciones PL/pgSQL son características de PostgreSQL, incluso si otros motores ofrecen soluciones equivalentes con otra sintaxis.
INSERT INTO stocks (id_produit, quantite)
VALUES (42, 8)
ON CONFLICT (id_produit)
DO UPDATE SET quantite = EXCLUDED.quantite
RETURNING id_produit, quantite;MySQL y SQL Server satisfacen las mismas familias de necesidades
MySQL es muy común en aplicaciones web y tiene su propio ecosistema, motores de almacenamiento y sintaxis. SQL Server es SGBD de Microsoft, está muy integrado con sus herramientas y utiliza el dialecto T-SQL.
Limitar filas ilustra la diferencia: PostgreSQL y MySQL comúnmente usan LIMIT, mientras que SQL Server emplea TOP o OFFSET/FETCH. El objetivo empresarial sigue siendo el mismo, la forma cambia.
-- PostgreSQL y MySQL
SELECT produit, prix FROM produits
ORDER BY prix DESC
LIMIT 3;
-- SQL Server
SELECT TOP (3) produit, prix FROM produits
ORDER BY prix DESC;¿Qué motor deberías aprender?
Para empezar, aprende los conceptos y un dialecto coherente. PostgreSQL es una opción sólida y SQL.tn la utiliza para su simulador. Si su empresa utiliza SQL Server o MySQL, practique sus diferencias en el entorno correspondiente.
El mejor motor también depende del motor existente, las habilidades del equipo, el alojamiento, los conectores, los requisitos operativos y el costo total. Un tutorial por sí solo no es suficiente para esta decisión arquitectónica.
Errores comunes
Especifique siempre el dialecto de un ejemplo avanzado y distinga lo que pertenece al idioma de lo que pertenece a SGBD o su administración.
- Presentar PostgreSQL como idioma.
- Decir que una consulta compleja es universal sin probarla en otro lugar.
- Copie una función SQL Server en PostgreSQL porque ambas usan SQL.
- Elegir un motor únicamente de una lista de características sin considerar el funcionamiento.
Ejercicio de lectura
Busque una consulta que esté utilizando. Clasifica cada elemento: SQL común, sintaxis específica del motor u operación administrativa. Por ejemplo, SELECT es común, ON CONFLICT es PostgreSQL y configurar la replicación es una cuestión administrativa.
El microcurso específico ofrece ahora una secuencia verificada de lecciones y ejercicios. Está disponible sin compra durante la beta.
Profundiza en esta competencia.
Consulta el resultado previsto y los requisitos, y empieza el microcurso durante la beta.
