Contacts

Principes de base de SQL pour débutants avec des cours. SQL Sélectionnez et requêtes pour sélectionner Demandes de données dans la requête SQL Sélectionner

Pour lire les données de la base de données et de la sortie, il devrait y avoir trois opérations sur la page Web PNP-Script. Premièrement, le script doit établir une connexion à partir du SGBD en appelant la fonction de connexion intégrée avec la base de données, par exemple, les fonctions de mysql_connect (), qui vous permet de vous connecter au SGBM MySQL. Deuxièmement, le script doit être une requête par la connexion installée à partir du SGMS à l'aide de la fonction de demande SQL intégrée, par exemple, les fonctions de MySQL_Query (), qui permet au scénario PHP de transférer des instructions SQL pour exécuter les SGDM. Troisièmement, après accélération de la DBMS des résultats de la requête sur le tampon de sortie du serveur Web, le script doit lire les données du tampon et les afficher sur la page Web. Par exemple, lorsque vous travaillez avec MySQL, le script peut utiliser la fonction MYSQL_FETCH_ARRAY () intégrée, qui lit la ligne de requête SQL à partir du tampon SQL et place les valeurs de la colonne String dans le tableau des éléments. Ensuite, le script peut effectuer une instruction ECHO ou appeler la fonction Imprimer () pour sortir les champs de la table de base de données de la page Web.

Supposons, par exemple, que le SGBM MySQL est utilisé et dans la table HTML de la page Web, il est nécessaire d'afficher les données de la table SQL avec le nom "Produits" contenus dans la base de données "Marchandises". Tout d'abord, vous devez appeler la fonction mysql_connect () du formulaire suivant:

$ link \u003d mysql_connect ($ db_host, $ db_user, $ db_pass);

$ Db_host contient une chaîne "localhost" (si le serveur MySQL est sur le même ordinateur que le même ordinateur que le serveur Web) ou une chaîne avec l'adresse IP de l'ordinateur où le serveur MySQL est situé avec lequel la connexion doit être installée. (Pour obtenir une adresse IP du serveur MySQL, vous devez contacter le fournisseur Internet.) Les deux arguments restants, $ db_user et $ db_pass, contiennent le nom d'utilisateur et le mot de passe, les fonctions nécessaires de MySQL_Connect () pour définir la connexion du Mysql SGBD. Lorsque vous travaillez avec MySQL SGBM avec des arguments par défaut, vous pouvez entrer dans la base de données avec le nom d'utilisateur $ db_user \u003d "root" et un mot de passe $ db_pass \u003d "mot de passe".

Les instructions avec la fonction mysql_connect () attribue l'identifiant de variable $ lien de la connexion SDBM ou de la valeur FALSE, si la tentative d'établissement de la connexion a échoué. Étant donné que les erreurs se produisent de temps en temps, à l'aide de l'instruction IF, vous devez vérifier la valeur de la variable $ liaison, et si nécessaire, imprimez un message d'erreur à l'écran. Si la tentative de connexion est terminée avec succès, sélectionnez une base de données avec des tables dont les données seront lues dans la requête, vous pouvez utiliser l'appel à la fonction décrite dans l'exemple suivant:

