Introduction à MS SQL Server et T-SQL. SQL "pour les nuls" : ce que les débutants doivent savoir

Langue requêtes structurées Le langage de requête de structure (SQL) a été créé à la suite du développement modèle relationnel données et constitue actuellement le standard de facto pour le langage des SGBD relationnels. Le langage SQL est aujourd'hui pris en charge par un grand nombre de SGBD de différents types.

Nom Langage SQL généralement prononcé « es-qu-el ». Parfois, le nom mnémonique « See-Quel » est utilisé.

Le langage SQL fournit à l'utilisateur (avec effort minimal de sa part) les possibilités suivantes :

Créez des bases de données et des tables avec description complète leurs structures

Effectuer des opérations de manipulation de données de base : insertion, modification, suppression de données

Exécutez des requêtes simples et complexes.

Le langage SQL est relationnellement complet.

La structure et la syntaxe de ses commandes sont assez simples, et le langage lui-même est universel, c'est-à-dire que la syntaxe et la structure de ses commandes ne changent pas lors du passage d'un SGBD à un autre.

Le langage SQL comporte deux composants principaux :

DDL (Data Definition Language) pour définir les structures de bases de données et contrôler l'accès aux données

Langage DML (Data Manipulation Language) conçu pour récupérer et mettre à jour des données.

SQL est un langage non procédural, ce qui signifie que lorsque vous l'utilisez, vous devez spécifier quelles informations doivent être obtenues, et non comment elles peuvent être obtenues. Les commandes SQL sont mots ordinaires En anglais(SÉLECTIONNER, INSÉRER, etc.). Examinons d'abord les instructions SQL DML :

SELECT - sélection des données de la base de données

INSERT - insertion de données dans une table

UPDATE - mise à jour des données dans une table

DELETE - suppression de données d'une table

Instruction SELECT

L'opérateur SELECT effectue des actions équivalentes aux opérations d'algèbre relationnelle suivantes : sélection, projection et jointure.

La requête SQL la plus simple qui l'utilise ressemble à ceci :

SELECT col_name FROM table

Le mot-clé select est suivi d'une liste de colonnes séparées par des virgules dont les données seront renvoyées par la requête. Le mot clé from spécifie à partir de quelle table (ou vue) les données sont récupérées.

Le résultat d'une requête de sélection est toujours une table appelée table de résultats. De plus, les résultats d'une requête exécutée à l'aide de l'instruction select peuvent être utilisés pour créer nouveau tableau. Si les résultats de deux requêtes à différents tableaux ont le même format, ils peuvent être combinés en un seul tableau. Aussi, le tableau obtenu à la suite d'une requête peut faire l'objet de requêtes ultérieures.

Pour sélectionner toutes les colonnes et toutes les lignes d'un tableau, faites simplement Requête SELECT* DE table;

Considérez le tableau Produit, qui contient des informations sur le prix de différentes sortes des produits:

Résultat de la demande

SELECT * FROM Produit ;

sera la table Product entière.

Vous pouvez sélectionner des colonnes de table spécifiques à l'aide d'une requête

SELECT col1, col2, … , coln FROM tbl;

Donc, le résultat de la demande

SELECT Type, Prix FROM Produit ;

il y aura une table

La liste des colonnes de l'instruction select est également utilisée s'il est nécessaire de modifier l'ordre des colonnes dans la table résultante :

Afin de sélectionner uniquement les lignes du tableau qui satisfont à certaines restrictions, un mot-clé où suivi d'une condition logique. Si un enregistrement satisfait à cette condition, il est inclus dans le résultat. DANS sinon une telle entrée est rejetée.

Par exemple, en sélectionnant les produits dans la table Produit dont le prix satisfait à la condition Prix<3200, можно осуществить, используя запрос

SELECT * FROM Produit où Prix<3200;

Son résultat :

La condition peut être composée et combinée à l'aide des opérateurs logiques NOT , AND, OR, XOR, par exemple : où id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) et constantes de chaîne : où nom = "autoweights".

L'utilisation de la construction BETWEEN var1 AND var2 vous permet de vérifier si les valeurs d'une expression se situent dans la plage de var1 à var2 (y compris ces valeurs) :

SELECT * FROM Produit dont le prix est ENTRE 3000 ET 3500 ;

Semblable à l’opérateur NOT BETWEEN, il existe l’opérateur NOT IN.

Les noms de colonnes spécifiés dans la clause SELECT peuvent être renommés. Pour cela, le mot-clé AS est utilisé, qui peut cependant être omis car il est implicitement implicite. Par exemple, demandez

SELECT Type AS modèle, Type_id AS num FROM Produit où Type_id =3

