Saltar al contenido principal
InicioAcerca de SQLAprende SQL

SQL Server, PostgreSQL, MySQL... ¿cuál es la diferencia? ¿Por dónde empiezo?

En este tutorial, aprenderás algunas de las diferencias básicas entre los dialectos SQL y por dónde deberías empezar.
23 abr 2024  · 5 min leer

Una base de datos relacional es un conjunto de tablas (conjuntos de datos con filas y columnas) que contienen información relacionada con otras tablas de la base de datos.

El siguiente diagrama contiene información sobre las columnas de dos tablas de una base de datos relacional de ejemplo. Ambas tablas contienen columnas llamadas customer_id, que establecen una relación entre las tablas. A medida que la empresa crece y registra miles (o millones) de pedidos, almacenar los datos en tablas separadas ayuda a optimizar el espacio y a reducir el tamaño de la base de datos.

SQL, o lenguaje de consulta estructurada, es el lenguaje estándar para interactuar con bases de datos relacionales. Con SQL puedes consultar, o hacer preguntas, a los datos de una base de datos relacional. Trabajar con SQL y bases de datos relacionales es una habilidad inestimable para un analista de datos, un ingeniero de datos o un científico de datos.

Si has empezado a buscar formas de aprender SQL, quizá te hayas dado cuenta de que hay muchos dialectos diferentes de SQL para aprender, con algunas distinciones claras (y menos claras) entre los distintos dialectos. ¿Por dónde empiezas? ¿Qué versión de SQL te resulta más útil si no lo has utilizado antes? En este artículo, nos centraremos en cuatro de los sistemas de gestión de bases de datos más populares (PostgreSQL, MySQL, SQLite y SQL Server) y sus versiones de la sintaxis SQL.

El siguiente gráfico, de Stack Overflow Trends, proporciona una idea de la frecuencia con la que se habla de cada una de estas plataformas: cada línea representa el porcentaje de todas las preguntas de Stack Overflow sobre cada versión de SQL.

MySQL ha sido siempre la versión de SQL más popular en las preguntas de Stack Overflow. En segundo lugar está Microsoft SQL Server (incluido T-SQL, el nombre del dialecto de SQL de Microsoft), que sigue siendo una etiqueta sistemáticamente más popular que PostgreSQL y SQLite. Esto significa que, si tienes una pregunta específica sobre uno de estos sistemas, es más probable que encuentres que alguien ya ha hecho tu pregunta.

¿Cuál es la diferencia?

PostgreSQL, MySQL y SQLite utilizan una sintaxis muy similar, con algunas diferencias notables que se destacan a continuación. Microsoft SQL Server tiene el mayor contraste en sintaxis SQL, así como una amplia variedad de funciones no disponibles en otras plataformas. La tabla siguiente muestra algunos ejemplos de diferencias básicas entre plataformas SQL.

  SQL Server MySQL PostgreSQL SQLite
SELECT ... Select [col1], [col2] SELECT col1, col2 SELECT col1, col2 SELECT col1, col2
¿Los datos de las tablas distinguen entre mayúsculas y minúsculas? Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo No, WHERE name = ‘John’ O WHERE name = ‘john’ es lo mismo Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo
Uso de las comillas solo name = ‘John’ name = ‘John’ o name = “John” solo name = ‘John’ name = ‘John’ o name = “John”
Alias para columnas y tablas SELECT AVG(col1)=avg1 SELECT AVG(col1) AS avg1 SELECT AVG(col1) AS avg1 SELECT AVG(col1) AS avg1
Trabajar con fechas GETDATE() DATEPART() CURDATE() CURTIME() EXTRACT() CURRENT_DATE() CURRENT_TIME() EXTRACT() DATE(‘now’) strftime()
Funciones ventana, es decir, OVER(), PARTITION BY()

¿Por dónde empiezo?

