SQL —Structured Query Language— es un lenguaje estandarizado por la ISO para consultar y modificar bases de datos relacionales. MySQL es un sistema gestor de bases de datos (SGBD) concreto, propiedad de Oracle Corporation, que implementa ese lenguaje. No son sinónimos: SQL es el idioma, y MySQL es uno de los varios sistemas que lo hablan, junto a PostgreSQL, SQL Server, Oracle Database, SQLite y MariaDB. La confusión es tan habitual que tiene una explicación simple: el propio nombre «MySQL» contiene la sigla del lenguaje. Y como ningún motor implementa el estándar completo, cada uno termina hablando con su propio dialecto.
Ver índice de contenidos
- 01Qué es SQL, el lenguaje estándar
- 02Qué es MySQL, un motor concreto
- 03Por qué la confusión es tan habitual
- 04Ningún motor habla el estándar completo
- 05Ejemplos de dialecto que se entienden solos
- 06Qué otros motores hablan SQL
- 07Qué implica esto en la práctica
- 08Errores frecuentes
- 09Preguntas frecuentes
- 10Fuentes
Qué es SQL, el lenguaje estándar
El nombre completo es Structured Query Language (SQL): un lenguaje para definir, consultar y modificar bases de datos relacionales, es decir, bases que organizan la información en tablas de filas y columnas. La palabra clave es «lenguaje»: SQL no es un programa que se instala ni un producto que se compra. Es una especificación —comparable a una gramática— que cualquiera puede implementar.
Esa especificación tiene nombre y número formal: ISO/IEC 9075, «Database Language SQL», publicado conjuntamente por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC). Se revisa cada tantos años, y la revisión vigente es SQL:2023. No pertenece a Oracle, a Microsoft ni a ninguna otra empresa: es un estándar internacional abierto, y cualquier equipo que quiera construir un sistema que lo hable puede leer la especificación pública y decidir cuánto de ella implementar.
«Cuánto implementar» es la frase que explica buena parte de esta guía: ningún motor implementa el estándar entero, y de esa decisión salen los dialectos que vas a ver más abajo.
Si lo que buscás es aprender a escribir consultas concretas —SELECT, WHERE, JOIN—, Introducción a SQL desde cero cubre eso en profundidad. Acá el foco es otro: entender qué es el lenguaje en sí, y en qué se diferencia de un motor concreto que lo pone en práctica.
Qué es MySQL, un motor concreto
MySQL, en cambio, sí es un producto: un sistema gestor de bases de datos (SGBD) —el software que crea, almacena, administra y permite consultar bases de datos—, desarrollado y distribuido por Oracle Corporation. La propia documentación oficial de MySQL lo dice sin rodeos en su página «What Is MySQL?»: MySQL es un sistema de gestión de bases de datos, y aclara además que la parte «SQL» de su nombre corresponde a Structured Query Language, «el lenguaje estandarizado más común para acceder a bases de datos».
Dicho de otro modo: MySQL habla SQL, del mismo modo que una persona habla un idioma. Pero MySQL no es SQL, igual que una persona no es el idioma que habla. MySQL implementa una parte del estándar —no todo, ningún motor lo hace— y le agrega funciones, tipos de datos y comportamientos propios que no forman parte de la especificación ISO.
Si querés instalarlo y dar tus primeros pasos, MySQL: instalación y primeros pasos guía el proceso completo, desde elegir la versión hasta crear tu primera base.
Por qué la confusión es tan habitual
La confusión entre ambos nombres es comprensible, y tiene una explicación simple: el propio nombre «MySQL» contiene la sigla del lenguaje que implementa. Quien solo trabajó con ese motor tiene todos los motivos para terminar usando su nombre como si fuera el del lenguaje entero.
En el foro de Underc0de, Mr. Bones lo planteó con precisión en su hilo «Resumen de SQL y su Sintaxis» (9 de agosto de 2023, sección Base de Datos): existen estándares para SQL, pero el SQL de cada gestor de bases de datos viene en formas distintas. Según su planteo, esto ocurre por dos motivos concretos: la complejidad de implementar el estándar completo, y la diferenciación comercial que cada proveedor busca frente a sus competidores. Es, en esencia, el argumento central de esta guía, formulado por la comunidad tres años antes de escribirla.
La confusión tampoco es nueva. Ya en 2012, kid_goth tituló su aporte al foro «Manual SQL - Con motor MySQL». El título mismo, con las dos palabras separadas con esa precisión —SQL por un lado, motor MySQL por otro—, es una forma casi involuntaria de aclarar una distinción que, más de una década después, sigue generando las mismas dudas.
Ningún motor habla el estándar completo
La razón técnica de fondo la confirma la propia documentación de PostgreSQL, otro motor relacional: ningún sistema de gestión de bases de datos implementa el estándar SQL completo. El estándar es enorme, cubre casos de uso muy variados, y no todos los motores necesitan —ni quieren— soportar cada rincón de la especificación.
De esa brecha entre lo que dice el estándar y lo que cada motor decide construir nace el concepto de dialecto de SQL: el conjunto de particularidades —sintaxis propia, funciones que no están en el estándar, tipos de datos exclusivos, formas alternativas de expresar lo mismo— que un motor agrega o modifica respecto a la especificación ISO. Todo dialecto convive con un núcleo común: los conceptos de tabla, fila, columna, SELECT, WHERE y JOIN se comportan igual en cualquier motor serio. Lo que cambia está en los bordes.
Ejemplos de dialecto que se entienden solos
La forma más directa de ver un dialecto en acción es mirar cómo cada motor resuelve una necesidad tan básica como limitar la cantidad de filas que devuelve una consulta —por ejemplo, traer solo los diez productos más caros—. El concepto es idéntico en todos los motores; la palabra para pedirlo, no.
| Motor | Instrucción para limitar resultados |
|---|---|
| MySQL | LIMIT |
| PostgreSQL | LIMIT |
| SQLite | LIMIT |
| SQL Server | TOP |
| Oracle Database | FETCH FIRST |
-- MySQL, PostgreSQL y SQLite: la misma sintaxis
SELECT nombre, precio FROM productos
ORDER BY precio DESC
LIMIT 10;
-- SQL Server: el límite se pide antes, junto al SELECT
SELECT TOP 10 nombre, precio FROM productos
ORDER BY precio DESC;
-- Oracle Database: sintaxis propia, más explícita
SELECT nombre, precio FROM productos
ORDER BY precio DESC
FETCH FIRST 10 ROWS ONLY;
La diferencia no se agota ahí: cada motor también tiene sus propias funciones de fecha y de texto, sus propios tipos de datos —pensá en cómo se representa un texto largo o un valor booleano— y hasta extensiones de sintaxis que el estándar ni siquiera contempla. Nada de esto significa que un motor esté «mal»: cada uno decidió resolver ese problema puntual a su manera, y esa decisión es justamente el dialecto.
Qué otros motores hablan SQL
MySQL está lejos de ser el único que habla SQL. Estos son los que más vas a encontrarte, sin entrar en cuál conviene elegir para un proyecto:
- PostgreSQL: motor relacional de código abierto, con fama de apego especialmente riguroso al estándar.
- SQL Server: el motor relacional de Microsoft, frecuente en entornos corporativos con infraestructura Windows.
- Oracle Database: el motor insignia de Oracle Corporation —la misma empresa dueña de MySQL, aunque se trata de un producto completamente distinto, con su propio dialecto.
- SQLite: un motor embebido, sin servidor propio, que vive dentro de la aplicación que lo usa: de navegadores a aplicaciones móviles.
- MariaDB: un fork —una bifurcación del código— nacido a partir de MySQL, mantenido por la MariaDB Foundation, que conserva una compatibilidad muy alta con la sintaxis de MySQL.
Elegir entre motores concretos —por ejemplo, entre PostgreSQL y MySQL para un proyecto real— es una decisión distinta a la que trata esta guía, y depende de factores como el equipo, la infraestructura y las necesidades del proyecto: PostgreSQL vs MySQL: cuál elegir la desarrolla en detalle. Y si todavía no tenés claro qué es, en general, una base de datos y qué hace un SGBD, Qué es una base de datos y para qué sirve es el punto de partida.
Qué implica esto en la práctica
Esta distinción no es solo un tecnicismo. Tiene consecuencias concretas para quien está aprendiendo o trabajando con bases de datos:
Muchas veces quiere decir «sé usar los comandos de MySQL» —o de cualquier otro motor puntual—. No es lo mismo, y la diferencia se nota apenas se cambia de motor.
Lo que se aprende sobre SELECT, WHERE, JOIN y GROUP BY es casi todo transferible entre motores, porque forma parte del estándar. Lo que no lo es son las funciones específicas, los tipos propietarios y la sintaxis para tareas como paginar resultados.
Una consulta de un tutorial de MySQL puede no funcionar tal cual en PostgreSQL o SQL Server, no porque uno de los dos esté mal, sino porque hablan dialectos distintos del mismo lenguaje.
Esto también importa al migrar de motor —de MySQL a PostgreSQL, por ejemplo—: conviene auditar la aplicación buscando justamente esos puntos de fricción, empezando por las funciones de fecha, la paginación y los tipos de datos usados.
Errores frecuentes
- Decir «sé SQL» cuando en realidad solo se conocen los comandos de un motor concreto. Son cosas distintas, y la brecha aparece justo cuando hace falta cambiar de motor.
- Creer que aprender SQL en MySQL es intercambiable al cien por ciento con cualquier otro motor. El núcleo sí; las extensiones propias, no.
- Pensar que SQL es una marca o un producto. Es un estándar internacional abierto, sin dueño comercial.
- Asumir que todo lo visto en un curso o tutorial de MySQL forma parte del estándar. Buena parte puede ser una extensión propia de ese motor.
- Copiar consultas entre motores sin revisar si usan sintaxis propietaria. Es la causa más común de que «la misma consulta» falle al cambiar de base de datos.
Preguntas frecuentes
¿SQL y MySQL son lo mismo?
No. SQL es un lenguaje estandarizado internacionalmente —su nombre formal es ISO/IEC 9075, con la revisión vigente SQL:2023— que define cómo consultar y modificar bases de datos relacionales. No pertenece a ninguna empresa ni es un producto que se instale. MySQL, en cambio, es un producto concreto: un sistema gestor de bases de datos (SGBD) desarrollado por Oracle Corporation, que implementa una parte de ese lenguaje y le agrega extensiones propias. La propia documentación de MySQL lo aclara: es un sistema de gestión de bases de datos, y la parte «SQL» de su nombre hace referencia al lenguaje estandarizado, no a sí mismo. Confundirlos es tan común como confundir un idioma con una persona que lo habla: el idioma existe independientemente de quién lo use, y varios motores lo hablan, cada uno con su acento propio.
¿Quién define el estándar SQL?
Lo define un proceso de estandarización internacional, no una empresa ni un grupo de motores concretos. El nombre formal del estándar es ISO/IEC 9075 «Database Language SQL», publicado conjuntamente por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC). El estándar se revisa periódicamente, y la versión vigente es SQL:2023. Cualquier fabricante de un sistema gestor de bases de datos puede consultar esa especificación pública y decidir cuánto de ella implementar en su producto; ninguno está obligado a implementarla completa, y en la práctica ninguno lo hace. Eso es justamente lo que da lugar a los dialectos: cada motor cubre el núcleo del estándar y completa el resto con sus propias decisiones de diseño.
¿Qué otros motores usan SQL además de MySQL?
Varios, y son igual de relevantes que MySQL en sus propios ámbitos. PostgreSQL es un motor relacional de código abierto con fama de seguir el estándar de forma especialmente rigurosa. SQL Server es el motor relacional de Microsoft, habitual en entornos corporativos con infraestructura Windows. Oracle Database es el motor insignia de Oracle Corporation —la misma empresa dueña de MySQL, aunque se trata de un producto completamente distinto—. SQLite es un motor embebido que no necesita un servidor propio y vive directamente dentro de la aplicación que lo usa, de navegadores a aplicaciones móviles. Y MariaDB es un fork de MySQL, mantenido por la MariaDB Foundation, que conserva una compatibilidad muy alta con su sintaxis. Todos hablan SQL; ninguno lo habla exactamente igual.
¿Qué es un dialecto de SQL?
Es el conjunto de particularidades que un motor concreto agrega o modifica respecto a lo que dice el estándar SQL. Incluye sintaxis propia para tareas comunes —como limitar la cantidad de filas de un resultado—, funciones que no forman parte de la especificación ISO —de fecha, de texto, matemáticas—, tipos de datos exclusivos y, a veces, formas alternativas de escribir una misma consulta. El ejemplo más citado es la instrucción para acotar resultados: MySQL, PostgreSQL y SQLite usan LIMIT; SQL Server usa TOP; Oracle Database usa FETCH FIRST. El concepto que resuelven es idéntico; la palabra para pedirlo, no. El núcleo del lenguaje —tablas, filas, columnas, SELECT, WHERE, JOIN— es común a todos; el dialecto aparece en los bordes.
¿Por qué hay tanta confusión entre los dos nombres?
Porque el propio nombre «MySQL» contiene la sigla del lenguaje que implementa, así que es fácil terminar usando el nombre del producto para referirse a todo el lenguaje, sobre todo si MySQL fue el único motor con el que alguien trabajó. En el foro de Underc0de, Mr. Bones lo explicó en 2023 con dos razones concretas para que existan tantas variantes de SQL entre gestores: la complejidad de implementar el estándar completo, y la diferenciación comercial que cada proveedor busca frente a la competencia. La confusión, además, no es nueva: ya en 2012 un aporte del foro se tituló «Manual SQL - Con motor MySQL», separando con precisión las dos palabras en un momento en que esa distinción ya generaba dudas. Más de una década después, el malentendido sigue siendo el mismo.
¿Si aprendo SQL en MySQL, me sirve en PostgreSQL o SQL Server?
En gran medida sí, porque lo esencial del lenguaje forma parte del estándar y es común a todos los motores serios: cómo se escribe un SELECT, cómo se filtra con WHERE, cómo se combinan tablas con JOIN, cómo se agrupa con GROUP BY. Ese conocimiento se transfiere casi sin cambios. Lo que no se transfiere automáticamente son las extensiones propias de MySQL: ciertas funciones de fecha y de texto, algunos tipos de datos, y la sintaxis puntual para tareas como paginar resultados —LIMIT en MySQL, TOP en SQL Server, FETCH FIRST en Oracle—. La recomendación práctica es aprender el núcleo del lenguaje sin atarlo mentalmente a un motor, y revisar la documentación del motor de destino cada vez que una consulta dependa de una función o una sintaxis específica.
Fuentes
Aportes de la comunidad y documentación oficial consultados para esta guía. Fecha de consulta: 29 de julio de 2026.
Aportes de la comunidad Underc0de
- Underc0de, foro. «Resumen de SQL y su Sintaxis», por Mr. Bones, 9 de agosto de 2023, sección Base de Datos. Plantea el argumento central de esta guía: existen estándares para SQL, pero cada gestor lo implementa distinto, por la complejidad del estándar completo y la diferenciación comercial de cada proveedor.
- Underc0de, foro. «Manual SQL - Con motor MySQL», por kid_goth, 8 de junio de 2012, sección Base de Datos. Antecedente histórico: el título mismo ilustra la confusión entre los dos nombres desde hace más de una década.
Documentación oficial
- MySQL (Oracle). What Is MySQL?. Define a MySQL como sistema de gestión de bases de datos y aclara que «SQL» en su nombre corresponde a Structured Query Language.
- PostgreSQL. SQL Conformance. Nombre formal del estándar ISO/IEC 9075, la revisión SQL:2023, y la aclaración de que ningún motor lo implementa por completo.
- PostgreSQL. What is PostgreSQL?. Descripción oficial del motor como referencia de otro sistema que habla SQL.
- MariaDB Foundation. mariadb.org. Sitio oficial del proyecto MariaDB, fork de MySQL.
- ISO. ISO/IEC 9075. Ficha del estándar en el catálogo de la Organización Internacional de Normalización.