renverra (les noms d'alias doivent être écrits sans guillemets) :

L'opérateur LIKE est conçu pour comparer une chaîne avec un modèle :

SELECT * FROM table où col_name LIKE "abc"

Cette requête renvoie uniquement les enregistrements contenant la valeur de chaîne abc dans la colonne col_name.

L'échantillon est autorisé à utiliser deux caractères génériques : "_" et "%". Le premier d'entre eux remplace un caractère arbitraire dans le modèle et le second remplace une séquence de caractères arbitraires. Ainsi, "abc%" correspond à n'importe quelle chaîne commençant par abc, "abc_" correspond à une chaîne de 4 caractères commençant par abc, "%z" correspond à n'importe quelle chaîne se terminant par z, et enfin, "%z%" - des séquences de caractères contenant z.

Vous pouvez retrouver tous les enregistrements de la table Product dans lesquels la valeur Type commence par la lettre « a » comme ceci :

SELECT * FROM Produit où Type LIKE "a%" ;

balances pour camions

Si la chaîne de recherche contient un caractère générique, vous devez spécifier le caractère d'échappement dans la clause ESCAPE. Ce caractère de contrôle doit être utilisé dans le modèle avant le caractère générique, indiquant que le caractère générique doit être traité comme un caractère normal. Par exemple, si vous deviez rechercher toutes les valeurs dans un champ contenant le caractère « _ », alors le modèle « %_% » entraînerait le renvoi de tous les enregistrements de la table. Dans ce cas, le modèle doit être rédigé comme suit :

"%|_%" ÉCHAP "|"

Pour vérifier la conformité de la valeur avec la chaîne "20%", vous pouvez utiliser l'opérateur suivant :

COMME "20#%" ÉCHAPPER "#"

L'opérateur IS NULL permet de vérifier l'absence (présence) d'une valeur NULL dans les champs d'une table. L'utilisation d'opérateurs de comparaison réguliers dans ces cas peut produire des résultats incorrects car la comparaison avec NULL donne INCONNU. Ainsi, la condition de sélection devrait ressembler à ceci :

où nom_col EST NULL, au lieu de où nom_col=NULL.

Le résultat de la sélection par défaut renvoie les enregistrements dans le même ordre dans lequel ils sont stockés dans la base de données. Si vous souhaitez trier les enregistrements selon l'une des colonnes, vous devez utiliser la clause ORDER BY, suivie du nom de cette colonne :

SELECT * FROM tbl ORDER BY col_name;

Cette requête renverra les enregistrements par ordre croissant de la valeur de l'attribut col_name.

Vous pouvez également trier les enregistrements sur plusieurs colonnes. Pour cela, leurs noms doivent être précisés après ORDER BY séparés par des virgules :

SELECT * FROM tbl ORDER BY col_name1, col_name2.

Les enregistrements seront triés par le champ col_name1 ; s'il y a plusieurs enregistrements avec une valeur correspondante dans la colonne col_name1, ils seront triés par le champ col_name2.

Si vous souhaitez trier les enregistrements dans l'ordre inverse (par exemple, décroissant par date), vous devez spécifier ORDER BY col_name DESC.

Pour le tri direct, il existe le mot-clé ASC, qui est accepté comme valeur par défaut.

Si le résultat de l'échantillon contient des centaines ou des milliers d'enregistrements, leur sortie et leur traitement prennent un temps considérable.

Par conséquent, les informations sont souvent divisées en pages et présentées à l’utilisateur par portions. La pagination s'utilise à l'aide du mot-clé limit suivi du nombre d'entrées à afficher. La requête suivante récupère les 10 premiers enregistrements tout en triant simultanément vers l'arrière sur le champ col_name1 :

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

Pour récupérer les 10 enregistrements suivants, utilisez le mot clé limit avec deux valeurs : la première précise la position à partir de laquelle le résultat doit être imprimé, et la seconde précise le nombre d'enregistrements à récupérer :

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

Pour récupérer les 10 enregistrements suivants, vous devez utiliser la construction LIMIT 20, 10.

bases de données pouvant fonctionner sur de nombreux systèmes informatiques de différents types. En effet, grâce à son aide, les utilisateurs peuvent manipuler des données, qu'ils travaillent sur un ordinateur personnel, un poste de travail en réseau ou un ordinateur central.

L'un des langages nés du développement du modèle de données relationnelles est le langage SQL (Structured Query Language), aujourd'hui très répandu et devenu de fait langue standard bases de données relationnelles. Standard SQL a été publié par l'American National Standards Institute (ANSI) en 1986 et a été adopté au niveau international par l'Organisation internationale de normalisation (ISO) en 1987. La norme SQL actuelle est connue sous le nom de SQL/92.

L'utilisation de n'importe quelle norme est associée non seulement à des avantages nombreux et évidents, mais également à certains inconvénients. Tout d’abord, les normes orientent le développement de l’industrie concernée dans une certaine direction ; Dans le cas du langage SQL, le fait de disposer de principes sous-jacents solides conduit finalement à l'interopérabilité entre ses différentes implémentations et contribue à la fois à une portabilité accrue des logiciels et des bases de données en général, ainsi qu'à la polyvalence des administrateurs de bases de données. D'un autre côté, les normes limitent la flexibilité et la fonctionnalité d'une implémentation particulière. Sous implémentation du langage SQL fait référence au produit logiciel SQL du fabricant concerné. Pour étendre les fonctionnalités, de nombreux développeurs qui adhèrent aux normes acceptées ajoutent à langue standard SQL diverses extensions. Il convient de noter que les normes exigent que tout implémentations du langage SQL possède certaines caractéristiques et reflète largement les tendances majeures qui conduisent non seulement à la compatibilité entre toutes les implémentations concurrentes, mais contribuent également à accroître la valeur des programmeurs et des utilisateurs SQL. bases de données relationnelles sur le marché des logiciels modernes.

Tout spécifique implémentations du langage sont quelque peu différents les uns des autres. Il est dans l’intérêt des fabricants de garantir que leurs implémentations répondent aux normes ANSI actuelles en matière de portabilité et d’expérience utilisateur. Toutefois, chaque implémentation de SQL contient des améliorations permettant de répondre aux exigences d'un serveur de base de données particulier. Ces améliorations ou extensions du langage SQL sont des commandes et options supplémentaires qui sont des ajouts au package standard et sont disponibles dans cette implémentation particulière.

Actuellement, le langage SQL est pris en charge par plusieurs dizaines de SGBD de différents types, développés pour une grande variété de plates-formes informatiques, allant des ordinateurs personnels aux mainframes.

Tous les langages de manipulation de données créés pour de nombreux SGBD avant l'avènement de bases de données relationnelles, se concentraient sur les opérations avec des données présentées sous la forme d'enregistrements de fichiers logiques. Bien entendu, cela exigeait que l'utilisateur ait une connaissance détaillée de l'organisation de stockage des données et qu'il fasse de sérieux efforts pour préciser quelles données étaient nécessaires, où elles se trouvaient et comment les obtenir.

Le langage SQL considéré se concentre sur les opérations avec des données présentées sous la forme d'ensembles de tables de relations logiquement interconnectés. La caractéristique la plus importante de ses structures est l'accent mis sur le résultat final du traitement des données, et non sur la procédure de ce traitement. Le langage SQL lui-même détermine où se trouvent les données, les index et même quelle séquence d'opérations la plus efficace doit être utilisée pour obtenir le résultat. Il n'est donc pas nécessaire de spécifier ces détails dans la requête de la base de données.

Introduction à la technologie client-serveur

Dans le cadre de l'expansion du marché des services d'information, les fabricants de logiciels ont commencé à produire des systèmes logiciels de plus en plus intelligents, et donc volumineux. De nombreuses organisations et utilisateurs individuels ne peuvent souvent pas placer les produits achetés sur leur propre ordinateur. Pour l'échange d'informations et leur distribution, des réseaux informatiques ont été créés et des programmes et des données généralisants ont commencé à être installés sur des serveurs de fichiers spéciaux.

Grâce aux SGBD fonctionnant avec des serveurs de fichiers, de nombreux utilisateurs ont accès aux mêmes bases de données. Le développement de divers systèmes automatisés de gestion des organisations est simplifié. Cependant, avec cette approche, tous les traitements des demandes des programmes ou des terminaux informatiques des utilisateurs sont effectués sur eux. Par conséquent, pour mettre en œuvre même une simple demande, il est nécessaire de lire ou d'écrire des fichiers entiers à partir du serveur de fichiers, ce qui conduit à un conflit. situations et surcharge du réseau. Pour éliminer ces lacunes, il a été proposé technologie client-serveur, mais en même temps, un langage commun pour communiquer avec le serveur était nécessaire - le choix s'est porté sur SQL.

Technologie client-serveur désigne un mode d'interaction de composants logiciels dans lequel ils forment un système unique. Comme son nom l'indique, il existe un certain processus client qui nécessite certaines ressources, ainsi que processus serveur, qui fournit ces ressources. Il n’est pas nécessaire qu’ils soient sur le même ordinateur. Il est généralement d'usage de placer le serveur sur un nœud du réseau local et les clients sur d'autres nœuds.

Dans un contexte de base de données, le client contrôle l'interface utilisateur et la logique de l'application, agissant comme un poste de travail exécutant des applications de base de données. Le client accepte une demande de l'utilisateur, vérifie la syntaxe et génère une requête de base de données en SQL ou dans un autre langage de base de données approprié à la logique de l'application. Il envoie ensuite un message au serveur, attend une réponse et formate les données reçues pour les présenter à l'utilisateur. Le serveur reçoit et traite les requêtes adressées à la base de données, puis renvoie les résultats au client. Ce traitement comprend la vérification des informations d'identification du client, la garantie des exigences d'intégrité, l'exécution de la demande et la mise à jour des données. De plus, le contrôle de concurrence et la récupération sont pris en charge.

L'architecture client-serveur présente de nombreux avantages.

Chaque commande SQL commence par un mot-clé, un verbe qui décrit l'action effectuée par la commande, telle que CREATE. Une équipe peut avoir une ou plusieurs phrases. La phrase décrit les données avec lesquelles la commande travaille ou contient des informations clarifiantes sur l'action effectuée par la commande. Chaque clause commence par un mot-clé, tel que WHERE. Certaines clauses de la commande sont obligatoires, d'autres non. Certaines phrases peuvent contenir des mots-clés et des expressions supplémentaires. De nombreuses phrases incluent des noms de tables ou de champs. Les noms doivent comporter entre 1 et 18 caractères, commencer par une lettre et ne contenir ni espaces ni caractères de ponctuation spéciaux. Les mots-clés ne peuvent pas être utilisés comme noms.

52. SQL (Structured Query Language) - Langage de requête structuré est un langage de requête standard pour travailler avec des bases de données relationnelles.

SQL ne contient pas d'instructions traditionnelles contrôlant l'exécution des programmes, il contient uniquement un ensemble d'instructions standard permettant d'accéder aux données stockées dans une base de données.

SQL peut être utilisé pour accéder à une base de données selon deux modes : travail interactif et en programmes d'application.

Avec l'aide de SQL, l'utilisateur peut obtenir de manière interactive et rapide des réponses à toutes les requêtes, y compris assez complexes, alors que pour implémenter ces requêtes dans un autre langage, il serait nécessaire de développer un programme correspondant. Les programmes d'application écrits dans certains langages de programmation utilisent SQL comme intégré langue d'accès à la base de données.

Caractérisant le langage SQL dans son ensemble, nous pouvons souligner les caractéristiques suivantes :

structure de haut niveau rappelant la langue anglaise ;

· indépendance vis-à-vis de SGBD spécifiques ;

· disponibilité de normes en développement ;

· la possibilité d'effectuer des requêtes interactives pour récupérer des données et modifier leur structure ;

· fourniture de logiciels d'accès à des bases de données;

· prise en charge de l'architecture client/serveur ;

· extensibilité et prise en charge des technologies orientées objet ;



· possibilité d'accéder aux données sur Internet.

Principales fonctions du langage SQL :

SQL- langage de requête interactif. Les utilisateurs saisissent des commandes SQL de manière interactive pour récupérer des données et les afficher à l'écran, ainsi que pour apporter des modifications à la base de données ;

SQL- langage de programmation de base de données. Pour accéder à la base de données, des commandes SQL sont insérées dans les programmes d'application ;

SQL- langage d'administration de base de données. Un administrateur de base de données peut utiliser SQL pour définir la structure de la base de données et contrôler l'accès aux données ;

SQL- langage d'application client/serveur. Dans les programmes d'application, SQL est utilisé comme moyen d'organiser la communication sur un réseau local avec un serveur de base de données, qui stocke les données partagées, etc.

55. Capacités linguistiques Le langage SQL, conforme aux derniers standards SQL:2003, SQL:1999, est un langage très riche et complexe, dont toutes les fonctionnalités sont difficiles à appréhender immédiatement, et encore moins à comprendre. Nous devons donc diviser le langage en niveaux. Dans l'une des classifications fournies par le standard SQL, ce langage est divisé en niveaux « basique » (entrée), « intermédiaire » (intermédiaire) et « complet ». Le niveau de base contient une quarantaine de commandes, qui peuvent être regroupées en catégories selon leurs fonctionnalités.

Détails de CRÉER UNE TABLE (NOMZ INT, NOM COMPLET CHAR (15), ANNÉE INT, GENRE CHAR (3))

Détails de la table de dépôt

ALTER TABLE Détails (SAMPLE CHAR(10))

CREATE VIEW Progression académique M1 AS SELECT *FROM Academic Performance WHERE GROUP= "M-1"

INSÉRER DANS LES VALEURS D'Information (980101, "IVANOV I. I.", 1980, "MARI")

SUPPRIMER DE Détails WHERE NOMZ=980201

MISE À JOUR Informations SET Nom complet = "KRAVTSOVA I. I." OÙNOMZ=980201

SELECT * FROM Information WHERE FULL NAME="SIDOROV S. S." OU NOM COMPLET="PETROV P. P."

54. Types de données et expressions Pour accéder à une table relationnelle en SQL, vous devez écrire (spécifier) ​​une commande. SÉLECTIONNER (sélectionner)mot-clé indique au SGBD quelle action cette commande effectuera. Les commandes de requête commencent par un mot-clé. En plus de SELECT, il peut s'agir de mots CRÉER- créer, INSÉRER-insérer, SUPPRIMER- supprimer, COMMETTRE– complet, etc.

DEPUIS - un mot-clé comme SELECT qui apparaît dans chaque commande. Il est suivi d'un espace puis du nom des tables utilisées comme sources d'information. Les noms de tables et de champs doivent contenir de 1 à 18 caractères, commencer par une lettre et ne contenir ni espaces ni caractères spéciaux.

un mot-clé suivi d'un prédicat : une condition imposée à une entrée de table qu'elle doit satisfaire pour être incluse dans la sélection.

COMMANDÉ PAR - tri des enregistrements affichés (Asc – croissant, Desc – décroissant. Si le type de tri n'est pas spécifié, le tri s'effectue par ordre croissant).

CHAR(longueur) CARACTÈRE(longueur)Chaînes de caractères de longueur constante

ENTIER INTNombres entiers

PETIT INTPetit entier

NUMERIC(précision, degré) DECIMAL(précision, degré DEC(précision, degré)Numéro à virgule fixe

FLOTTEUR (précision)Nombre à virgule flottante

Double precisionchiffres avec verrouillage flottant, haute précision

Expressions en SQL sont utilisés pour spécifier des critères de sélection de données ou d'exécution d'opérations sur des valeurs lues à partir d'une base de données. Les expressions sont une séquence spécifique de champs de base de données, de constantes et de fonctions reliées par des opérateurs.

Constantes sont utilisés pour indiquer des valeurs de données spécifiques. Constantes de virgule fixe, par exemple : 21 -375,18 62,3

Constantes à virgule flottante, par exemple : 1,5E7 -3,14E9 2,5E-6 0,783E24

Constantes de chaîne doit être placé entre guillemets simples. Exemples de telles constantes : "Minsk" "New York" "Ivanov I. I."

Valeur manquante(NUL). SQL prend en charge la gestion des données manquantes en utilisant le concept de valeur manquante.

La plupart des SGBD orientés SQL prennent en charge ce qu'on appelle fonctions d'agrégation (totales). Les fonctions d'agrégation couramment utilisées sont les suivantes :

· COMPTER– nombre de valeurs dans la colonne du tableau ;

· SOMME– la somme des valeurs de la colonne ;

· MOYENNE– moyenne arithmétique des valeurs de la colonne ;

· MAXIMUM– valeur maximale dans la colonne ;

· MINIMUM– valeur minimale dans la colonne.

Les expressions suivantes peuvent être utilisées : types d'opérateurs:

· arithmétique: + (ajout), - (soustraction), * (multiplication), / (division);

· relation: = (égal), > (supérieur),< (меньше), >= (supérieur ou égal à),<= (меньше или равно), <>(inégal);

· casse-tête: ET("ET" logique), OU("OU" logique), PAS(négation logique);

56. Commandes de contrôle des transactions vous permettent de garantir l’intégrité de la base de données.

transaction SQL Il existe plusieurs commandes SQL séquentielles qui doivent être exécutées comme une seule unité.

En langage SQL, le traitement des transactions est implémenté à l'aide de deux commandes - COMMETTRE Et RETOUR EN ARRIERE. Ils gèrent les modifications apportées par un groupe d’équipes. Équipe COMMETTRE signale la réussite de la transaction. Il informe le SGBD que la transaction est terminée, que toutes ses commandes ont été exécutées avec succès et qu'aucune incohérence n'est apparue dans la base de données. Équipe RETOUR EN ARRIERE signale l'échec de la transaction. Il informe le SGBD que l'utilisateur ne souhaite pas terminer la transaction et le SGBD doit ignorer toutes les modifications apportées à la base de données à la suite de la transaction. Dans ce cas, le SGBD remet la base de données dans l'état dans lequel elle se trouvait avant l'exécution de la transaction.

Équipes COMMETTRE Et RETOUR EN ARRIERE sont utilisés principalement en mode programme, bien qu'ils puissent également être utilisés de manière interactive.

57. Pour accéder aux commandes de contrôle Il s'agit de commandes permettant d'exécuter des fonctions administratives qui attribuent ou révoquent le droit (privilège) d'utiliser les tables de base de données d'une certaine manière. Chaque utilisateur de la base de données dispose de certains droits concernant les objets de la base de données.

Droits– ce sont les actions avec un objet que l’utilisateur peut effectuer. Les droits peuvent évoluer avec le temps : les anciens peuvent être annulés, de nouveaux peuvent être ajoutés. Les droits suivants sont accordés :

· INSÉRER – le droit d'ajouter des données au tableau ;

· MISE À JOUR – le droit de modifier les données du tableau ;

· SUPPRIMER – le droit de supprimer des données du tableau ;

· RÉFÉRENCES – le droit de définir la clé primaire.

58 Intégration du langage dans les programmes d'application.À intégré Il s'agit de commandes conçues pour mettre en œuvre l'accès à une base de données à partir de programmes d'application écrits dans un langage de programmation spécifique.

Aujourd'hui, les cours SQL « pour les nuls » sont de plus en plus populaires. Cela s’explique très simplement, car dans le monde moderne, on trouve de plus en plus de services Web dits « dynamiques ». Ils se distinguent par une coque assez souple et s'appuient sur Tous les programmeurs débutants qui décident de leur consacrer des sites Web, s'inscrivent tout d'abord à des cours SQL « pour les nuls ».

Pourquoi apprendre cette langue ?

Tout d'abord, SQL est enseigné afin de créer davantage une grande variété d'applications pour l'un des moteurs de blog les plus populaires aujourd'hui : WordPress. Après avoir suivi quelques leçons simples, vous serez capable de créer des requêtes de toute complexité, ce qui ne fait que confirmer la simplicité de ce langage.

Qu’est-ce que SQL ?

Un langage de requête structuré a été créé dans un seul but : les déterminer, y donner accès et les traiter dans des délais assez courts. Si vous connaissez la signification de SQL, alors vous comprendrez que ce serveur est classé dans la catégorie des langages dits « non procéduraux ». Autrement dit, ses capacités incluent uniquement une description des composants ou des résultats que vous souhaitez voir à l'avenir sur le site. Mais quand n’indique pas exactement quels résultats vont être obtenus. Chaque nouvelle requête dans ce langage est comme une « superstructure » supplémentaire. C'est dans l'ordre de leur saisie dans la base de données que les requêtes seront exécutées.

Quelles procédures peuvent être effectuées en utilisant ce langage ?

Malgré sa simplicité, la base de données SQL permet de créer une grande variété de requêtes. Alors, que pouvez-vous faire si vous apprenez cet important langage de programmation ?

  • créer une grande variété de tables ;
  • recevoir, stocker et modifier les données reçues ;
  • modifier les structures des tables à votre discrétion ;
  • combiner les informations reçues en blocs uniques ;
  • calculer les données reçues ;
  • assurer une protection complète des informations.

Quelles commandes sont les plus populaires dans ce langage ?

Si vous décidez de suivre un cours SQL pour les nuls, vous recevrez des informations détaillées sur les commandes utilisées pour créer des requêtes à l'aide de celui-ci. Les plus courants aujourd'hui sont :

  1. DDL est une commande qui définit les données. Il est utilisé pour créer, modifier et supprimer une grande variété d'objets dans la base de données.
  2. DCL est une commande qui manipule les données. Il est utilisé pour permettre à différents utilisateurs d'accéder aux informations de la base de données, ainsi que pour utiliser des tables ou des vues.
  3. TCL est une équipe qui gère une variété de transactions. Son objectif principal est de déterminer l’avancement d’une transaction.
  4. DML - manipule les données reçues. Sa tâche est de permettre à l'utilisateur de déplacer diverses informations de la base de données ou de les y saisir.

Types de privilèges qui existent sur ce serveur

Les privilèges font référence aux actions qu'un utilisateur particulier peut effectuer en fonction de son statut. Le plus minimal, bien sûr, est une connexion régulière. Bien entendu, les privilèges peuvent évoluer avec le temps. Les anciens seront supprimés et de nouveaux seront ajoutés. Aujourd'hui, tous ceux qui suivent des cours SQL Server « pour les nuls » savent qu'il existe plusieurs types d'actions autorisées :

  1. Type d'objet - l'utilisateur est autorisé à exécuter n'importe quelle commande uniquement en relation avec un objet spécifique situé dans la base de données. Dans le même temps, les privilèges diffèrent selon les objets. Ils sont également liés non seulement à un utilisateur particulier, mais également à des tables. Si quelqu'un, utilisant ses capacités, a créé une table, il est alors considéré comme son propriétaire. Par conséquent, il a le droit d'attribuer de nouveaux privilèges à d'autres utilisateurs liés aux informations qu'il contient.
  2. Le type de système est ce qu'on appelle le droit d'auteur sur les données. Les utilisateurs qui ont reçu de tels privilèges peuvent créer divers objets dans la base de données.

Histoire de SQL

Ce langage a été créé par IBM Research Laboratory en 1970. A cette époque, son nom était légèrement différent (SEQUEL), mais après quelques années d'utilisation il a été modifié, le raccourcissant un peu. Malgré cela, même aujourd’hui, de nombreux experts en programmation de renommée mondiale prononcent encore ce nom à l’ancienne. SQL a été créé dans un seul but : inventer un langage si simple que même les utilisateurs Internet ordinaires pourraient l'apprendre sans aucun problème. Un fait intéressant est qu’à cette époque, SQL n’était pas le seul langage de ce type. En Californie, un autre groupe de spécialistes a développé un Ingres similaire, mais il ne s'est jamais répandu. Avant 1980, il existait plusieurs variantes de SQL qui n'étaient que légèrement différentes les unes des autres. Pour éviter toute confusion, une version standard a été créée en 1983, qui est toujours populaire aujourd'hui. Les cours SQL « pour les nuls » permettent d'en apprendre beaucoup plus sur le service et de l'étudier pleinement en quelques semaines.

SQL yavl. outil destiné pour traiter et lire les données contenues dans l'ordinateur. BD. SQL est avant tout une logique informationnelle. langue, destinée pour décrire, modifier et récupérer des données stockées dans des bases de données relationnelles. SQL est l'abréviation de Langage de requêtes structurées) . SQL est utilisé pour organiser l'interaction de l'utilisateur avec la base de données. En fait, SQL ne fonctionne qu'avec des bases de données relationnelles taper . Le programme informatique qui gère la base de données s'appelle système de gestion de base de données, ou SGBD . Si l'utilisateur a besoin lit les données de la base de données, il les demande au SGBD avec pom. SQL. Le SGBD traite la demande, trouve les données requises et les envoie à l'utilisateur. Le processus de demande de données et d'obtention d'un résultat est appelé demandeà la base de données : d'où le nom - Langage de requêtes structurées. Malgré le fait que la lecture des données reste l'une des plus importantes. important Fonctions SQL, maintenant ce langage est utilisé pour implémenter tout Fonctionnalité, chat. Le SGBD met à disposition de l'utilisateur, à savoir :

Organisation des données. SQL donne à l'utilisateur la possibilité de modifier la structure de présentation des données, ainsi que d'établir des relations entre les éléments de la base de données.

Lecture de données. SQL donne à un utilisateur ou à une application la possibilité de lire et d'utiliser les données contenues dans une base de données.

Traitement de l'information. SQL donne à l'utilisateur ou à l'application la possibilité de... changer la base de données, c'est-à-dire ajoutez-y de nouvelles données, ainsi que supprimez ou mettez à jour les données existantes.

Contrôle d'accès. Avec assistant SQL peut limiter la capacité de l'utilisateur à lire et modifier les données et à les protéger contre tout accès non autorisé.

Partage données. SQL coordonne le partage des données entre les utilisateurs et les travailleurs simultanés afin qu'ils n'interfèrent pas les uns avec les autres.

Intégrité des données. SQL vous permet de garantir l'intégrité des bases de données, en les protégeant de la destruction due à des modifications incohérentes ou à une panne du système.

Ainsi, SQL est un langage suffisamment puissant pour interagir avec le SGBD.

Avantages de SQL.

SQL est un langage facile à comprendre et en même temps un outil logiciel de gestion de données polyvalent.

Les fonctionnalités suivantes ont fait le succès du langage SQL :

Indépendance vis-à-vis de SGBD spécifiques ;

Portabilité d'un système informatique à un autre ;

Disponibilité des normes ;

Cadre relationnel ;

Structure de haut niveau ;

Possibilité d'effectuer des requêtes interactives spéciales :

Offre d'accès logiciel à des bases de données;

Possibilité de présentation différente des données ;

L'exhaustivité en tant que langage conçu pour fonctionner avec des bases de données ;

Possibilité de détermination dynamique des données ;

Prise en charge de l'architecture client/serveur.

Tous les facteurs ci-dessus sont la raison pour laquelle SQL est devenu l'outil standard de gestion des données sur les ordinateurs personnels.

37 Structures de phrases de langage de base dans les requêtes

Chaque instruction SQL est demande soit un accès à la base de données, ce qui entraîne une modification de la base de données. En fonction des modifications apportées à la base de données, on distingue les types de requêtes suivants :

Demandes de création ou de modification d'objets nouveaux ou existants dans la base de données (dans ce cas, la demande décrit le type et la structure de l'objet en cours de création ou de modification) ;

