cours
SQL Server, PostgreSQL, MySQL : Quelle est la différence ?
Une base de données relationnelle est un ensemble de tableaux (ensembles de données avec des lignes et des colonnes) qui contiennent des informations relatives à d'autres tableaux de la base de données.
Le diagramme ci-dessous contient des informations sur les colonnes de deux tableaux d'une base de données relationnelle. Les deux tableaux contiennent des colonnes nommées customer_id, ce qui établit une relation entre les tableaux. Au fur et à mesure que l'entreprise se développe et enregistre des milliers (ou des millions) de commandes, le stockage des données dans des tableaux distincts permet d'optimiser l'espace et de réduire la taille de la base de données.
SQL, ou Structured Query Language, est le langage standard pour interagir avec les bases de données relationnelles. Avec SQL, vous pouvez interroger les données d'une base de données relationnelle. Travailler avec SQL et les bases de données relationnelles est un ensemble de compétences inestimable pour un analyste de données, un ingénieur de données ou un scientifique de données.
Si vous avez commencé à chercher des moyens d'apprendre le langage SQL, vous avez peut-être remarqué qu'il existe de nombreux dialectes différents à apprendre, avec des distinctions claires (et moins claires) entre les différents dialectes. Par où commencer ? Quelle version de SQL vous est la plus utile si vous ne l'avez jamais utilisée ? Dans cet article, nous nous concentrerons sur quatre des systèmes de gestion de bases de données les plus populaires - PostgreSQL, MySQL, SQLite et SQL Server - et sur leurs versions de la syntaxe SQL.
Le graphique ci-dessous de Stack Overflow Trends donne une idée de la fréquence à laquelle chacune de ces plateformes est discutée - chaque ligne représente le pourcentage de toutes les questions Stack Overflow sur chaque version de SQL.
MySQL a toujours été la version de SQL la plus populaire dans les questions de Stack Overflow. En deuxième position, on trouve Microsoft SQL Server (y compris T-SQL, le nom du dialecte SQL de Microsoft), qui reste toujours plus populaire que PostgreSQL et SQLite. Cela signifie que si vous avez une question spécifique à l'un de ces systèmes, vous avez plus de chances de trouver quelqu'un qui a déjà posé votre question.
Quelle est la différence ?
PostgreSQL, MySQL et SQLite utilisent une syntaxe très similaire, avec quelques différences notables soulignées ci-dessous. Microsoft SQL Server offre le plus grand contraste dans la syntaxe SQL, ainsi qu'une grande variété de fonctions qui ne sont pas disponibles sur d'autres plates-formes. Le tableau ci-dessous présente quelques exemples de différences fondamentales entre les plates-formes SQL.
Serveur SQL | MySQL | PostgreSQL | SQLite | |
---|---|---|---|---|
SELECTIONNER ... | Sélectionnez [col1], [col2] | SELECT col1, col2 | SELECT col1, col2 | SELECT col1, col2 |
Les données des tableaux sont sensibles à la casse ? | Oui WHERE name = 'John' ou WHERE name = 'john' ne sont pas identiques. | Non WHERE name = 'John' ou WHERE name = 'john' sont identiques. | Oui WHERE name = 'John' ou WHERE name = 'john' ne sont pas identiques. | Oui WHERE name = 'John' ou WHERE name = 'john' ne sont pas identiques. |
Utilisation des guillemets | nom = "John" uniquement | nom = "John" ou nom = "John" | nom = "John" uniquement | nom = "John" ou nom = "John" |
Alias pour les colonnes et les tableaux | SELECT AVG(col1)=avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 |
Travailler avec des dates | GETDATE() DATEPART() | CURDATE() CURTIME() EXTRACT() | CURRENT_DATE() CURRENT_TIME() EXTRACT() | DATE('now') strftime() |
Fonctions de fenêtre, c'est-à-dire OVER(), PARTITION BY() | Oui | Oui | Oui | Oui |
Par où commencer ?
Pour les étudiants qui ont peu ou pas d'expérience avec SQL et qui cherchent à acquérir les compétences les plus largement applicables, je recommande de commencer avec PostgreSQL. Malgré la popularité écrasante de MySQL, PostgreSQL peut être un meilleur choix car sa syntaxe est la plus proche de la norme SQL. Cela signifie que vous pouvez facilement transférer vos compétences à d'autres systèmes de gestion de bases de données tels que MySQL ou SQLite. Par exemple, la requête ci-dessous agrège des données provenant d'une base de données d'informations commerciales. Il contient une jointure, une fonction d'agrégation et un filtre. Cette syntaxe produira des résultats identiques dans les trois systèmes de base de données.
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 vous envisagez de travailler avec Microsoft SQL Server au cours de votre carrière, je vous recommande de commencer par apprendre T-SQL/Microsoft SQL. SQL Server conserve une part de marché considérable et constitue un système de gestion de base de données important dans de nombreux secteurs d'activité. Si vous ne savez pas lequel de ces deux éléments est le plus important pour vous, je vous recommande de consulter les offres d'emploi dans votre domaine afin de déterminer s'il existe une préférence pour un système de base de données spécifique dans des fonctions ou des secteurs d'activité particuliers.
Comment DataCamp peut-il vous aider ?
Chez DataCamp, nous proposons actuellement deux cours de SQL qui couvrent les sujets d'introduction et les jointures dans PostgreSQL. Nous avons quelques cours passionnants en cours de développement qui couvrent des sujets intermédiaires et avancés dans PostgreSQL. Nous avons également plusieurs cours sur SQL Server en cours de développement, y compris un cours d'introduction à T-SQL/Microsoft SQL qui vous fournira une base claire pour travailler avec SQL Server. Vous pouvez consulter notre feuille de route pour plus d'informations.
Si vous souhaitez vous entraîner à interagir avec une base de données PostgreSQL, je vous recommande d'explorer des ensembles de données sur Kaggle. Si vous trouvez quelque chose qui vous intéresse, allez-y et importez dans PostgreSQL (les fichiers CSV ou SQLite seront importés dans PostgreSQL) et commencez à explorer !
Venez enseigner avec nous !
Vous souhaitez partager vos connaissances et votre expertise avec nos 3 millions d'étudiants sur DataCamp ? Nous sommes toujours à la recherche de formateurs pour enrichir notre bibliothèque de cours. Notre liste de cours met en évidence les compétences que nous espérons mettre à la disposition de nos étudiants dans les mois à venir. Vous pouvez poser votre candidature en cliquant sur ce lien. Nous nous réjouissons de travailler avec vous !
Devenez ingénieur en données
Cours pour SQL
cours
Introduction au serveur SQL
cours