A los alumnos que tengan poca o ninguna experiencia con SQL y quieran adquirir los conocimientos más ampliamente aplicables, les recomiendo que empiecen con PostgreSQL. A pesar de la abrumadora popularidad de MySQL, PostgreSQL puede ser una opción mejor porque su sintaxis se ajusta más al SQL estándar. Esto significa que puedes trasladar fácilmente tus conocimientos a otros sistemas de gestión de bases de datos, como MySQL o SQLite. Por ejemplo, la consulta siguiente agrega datos de una base de datos de información de ventas. Contiene una unión, una función de agregación y un filtro. Esta sintaxis generará resultados idénticos en los tres sistemas de bases de datos.

Select    
    c.customer_name,
    SUM(p.amount) AS total_sales
FROM customers AS c
    LEFT JOIN purchases AS p
    ON c.customers_id = p.customer_id
WHERE
    c.customer_location = 'USA'
GROUP BY
    c.customer_name;

Si prevés trabajar con Microsoft SQL Server en tu carrera, te recomiendo que empieces aprendiendo T-SQL/Microsoft SQL. SQL Server sigue manteniendo una cuota de mercado considerable y es un importante sistema de gestión de bases de datos en muchos sectores. Si no estás seguro de cuál de los dos es más importante para ti, te recomiendo que eches un vistazo a las ofertas de empleo de tu campo para determinar si hay preferencia por un sistema de base de datos concreto en funciones o sectores específicos.

¿Cómo puede ayudar DataCamp?

En DataCamp, actualmente ofrecemos dos cursos de SQL que cubren temas introductorios y uniones en PostgreSQL. Tenemos algunos cursos interesantes en desarrollo que cubren temas intermedios y avanzados de PostgreSQL. También tenemos varios cursos de SQL Server en desarrollo, incluido el curso Introducción a T-SQL/Microsoft SQL, que te proporcionará una base clara para trabajar con SQL Server. Puedes consultar nuestra hoja de ruta de cursos para obtener más información.

Si quieres practicar por tu cuenta la interacción con una base de datos PostgreSQL, te recomiendo que explores conjuntos de datos en Kaggle. Si encuentras algo que te interese, sigue adelante e impórtalo en PostgreSQL (los archivos CSV o SQLite se importarán en PostgreSQL) y ¡empieza a explorar!

¡Ven a enseñar con nosotros!

¿Te interesa compartir tus conocimientos y tu pericia con los tres millones de alumnos de DataCamp? Siempre buscamos instructores que realicen aportaciones a nuestra creciente biblioteca de cursos. Nuestra lista de cursos deseados destaca las competencias que esperamos poner a disposición de nuestros alumnos en los próximos meses. Puedes presentar tu solicitud aquí, en este enlace. ¡Estamos deseando trabajar contigo!

Temas

Cursos para SQL

Course

Introduction to SQL

2 hr
784.9K
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

blog

10 proyectos SQL listos para el portafolio para todos los niveles

Selecciona tu primer -o siguiente- proyecto SQL para practicar tus habilidades SQL actuales, desarrollar otras nuevas y crear un portafolio profesional excepcional.

tutorial

Ejemplos y tutoriales de consultas SQL

Si quiere iniciarse en SQL, nosotros le ayudamos. En este tutorial de SQL, le presentaremos las consultas SQL, una potente herramienta que nos permite trabajar con los datos almacenados en una base de datos. Verá cómo escribir consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

tutorial

Introducción a los disparadores SQL: Guía para desarrolladores

Aprende a utilizar los disparadores SQL para automatizar tareas, mantener la integridad de los datos y mejorar el rendimiento de la base de datos. Prueba ejemplos prácticos como los comandos CREATE, ALTER y DROP en MySQL y Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

tutorial

Tutorial de SQLAlchemy con ejemplos

Aprende a acceder y ejecutar consultas SQL en todo tipo de bases de datos relacionales utilizando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

tutorial

Seleccionar varias columnas en SQL

Aprende a seleccionar fácilmente varias columnas de una tabla de base de datos en SQL, o a seleccionar todas las columnas de una tabla en una simple consulta.
DataCamp Team's photo

DataCamp Team

3 min

See MoreSee More