Demandes de données ;

Demandes d'ajout de nouvelles données (enregistrements)

Demandes de suppression de données ;

Appels au SGBD.

Toute demande est un programme écrit dans le langage de requête structuré SQL. En fait, un programme SQL est une expression de requête pour un échantillon de données en anglais, écrite dans une structure spécifique, que le SGBD convertit ensuite en résultat requis.

Dans la plupart des SGBD, la phrase se termine par « ; » et le SGBD ne traite pas les informations jusqu'à ce qu'il rencontre « ; ». Les phrases sont constituées de phrases et commencent par un mot enregistré. Chaque phrase a un nom.

Nominations de certains opérateurs SQL de base:

SÉLECTIONNER(sélectionner) – (sélectionner) les données des colonnes spécifiées et (si nécessaire) effectuer leur transformation conformément aux expressions et (ou) fonctions spécifiées avant la sortie ; DEPUIS– indique le tableau dans lequel les champs ont été sélectionnés ; – crée une condition de sélection des données dans les enregistrements ; COMMANDÉ PAR– trie les enregistrements dans un ordre donné ; PAR GROUPE– regroupe les enregistrements correspondants lors de l'exécution de requêtes récapitulatives ; DISTINCTION– exclut les enregistrements en double de l'ensemble de résultats ; TRANSFORMER– évalue les expressions dans les requêtes croisées ; PIVOT– Définit les en-têtes de colonnes dans le tableau de requêtes croisées.