si (! mysql_select_db ($ db_name, $ lien)

// instructions Traitement du cas d'une tentative infructueuse

// à l'aide de la base de données

// Traitement après une connexion et une sélection réussie

// Base de données

Le serveur MySQL prend généralement en charge plusieurs bases de données. Vous devez donc sélectionner une base de données contenant les tables souhaitées. Dans l'exemple donné, $ db_name contient la chaîne "Marchandises", une liaison $ est un identifiant des connexions de base de données renvoyées par la fonction MySQL_Connect (). Comme auparavant, vous devez vérifier les données renvoyées par la fonction PHP (dans cet exemple, la fonction mysql_select_db () pour vous assurer que la sélection de la base de données a été complétée avec succès. La fonction mysql_select_db () renvoie true si vous sélectionnez avec succès une base de données et FALSE - sinon.

Après avoir correctement défini la connexion à partir du SGBD MySQL et de la sélection de la base de données pour exécuter la requête, vous devez appeler la fonction MySQL_Query (), comme indiqué dans l'exemple suivant:

$ résultat \u003d mysql_query ($ requis, $ lien);

Dans l'exemple ci-dessus, qui lit le contenu de la table des produits, l'argument $ de requête contient une commande SQL:

Sélectionnez * à partir de produits commander par nom

Comme auparavant, le paramètre $ link contient un identifiant de connexion de base de données renvoyé avec succès effectué par la fonction MySQL_Connect (), dont le défi est au début du script. La fonction MySQL_Query () renvoie FALSE (si le SGBD pour une raison quelconque n'a pas pu exécuter l'opérateur SQL transmis à celui-ci) ou le pointeur à l'endroit où les SGBD ont placé les résultats de la requête.

Pour lire les résultats de la requête (c'est-à-dire les lignes de données que la requête a sélectionné dans la table des produits) Vous devez appeler la fonction mysql_fetch_array () pour lire toutes les lignes des résultats de la requête et les enregistrer dans le tableau. Ensuite, vous devez afficher des données du massif sur la page Web. Par exemple, le script suivant extrait le nombre de champs (renvoyé dans les résultats de la requête), leurs noms et types, et génère les valeurs des colonnes contenues dans les résultats de la requête, sous la forme d'une table HTML, qui Le script crée sur la page Web:

// Déterminez le nombre de champs renvoyés à la suite de la demande

$ champs \u003d mysql_num_f ields ($ Résultat);

// commencez à définir la table HTML

Écho "

" ;

// Afficher les colonnes Nom sous forme de titres

// table HTML

Écho "

";

pour ($ i \u003d 0; $ i< $fields; $i++)

Écho "

";

$ Fieldtype [$ I] \u003d mysql_field_type ($ résultat, $ i);

Écho "

";

// Affiche les résultats de la requête dans la table HTML

tandis que ($ array \u003d mysql_fetch_array ($ Résultat))

Écho "

";

pour ($ i \u003d 0; $ i< $fields; $i ++)

si ($ fieldtype [$ i]<> "Chaîne")

Écho "

";

Écho "

";

Écho "

". MySQL_Field_Name ($ Résultat, $ i)."
";

Écho "

" ;

echo "$ Array [$ i]

";

Le script affiche les noms des colonnes renvoyées par la requête, sous la forme des en-têtes de colonne de la table, et les résultats de la requête sont placés dans les lignes de table.

La tâche

Créez une base de données dans le programme de Divart DBForge pour le programme MySQL conformément à l'option Tâche (tableau 1). Écrivez le programme en PHP, qui lit les données de cette base et les affiche sous la forme d'une table (Fig. 1).

Le programme doit être enregistré dans le fichier "D: \\ Server \\ www \\ index.php". La base de données doit être située dans le répertoire "D: \\ Server \\ MySQL \\ Data". Exécutez un programme depuis le navigateur en entrant l'URL "http: // localhost".

Tableau 1 - Options

Option La tâche
Bureau des passeports. La table doit avoir les détails suivants. - numéro de passeport (champ obligatoire); - Nom complet (champ obligatoire); - date de naissance (champ obligatoire); - date d'émission du passeport (champ obligatoire); - adresse; - Téléphone.
Salle d'exposition pour voitures. La table doit avoir les détails suivants. - fabricant (champ obligatoire); - modèle de la machine (champ obligatoire); - volume du moteur; - coût actuel; - signe de disponibilité;
Bibliothèque. - numéro d'inventaire du livre (champ obligatoire); - Auteur (champ obligatoire); - titre (champ obligatoire); - coût (champ obligatoire); - genre; - Date de réception de la Fondation de la bibliothèque.
Station de bus. - Numéro de vol (champ obligatoire); - point de départ (champ obligatoire); - point d'arrivée (champ obligatoire); - heure d'arrivée à cette station (champ obligatoire); - heure de départ (champ obligatoire);
Les animaux de la réserve - le nom de l'animal (champ obligatoire); - Nombre; - Est-il énuméré dans le livre rouge (champ obligatoire); - Espérance de vie moyenne;
Videota - le nom du film (champ requis); - Directeur (champ obligatoire); - année de problème; - genre; - Brève description;
Zhek - № жека (champ obligatoire); - tête (champ obligatoire); - nombre de personnel; - nombre d'appartements avec services (champ obligatoire); - nombre de brigades de réparation;
Sujets à l'université - le nom (champ requis); - conférencier (champ obligatoire); - Département; - nombre d'heures (champ obligatoire); - examen ou décalage de signe;
Liste de prix - Catégorie (champ obligatoire) (par exemple, carte mère, processeur, etc.); - code de produit (champ obligatoire); - fabricant (champ obligatoire); - Nom du produit (champ obligatoire); - prix (champ obligatoire); - signe de disponibilité (champ obligatoire);
Menu - Nom du plat (champ obligatoire); - volume de poids / plateau (champ obligatoire); - prix (champ obligatoire); - le temps de préparer; - la présence en ce moment (champ obligatoire);

L'opérateur SQL Select est conçu pour que les requêtes sélectionnent des données dans la base de données. Il peut être utilisé comme sans conditions (sélection de toutes les lignes dans toutes les colonnes ou toutes les lignes de certaines colonnes) et avec de nombreuses conditions (sélection de certaines chaînes) spécifiées dans la section où la section. Vous vous familiariserez avec des outils SQL que vous pouvez spécifier ces conditions sur l'échantillon de données et apprendre également à utiliser l'instruction SELECT dans la sous-requête.

Sélectionnez pour sélectionner des colonnes de table

Une demande à l'instruction SELECT pour sélectionner toutes les colonnes de la table a la syntaxe suivante:

Sélectionnez * de_table

C'est-à-dire pour sélectionner toutes les colonnes du tableau après que le mot sélectionne, vous devez mettre les étoiles.

Exemple 1. Il y a une base de données d'entreprise - société. Il possède une table d'orgue (structure ferme) et personnel (employés). Vous devez sélectionner toutes les colonnes à partir des tables. La demande correspondante de sélectionner toutes les colonnes de la table Org est la suivante:

Sélectionnez * à partir d'org

Cette requête retournera ce qui suit (pour augmenter l'image pour cliquer dessus avec le bouton gauche de la souris):

La demande de sélection de toutes les colonnes de la table du personnel est la suivante:

Sélectionnez * du personnel

Cette requête retournera ce qui suit:


Pour sélectionner certaines colonnes de la table, nous aurons besoin au lieu des étoiles. Liste via les noms de virgules de toutes les colonnes que vous souhaitez choisir:

Sélectionnez Selectiontable_STolbs à partir de nom_table

Exemple 2. Dites-le de la table Org pour sélectionner les colonnes DEPNUMB et DEPTNAME, qui contiennent des données, respectivement, sur le nombre de départements de la société et de leurs noms. La demande d'un tel échantillon sera la suivante:

Sélectionnez Depnumb, DeptName de Org

Et de la table du personnel, vous devez sélectionner le département, le nom, les colonnes d'emploi, qui contiennent les données sur le numéro de département, dans laquelle l'employé travaille, son nom et son poste:

Sélectionnez Département, nom, emploi du personnel

Pour sélectionner certaines lignes de la table, avec l'instruction SELECT, le mot-clé où sera déjà requis, indiquant une certaine valeur ou plusieurs valeurs contenues dans les lignes d'intérêt. Les conditions les plus simples sont données à l'aide d'opérateurs de comparaison et d'égalité (, \u003d), ainsi que du mot clé. Les conditions peuvent être quelque peu, alors elles sont énumérées à l'aide du mot clé et. Les demandes de sélection des chaînes ont la syntaxe suivante:

Exemple 4. Dans l'exemple précédent, nous avons choisi des lignes de la table uniquement par la valeur d'une colonne - Dept. Devant maintenant choisir des données sur les employés qui travaillent dans le 38ème département et la position de qui - employé (greffier). Pour ce faire, dans la section où, les valeurs correspondantes doivent être répertoriées à l'aide du mot et:


Exemple 5. Soit nécessaire de choisir parmi les identifiants de la table du personnel et les noms de ces employés dont la taille est incertaine. Pour ce faire, dans la section où, avant de spécifier la valeur de la colonne Comm. Null, il n'est pas nécessaire de mettre un signe d'égalité, mais le mot est:

Cette requête retournera les données suivantes:


Pour spécifier les valeurs dans les lignes que vous souhaitez sélectionner, les signes de comparaison sont utilisés.

En utilisant Sélectionner et prédire, ou, entre, comme

Prédicate - Mots dans, ou entre, comme dans la section Où section - vous permet également de sélectionner certaines gammes (dans ou entre les deux) ou les valeurs des chaînes (comme) que vous souhaitez sélectionner dans la table. Les demandes avec prédicats dans ou, entre la syntaxe suivante:

Les demandes avec prédicat comme ont la syntaxe suivante:

Exemple 7. Devant qu'il soit nécessaire de choisir parmi les noms de table des membres du personnel, les positions et le nombre de travailleurs travaillant dans les ministères avec des chiffres 20 ou 84. Cela peut être fait comme suit:

Demande résultat:


Exemple 8. Soit maintenant sélectionné dans la table du personnel les mêmes données que dans l'exemple précédent. La demande avec le mot ou est similaire à la demande avec le mot et le transfert d'intérêts d'intérêt entre crochets. La demande sera la suivante:

Exemple 9. Sélectionnez les noms, les positions et le nombre d'employés élaborés, le salaire entre 15 000 et 17 000 inclus contre la même table.

Demande résultat:


Le prédicat similaire est utilisé pour échantillonner ces lignes, dont les valeurs sont spécifiées après le prédicat entre les apostrophes (").

Exemple 10. Sélectionnez les noms, les positions et le nombre de travailleurs travailleurs, dont les noms commencent par les lettres S et comprennent 7 caractères:

Le symbole d'adhérence (_) signifie n'importe quel caractère. Demande résultat:


Exemple 11. Choisissez parmi les mêmes noms de table, les mêmes noms et le même nombre de travailleurs travailleurs, dont les noms commencent par les lettres et contiennent d'autres lettres dans une quantité:

Le symbole pourcentage (%) signifie n'importe quel nombre de caractères. Demande résultat:


Les valeurs spécifiées en utilisant dans ou entre les prédicats, comme peuvent être inversées à l'aide du mot et non. Ensuite, les données demandées auront le sens opposé. Si nous n'utilisons pas non plus (20, 84), le personnel sera affiché que le personnel sera affiché dans tous les ministères, à l'exception de ceux ayant des chiffres 20 et 84. Avec l'utilisation de 15 000 et 17000, vous pouvez obtenir les données des employés dont le salaire dont le salaire n'est pas inclus dans l'intervalle de 15 000 à 17 000 personnes. La demande de ne pas aimer affichera le personnel du personnel dont les noms ne démarrent pas ou ne contiennent pas les caractères spécifiés avec pas comme.

Écrivez des demandes SQL de sélectionner et de prédicates dans, pas dans, entre vous, puis voir Solutions

Il y a une base de données "théâtre". Table de lecture contient des données sur la production. Équipe de table - sur les rôles des acteurs. Table d'acteur - À propos des acteurs. Directeur Tableau - À propos des administrateurs. Les champs de table, les touches primaires et externes sont visibles dans la figure ci-dessous (pour zoomer pour zoomer sur le bouton gauche de la souris).


Exemple 12. Liste des acteurs qui n'ont pas été approuvés sur un rôle majeur. Dans la table de l'équipe, les principales données sont contenues dans la colonne de mainteam. Si le rôle est le principal, alors "y" est noté dans la chaîne correspondante.

Sélectionnez et commandez par - Tri (Commande) Strings

Démontré jusqu'à présent SQL Sélectionnez des requêtes Retourne des lignes pouvant être localisées dans n'importe quelle séquence. Cependant, il est souvent nécessaire de trier les lignes par ordre de numéros, d'alphabet et d'autres fonctionnalités. Pour ce faire, sert la phrase clé de l'ordre par. Ces requêtes ont la syntaxe suivante:

Exemple 15. Devons choisir parmi les employés de la table du personnel travaillant dans le département avec numéro 84 et trier (rationaliser) enregistrements par le nombre d'années passées dans une commande croissante:

Le mot ASC indique que l'ordre de tri augmente. Ce mot n'est pas nécessaire, car l'ordre croissant de tri est appliqué par défaut. Demande résultat:


Exemple 16. Devant qu'il soit nécessaire de choisir les mêmes données que dans l'exemple précédent, mais de trier (rationaliser) des enregistrements par le nombre d'années passées dans un ordre décroissant:

Le mot descendit indique que l'ordre de tri est en déclin. Demande résultat:


Sélectionner et distinct - enlèvement des chaînes en double

Lorsque les valeurs des lignes de table ne sont pas spécifiées, la condition de l'unicité n'est pas spécifiée, les mêmes lignes peuvent se rencontrer dans les résultats de la requête. Souvent, vous devez retirer uniquement des lignes uniques. Ceci est fait en utilisant l'expression distincte après l'instruction SELECT.

Exemple 17. Devant qu'il soit nécessaire de savoir quels ministères sont et quels messages entre les départements dont les chiffres sont inférieurs à 30. Cela peut être fait en utilisant la demande suivante:

Demande résultat:


Sélectionnez l'opérateur dans les sous-requêtes SQL

Jusqu'à présent, nous avons compris les conceptions SQL avec l'instruction SELECT, dans laquelle les conditions dans lesquelles les données sont sélectionnées et que les données sélectionnées elles-mêmes sont contenues dans la même table de base de données. En pratique, il arrive souvent que les données qui doivent être sélectionnées sont contenues dans la même table et les conditions sont dans l'autre. Les supports sont à la rescousse: les paramètres de la sélection sont renvoyés d'une autre requête (requête imbriquée), qui commence également par SELECT. Les demandes avec sous-requêtes peuvent produire une et plusieurs lignes.

Exemple 18. Tous les mêmes tables d'org et de personnel. Devant qu'il soit nécessaire de savoir dans quelle unité utilise un employé avec un numéro d'identification 280 et où se trouve l'unité. Mais les informations sur les divisions sont stockées dans la table ORG et les informations sur les employés sont dans la table du personnel. Cela peut être fait en utilisant la demande suivante avec une sous-traitance dans laquelle la sélection externe fait référence à la table Org et la sélection interne est à la table du personnel:

Demande résultat:


Exemple 19. Vous exigez maintenant que vous découvriez que les unités (sans duplication) travaillent des employés avec un salaire inférieur à 13000. Pour cela, dans la section où la section externe sélectionnée (requête sur la table Org), une condition qui reçoit la gamme de valeurs (IN) est défini et sélectionner interne (à la table du personnel) renvoie simplement la plage de valeurs requise:

Bases de données relationnelles et langue SQL

Toute table a son propre début logique et sa propre fin logique. De plus, toute table est constituée de données fréquentes, et dans le cas de bases de données, plus d'étendue, sont situées dans la dispersion. Comme indiqué dans le premier enregistrement sur SQL et bases de données, des données peuvent être entrées régulièrement dans l'ensemble du cycle de vie de la base de données. Pendant ce temps, une douzaine de données ne peut être effectuée. En SQL, comme à d'autres égards dans tous les programmes informatiques, vous pouvez organiser des données. Ceci est fait par équipe Commandé par.. Pour cette équipe, il y a deux arguments

  • ASC définit l'ordre croissant (de plus petit à plus)
  • Desc - descendre (de moins à moins)
En général, en SQL, le commandement par défaut est établi ascendant (de plus petit à plus).
Essayons d'organiser la table des débiteurs par nom de famille - Sname Colonne - décroissant

Débiteurs.

Num. MOIS. An. Le nom de. Ville. Adresse Peine Dette.
0001 juillet2012 IvanovStavropol.Stavropol, 1.4891.00 50000
0002 décembre2019 KononovtatarPays, 254.19565.00 684068
0003 Mai2013 YamshinMikhailovskRural, 48.9868.00 165840
0004 août2012 PrédaStavropol.CENTRAL 16.4659.00 46580
... ... ... ... ... ... ... ...
9564 Mars2015 rueDöhinoInternational, 156.6846.00 435089
9565 octobre2012 PavlovaStavropol.VOKZALNAYA, 37.685.00 68059
9566 janvier2012 UryupMikhailovskFontaine, 19.1235.00 51238
9567 novembre2017 des troustatarSortie 65.13698.00 789654

Effectuer une demande
Sélectionnez *
Des débiteurs.
Ordre de Sname Desc;

Débiteurs.

Num. MOIS. An. Le nom de. Ville. Adresse Peine Dette.
0003 Mai2013 YamshinMikhailovskRural, 48.9868.00 165840
9566 janvier2012 UryupMikhailovskFontaine, 19.1235.00 51238
9564 Mars2015 rueDöhinoInternational, 156.6846.00 435089
0004 août2012 PrédaStavropol.CENTRAL 16.4659.00 46580
9565 octobre2012 PavlovaStavropol.VOKZALNAYA, 37.685.00 68059
0002 décembre2019 KononovtatarPays, 254.19565.00 684068
0001 juillet2012 IvanovStavropol.Stavropol, 1.4891.00 50000
9567 novembre2017 des troustatarSortie 65.13698.00 789654

En outre, la commande peut être effectuée dans des données groupables, selon l'équipe. Mais dans ce cas, la commande par équipe dans la requête devrait supporter le dernier, c'est-à-dire
Sélectionnez *
Des débiteurs.
Groupe par le détenteur du sname.
Ordre de Sname Desc;

Si dans les champs commandés, il existe des cellules avec des valeurs vides (NULL), en fonction des programmes travaillant avec la base de données, de telles cellules peuvent être situées à la fin de la liste ou au début.
Il y a un autre tour pour organiser des données. Considérez la demande
Sélectionnez Num, Année, Sname
Des débiteurs.
Commander par 2 desc;

Ici, deux sont signifiés le numéro de séquence de la colonne de la ligne "Sélectionner Num, Année, Année" et c'est précisément que cette colonne sera classée en conséquence.

Débiteurs.

Comme on peut le voir, les valeurs ont été commandées sur la colonne de l'année, où au début de la liste la date ultérieure.
Ainsi, commander dans SQL a les mêmes principes de classement que dans tous les programmes informatiques. Tout dépend de l'administrateur de la base de données et de ses besoins dans cette ou cette information qu'il souhaite obtenir.



Le contenu de l'article
1. Les demandes mysql les plus simples
2. Sélectionner des demandes simples (sélectionnez)
3. Demandes Simple Insérer (Nouveaux enregistrements)
4. Mise à jour simple (écrase, finition) Demandes
5. Delete simple (Supprimer l'enregistrement)
6. Demandes de chute simple (Supprimer la table)
7. Demandes MySQL complexes
8. Demandes MySQL et variables PHP

1. Les demandes SQL les plus simples

1. La liste de toutes les bases de données sera-t-elle.

Afficher des bases de données;
2. Wills une liste de toutes les tables de la base de données de base_name.

Afficher les tables dans la base_name;

2. Sélectionner une sélection (sélectionnez) la base de données MySQL

SÉLECTIONNER - une demande qui choisit déjà les données existantes de la base de données. Vous pouvez spécifier certains paramètres de sélection. Par exemple, l'essence de la demande à la langue russe sonne comme ceci - choisissez une telle colonne d'une telle table dans laquelle le paramètre d'une telle colonne est égal à la valeur.

1. Sélectionne toutes les données de la table Tbl_Name.

Sélectionnez * auprès de Tbl_Name;
2. Affiche le nombre d'entrées dans la table Tbl_Name.

Sélectionnez Count (*) de Tbl_Name;
3. Sélectionne (SELECT) à partir de (à partir de) Tableau Table TBL_Name limite (limite) 3 enregistrements à partir de 2.

Sélectionnez * à partir de la limite de Name 2.3;
4. Sélectionne (SELECT) Tous les enregistrements (*) de (à partir de) Table Tbl_name et les trie (commandez par) par l'ID de champ dans l'ordre.

Sélectionnez * à partir de la commande Tbl_Name par ID;
5. Sélectionne (SELECT) Tous les enregistrements de (à partir de) Table Tbl_Name et trie-les (commander par) par ID de champ dans l'ordre inverse.

Sélectionnez * à partir de la commande Tbl_Name par ID Desc;
6. choisit ( SÉLECTIONNER) Toutes les entrées (*) de ( De.) Les tables utilisateurs. et les trie ( Commandé par.) sur le terrain identifiant Dans l'ordre croissant, limite ( Limite.) Les 5 premiers enregistrements.

Sélectionnez * à partir de l'ordre des utilisateurs par la limite d'identité 5;
7. choisit tous les enregistrements de la table utilisateurs.où le champ fname. Correspond à la valeur Gena..

Sélectionnez * à partir des utilisateurs où fname \u003d "gena";
8. Sélectionne tous les enregistrements de la table utilisateurs.où la valeur du champ fname. commencer avec Ge..

Sélectionnez * à partir des utilisateurs où fname comme "GE%";
9. Sélectionne tous les enregistrements de la table. utilisateurs.fname. se termine n / A.et simplifie les enregistrements de la valeur croissante identifiant.

Sélectionnez * à partir des utilisateurs où FNAME aime "% na" commander par ID;
10. Sélectionne toutes les données des haut-parleurs. fname., le nom. De la table utilisateurs..

Sélectionnez FNAME, LNAME à partir des utilisateurs;

11. Supposons que vous ayez une donnée personnalisée dans le tableau. Donc, si vous souhaitez afficher uniquement une liste de valeurs rencontrées (de sorte que, par exemple, la Russie n'est pas affichée 20 fois, mais une seule), alors nous utilisons distincts. Saute, de la masse de valeurs répétées de la Russie, de l'Ukraine, de la Biélorussie. Ainsi, de la table utilisateurs. Haut-parleurs pays. Toutes les significations uniques seront affichées.

Sélectionnez le pays distinct des utilisateurs;
12. Sélectionne toutes les lignes de la table utilisateurs.Âge. Il a 18,19 et 21.

Sélectionnez * des utilisateurs où l'âge de (18,19,21);
13. Sélectionne la valeur maximale Âge. Tableau utilisateurs.. C'est-à-dire que si vous avez le plus important dans la table Âge.(de l'anglais) également 55, le résultat de la requête sera de 55 ans.

Sélectionnez Max (âge) à partir des utilisateurs;
14. Sélectionnez les données de la table utilisateurs. Par champs nom. et Âge.Âge. Accepte la plus petite valeur.

Sélectionnez Nom, Min (Âge) des utilisateurs;
15. Sélectionnez Données dans la table utilisateurs. sur le terrain nom.identifiant Pas égal à 2.

Sélectionnez le nom des utilisateurs où id! \u003d "2";

3. Insérez simple (nouvelle entrée) Demandes

Insérer. - Demande, ce qui permet d'insérer initialement une entrée dans la base de données. C'est-à-dire qu'il crée une nouvelle entrée (ligne) dans la base de données.

1. Fait une nouvelle entrée dans la table utilisateurs., dans le champ nom. insère Sergey et sur le terrain Âge. Inserts 25. Ainsi, la table ajoute une nouvelle ligne avec des valeurs de données. Si les haut-parleurs sont plus grands, ils restent à gauche, soit vide, ou avec des valeurs par défaut.

Insérer dans les valeurs des utilisateurs (nom, âge) ("Sergey", "25");

4. Mise à jour simple MySQL Demandes de base de données

Mettre à jour. - une demande qui vous permet d'écraser les valeurs des champs ou d'ajouter quelque chose dans la ligne déjà existante dans la base de données. Par exemple, il existe une ligne prête, mais elle doit écraser le paramètre de l'âge, comme cela a changé avec le temps.

1. Tableau utilisateurs. Âge. Cela devient 18.

Mettre à jour les utilisateurs définis l'âge \u003d "18" où id \u003d "3";
2. Tous identiques que dans la première demande, la syntaxe de requête est simplement montrée, où deux champs sont écrasés et plus.
Tableau utilisateurs. Où id est 3 valeur de champ Âge. devient 18, et pays. Russie.

Mettre à jour les utilisateurs définis Âge \u003d "18", pays \u003d "Russie" où id \u003d "3";

5. Simple Supprimer (Supprimer l'enregistrement) Query à la base de données MySQL

Effacer. - une demande qui supprime une chaîne de la table.

1. Supprime une chaîne de la table utilisateurs.identifiant égal à 10.

Supprimer des utilisateurs où id \u003d "10";

6. Requête Simple Drop (Supprimer la table) à la base de données MySQL

Tomber. - une demande qui supprime la table.

1. Supprime la table entière tbl_name..

Drop Table Tbl_name;

7. Requêtes de base de données MySQL sophistiquées

Demandes curieuses qui peuvent être utiles même aux utilisateurs expérimentés

Sélectionnez une pièce d'identité, Nom, Pays des utilisateurs, Admins où à_days (maintenant ()) - TO_DAYS (Registry_Date)<= 14 AND activation != "0" ORDER BY registration_date DESC;
Cette requête complexe choisit des haut-parleurs id, nom, pays Dans les tables utilisateurs, administrateurs.date d'inscription. (date) pas plus vieux 14 jours I. activation. INÉGAL 0 , Trier par date d'inscription. dans l'ordre inverse (nouveau au début).

Mettre à jour les utilisateurs définis Âge \u003d "18+" où Âge \u003d (sélectionnez l'âge des utilisateurs où mâle \u003d "homme");
L'exemple est l'exemple de la soi-disant demande dans la demande en SQL. Mettre à jour l'âge parmi les utilisateurs à 18 ans et plus, où le sol est masculin. Des options de requête similaires ne recommandent pas. Selon l'expérience personnelle, je dirai, il est préférable de créer plusieurs séparés - ils seront élaborés plus rapidement.

8. Quertiez sur la base de données MySQL et PHP

Dans les demandes MySQL dans la page PHP, vous pouvez insérer des variables comme des valeurs comparées et TP. Une paire d'exemples

1. choisit tous les enregistrements de la table utilisateurs.où le champ fname. correspond à la valeur de la variable $ Nom..

Sélectionnez * à partir des utilisateurs où fname \u003d "$ nom";
2. Tableau utilisateurs. Où id est 3 valeur de champ Âge. Changements à la valeur de la variable d'âge $.

Mettre à jour les utilisateurs définis Âge \u003d "$ Age" où id \u003d "3";

Attention! Si vous êtes intéressé par un autre exemple, écrivez une question dans le commentaire!

Suppression des enregistrements

Pour supprimer des enregistrements de la table, l'opérateur de suppression est appliqué:

Supprimer de Nametablitsa où condition;

Cet opérateur supprime l'enregistrement de la table spécifiée (et non des valeurs de colonne distinctes) qui répondent à la condition spécifiée. La condition est une expression logique, dont les différentes conceptions ont été prises en compte lors de classes de laboratoire précédentes.

La requête suivante supprime l'enregistrement de la table du client, dans lequel la valeur de la colonne LName est "Ivanov":

Supprimer du client.

Où lname \u003d "Ivanov"

Si le tableau contient des informations sur plusieurs clients avec le nom de famille d'Ivanov, ils seront tous supprimés.

Dans la déclaration où, il peut s'agir d'une sous-pièce à un échantillon de données (sélection de la déclaration). Les sous-requêtes dans l'opérateur de suppression fonctionnent de la même manière que dans la déclaration SELECT. La demande suivante supprime tous les clients de la ville de Moscou, tandis que l'identifiant de la ville unique est renvoyé à l'aide de la sous-requête.

Supprimer du client.

Où identité dans (sélectionnez l'identité de la ville où Name Name \u003d "Moscou")

Transact-SQL étend une SQL standard, vous permettant d'utiliser dans l'énoncé de suppression d'une autre. Cette extension dans laquelle la connexion est définie peut être utilisée à la place d'une requête investie dans la clause WHERE pour spécifier les lignes amovibles. Il vous permet de spécifier les données de la seconde à partir et de supprimer les lignes correspondantes de la table dans la première offre. En particulier, la demande précédente peut être réécrite comme suit.

Supprimer du client.

Du client k rejoindre interne

L'opération d'élimination des enregistrements de la table est dangereuse dans le sens, qui est associée au risque de perte de données irréversible dans le cas d'erreurs sémantiques (mais non syntaxiques) dans le libellé de l'expression SQL. Pour éviter les problèmes, il est recommandé d'exécuter d'abord la demande de sélection appropriée à afficher que les enregistrements seront supprimés. Par exemple, avant d'effectuer le précédent pris en compte, la demande de suppression n'empêchera pas la demande de sélection appropriée.

Sélectionnez *

Du client k rejoindre interne

City c sur k.idcity \u003d c.idcity et c.CityName \u003d "Moscou"

Pour supprimer tous les enregistrements de la table, il suffit d'utiliser l'instruction DELETE sans le mot clé où. Dans le même temps, la table avec toutes les colonnes définies est définie et est prête à insérer de nouveaux enregistrements. Par exemple, la requête suivante supprime des enregistrements de tous les biens.

Supprimer du produit.

Tâche pour un travail indépendant: Formuler dans la demande de langue SQL pour supprimer toutes les commandes qui n'ont pas de produit (c'est-à-dire toutes les commandes vides).



Avez-vous aimé l'article? Partagez-le