À propos de la proposition SÉLECTIONNER. Toutes les demandes visant à obtenir presque n'importe quelle quantité de données provenant d'un ou de plusieurs. les tables sont réalisées à l’aide d’une seule clause SELECT. En général, le résultat de l'implémentation d'une clause SELECT est une autre table. L'opération SELECT peut être appliquée à nouveau à cette nouvelle table (de travail), etc., c'est-à-dire ces opérations peuvent être imbriquées les unes dans les autres. Il est d'un intérêt historique que ce soit la possibilité d'incl. une clause SELECT dans une autre était la motivation de l'utilisation. l'adjectif « structuré » au nom du langage SQL. Dans les dessins utilisés. symboles : astérisque (*) pour indiquer « tous » – utilisé. au sens habituel de la programmation, c'est-à-dire « tous les cas répondant à la définition » ; (,) - Espagnol pour séparer les éléments de la liste ; () - signifie que les constructions, conclusion. entre parenthèses, yavl. facultatif ; ligne droite (|) – espèces. choix parmi deux ou plusieurs possibilités, etc.

36-37. Spécial - style de langue SQL . Structures de phrases de langage de base dans les requêtes (climatisation)

SQL - Langage de requête structuré. Production d'informations - plus unifiée. Cela a conduit à la nécessité de créer un langage standard qui pourrait

SELECT en SQL (pour une table) : SÉLECTIONNER(sélectionner) champs spécifiés

DEPUIS(à partir de) la table spécifiée

(où) une condition spécifiée est vraie

SELECT list_of_elements (champs) à sélectionner

FROM table_list (ou vue)

]

Utilisation du qualificateur AS

Ce qualificatif remplace le nom de colonne existant dans la table résultante par celui spécifié.

Fonctions d'agrégation

Les fonctions d'agrégation incluent des fonctions permettant de calculer la somme (SUM), le maximum (SUM) et le min (MIN) des colonnes de valeurs, la moyenne arithmétique (AVG) et le nombre de lignes qui satisfont une condition donnée (COUNT).

SELECT count(*), sum (budget), moy (budget),

min (budget), max (budget)

OÙ head_dept = 100

calculer : le nombre de départements qui sont des subdivisions du département 100 (Marketing et Ventes), leurs budgets total, moyen, min et maximum COUNT SUM AVG MIN MAX

5 3800000.00 760000.00 500000.00 1500000.00

La clause FROM de la commande SELECT

La clause FROM répertorie tous les objets (un ou plusieurs) à partir desquels les données sont récupérées. Chaque table ou vue référencée dans la requête doit être répertoriée dans la clause FROM.

Types de prédicats utilisés dans la clause WHERE :

comparaison à l'aide d'opérateurs relationnels

Équivaut à<>pas égal! = pas égal > supérieur à< меньше

>= supérieur ou égal à<= меньше или равно

ENTRE DANS COMME CONTENANT EST NULL

Opérations de comparaison Si des domaines sont définis dans la base de données, les éléments comparés doivent appartenir au même domaine.

SELECT prénom, nom, numéro de service,

OÙ travail_pays<>"ETATS-UNIS"

ENTRE

Le prédicat BETWEEN spécifie la plage de valeurs pour laquelle l'expression est évaluée comme vraie. Il est également permis d'utiliser la construction NOT BETWEEN.

OÙ salaire ENTRE 20000 ET 30000

obtenir une liste des employés dont le salaire annuel est supérieur à 20 000 et inférieur à 30 000 FIRST_NAME LAST_NAME SALARY

Anne Bennet 22935.00

Kelly Brun 27000.00

Les valeurs qui définissent les plages inférieure et supérieure peuvent ne pas être les valeurs réelles de la base de données. Et c'est très pratique - car on ne peut pas toujours indiquer les valeurs exactes des plages !

SELECT prénom, nom, salaire

OÙ nom_de_famille ENTRE "Nel" ET "Osb"

obtenir une liste des employés dont le nom de famille est compris entre "Nel" et "Osb" FIRST_NAME LAST_NAME SALARY

Robert Nelson 105900.00

Carol Nordstrom 42742.50

Sue Anne O'Brien 31275.00

SELECT prénom, nom, date_embauche

DANS Le prédicat IN vérifie si la valeur spécifiée précédant le mot-clé "IN" (par exemple, une valeur de colonne ou une fonction d'une colonne) est incluse dans la liste spécifiée entre parenthèses. Si la valeur donnée testée est égale à n’importe quel élément de la liste, alors le prédicat est évalué comme vrai. Il est également permis d'utiliser la construction NOT IN.

SELECT prénom, nom, code_travail

OÙ job_code IN ("VP", "Admin", "Finan")

COMME Le prédicat LIKE est utilisé uniquement avec des données de type caractère. Il vérifie si la valeur de caractère donnée correspond à la chaîne avec le masque spécifié. Tous les caractères autorisés (y compris les majuscules et les minuscules), ainsi que les caractères spéciaux, sont utilisés comme masque :

% - remplace n'importe quel nombre de caractères (y compris 0),

Remplace un seul caractère.

Il est également permis d'utiliser la construction NOT LIKE.

SELECT prénom, nom

WHERE nom_LIKE "F%"

obtenir une liste des employés dont le nom commence par la lettre "F" FIRST_NAME LAST_NAME

Opérateurs logiques Les opérateurs logiques incluent les opérateurs bien connus AND, OR, NOT, qui permettent d'effectuer diverses opérations logiques : multiplication logique (AND, « intersection de conditions »), addition logique (OR, « union de conditions »), négation logique ( NON, « négation des conditions »). Dans nos exemples, nous avons déjà utilisé l'opérateur AND. L'utilisation de ces opérateurs vous permet de « personnaliser » de manière flexible les conditions de sélection des enregistrements.

Connexion ( REJOINDRE ) L'opération de jointure est utilisée dans SQL pour afficher les informations associées stockées dans plusieurs tables dans une seule requête. La liaison est généralement effectuée à l'aide de la clé primaire d'une table et de la clé étrangère d'une autre table - pour chaque paire de tables. Il est très important de prendre en compte tous les champs de la clé étrangère, sinon le résultat sera faussé. Les champs à joindre peuvent (mais ne sont pas obligatoires !) être présents dans la liste des éléments sélectionnables. La clause WHERE peut contenir plusieurs conditions de jointure. La condition de jointure peut également être combinée avec d'autres prédicats dans la clause WHERE.