PostgreSQL - les joins, la modification des données et la définition des tableaux | Will Bunker | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

PostgreSQL - les joins, la modification des données et la définition des tableaux

teacher avatar Will Bunker, Co-founder of what became Match.com

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction

      0:55

    • 2.

      Dessiner les relations avec la table

      3:10

    • 3.

      Capturer des informations à partir de deux tables

      5:50

    • 4.

      Capturer des informations à partir de plusieurs tables

      5:07

    • 5.

      Joins gauche

      3:25

    • 6.

      Rejoint bon

      3:17

    • 7.

      Rejoint complet

      2:25

    • 8.

      Self rejoindre

      4:00

    • 9.

      Groupe Groupe par

      8:18

    • 10.

      AVEC CE QUI filtre les groupes

      4:40

    • 11.

      UNION

      3:24

    • 12.

      Subquery utilisant DES EXQUis

      8:43

    • 13.

      Subquery utilisant N'importe Pays.

      7:33

    • 14.

      DANS l'utilisation de Subquery

      1:41

    • 15.

      38 38 DANS

      7:59

    • 16.

      MISE à jour

      3:28

    • 17.

      SUPPRIMER

      2:10

    • 18.

      SÉLECTIONNer DANS

      2:48

    • 19.

      INSERT DANS SÉLECTION

      2:38

    • 20.

      CRÉer une BASE de DONNÉES

      1:39

    • 21.

      DATABASE DROP

      1:22

    • 22.

      CRÉer une table

      9:30

    • 23.

      ALTER TABLE partie 1

      3:40

    • 24.

      ALTER TABLE partie 2

      3:10

    • 25.

      ALTER TABLE partie 3

      2:11

    • 26.

      CRÉer l'INDEX

      3:35

    • 27.

      INDEX

      1:41

    • 28.

      51 TABLE DROP

      1:07

    • 29.

      NULL contraint à contrainte

      5:15

    • 30.

      Constraint unique

      3:45

    • 31.

      Contrainte de clé primaire

      5:54

    • 32.

      55 contrainte de CLier 55 FOREIGN

      7:00

    • 33.

      Vérifier la contrainte

      5:29

    • 34.

      Constraint DEFAULT

      2:43

    • 35.

      Conclusion

      0:56

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

193

apprenants

--

projets

À propos de ce cours

Apprendre SQL a été l'une des compétences les plus précieuses que j'ai appris lors de la construction de Match. Nous avons eu l'une des exemples les plus grandes pour Microsoft SQL Server dans les 90s 90 avec des millions d'enregistrements afin de maintenir le site. Plus nous avons obtenu avec SQL, meilleur nous pourrons rendre le site pour nos utilisateurs et répondre aux questions sophistiquées sur nos utilisateurs.

Ce cours est mon deuxième sur l'utilisation on Nous allons nous voir

  • Utiliser des joindres pour requérir des informations de plus d'une table
  • Subqueries - comment utiliser une recherche dans une requête dans une requête
  • Repartir et filtrer les enregistrements
  • Modifier les données en utilisant INSERT, SUPporter et INSERT,
  • Créer de nouvelles tables
  • Ajouter des restrictions sur les informations qui peuvent être ajoutées à des tables
  • Créer des index

Rencontrez votre enseignant·e

Teacher Profile Image

Will Bunker

Co-founder of what became Match.com

Enseignant·e

Dave Kennedy and I started what became the largest dating site of the 90's, from a telephone closet at an insurance company. I taught myself from the ground up how to build a site that became one of the top 100 visited sites by 1999. Since then, I have helped found several more businesses and invested in over 160 tech companies.

I love to learn new stuff and have a found a way to reach my dreams by learning the latest technologies. You can too. I've helped dozens of others learn how to build their own companies by learning to code and deploy technologies to solve real problems.

I am going to put together a series of courses that will cover everything from prototyping, then building an MVP, and finally scaling into the cloud when your company takes off.

Every p... Voir le profil complet

Level: Intermediate

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: Salut. Mon nom est Will Bunker, bienvenue à mon deuxième cours ou post GRESS rejoint la modification des données et la construction de tables. Donc, dans ce cours, nous allons construire sur ce que nous avons appris dans le deuxième cours en allant à des requêtes plus compliquées , joignant plusieurs tables ensemble afin que vous puissiez créer de riches sources d'information et répondre vraiment des questions sophistiquées sur ce qui se passe dans les données de votre entreprise. Et puis à partir de là, nous allons aller à la modification des données avec des instructions insert, update et delete. Et puis, pour la dernière partie du cours, nous allons vous apprendre à créer vos propres tables en utilisant la suite et en mettant des contraintes afin que les gens mettent le bon type de données et que vous finissiez avec bonnes sources de données. J' espère que vous apprécierez ce cours. C' est la deuxième étape vers votre chemin pour devenir vraiment bon. Il administration de base de données. Merci 2. Dessiner les relations avec la table: dans cette conférence, nous allons parler des relations de table de diagrammes. Maintenant, ce diagramme est un outil pour vous aider à comprendre comment les tables se réunissent les unes avec autres. Donc, ce que je fais quand j'approche généralement de nouvelles bases de données, je vais dessiner toutes les relations entre les tables. Et le formulaire standard est que vous créez une boîte avec le nom de la table en haut et puis tous les noms de champs en bas de la ligne ici, vous le listez dehors. Alors sortez un morceau de papier dès maintenant, arrêtez la vidéo et attirez les clients ici avec tous les noms de champs dessus. Et puis on va te montrer comment les assembler ensemble. OK, alors nous allons prendre la table des commandes, et je vous montre ici où développé dans PG admin et dessiner une deuxième boîte sur ce même morceau de papier avec les commandes et tous les champs qu'il a dans une pause la vidéo et dessiner à cette table sur le même morceau de papier. Ok, maintenant tu devrais finir avec quelque chose qui ressemble à ça où tu as des clients d'un côté , des commandes de l'autre. Peu importe où ils sont disposés sur le papier. maintenant, ce que vous voulez faire, c'est que vous voulez rechercher des champs qui relient les deux tables. Donc, dans ce cas, les commandes ont un champ client I d qui est également présent dans la table client. Et donc ces deux champs, ou qu'est-ce qui relie ces tables ensemble ? Et donc ce que je fais, c'est que je vais tracer une ligne entre les tables qui ont ces liens. Maintenant, sur certains des diagrammes que vous verrez sur le côté où il y a beaucoup de commandes avec des idées de clients , vous pouvez mettre sur l'infini. Signez ici pour dire que c'est une relation de trop. Donc, vous savez, lors de la création de tables, vous avez généralement des schémas de nommage où le nom de la table est le pluriel des types d' enregistrements qu'elle contient. Donc, pour les données client, vous appelez cela les données de commande des clients. Vous avez capturé des commandes et ensuite généralement dans chaque table, il y a un champ I D dont vous avez besoin pour chaque enregistrement de la table. Donc, chez les clients que vous avez client I D et les commandes que vous avez l'ordre i d. Et ceux-ci deviennent qu'il se sent que lien entre d'autres tables où l'information est liée . Maintenant, mettez la vidéo en pause et allez, vous savez, utiliser PG admin pour développer les tables, regarder les champs les écrire, puis essayer de dessiner des relations entre les différentes entités là-bas. Maintenant, j'ai inclus dans ce fichier PNG de cours, qui a un très beau diagramme qui est fait avec un morceau de logiciel montrant toutes les relations. Mais cela vous aide à vous familiariser avec les relations pour le tirer à la main. Et c'est quelque chose que je fais presque toujours quand je travaille avec une nouvelle base de données. Et c'est le type de sentiment que vous devriez finir avec. Ce sont toutes les relations mappées entre les différentes tables. années n'auront pas la même structure, mais les lignes qui les relient devraient être les mêmes. D' accord, étape suivante, nous allons commencer à travailler à joindre des tables ensemble. On va commencer par l'inter jointure. Donc tu as 3. Capturer des informations à partir de deux tables: OK, cette conférence, on va parler d'attraper des informations sur deux tables. Jusqu' à présent, toutes les requêtes que je vous ai montrées n'utilisent qu'une seule table. Tu sais, le monde réel ne marche pas comme ça. Les utilisateurs vont vouloir des informations dans une seule requête qui provient de plusieurs tables plus d' une table. Et il y a une certaine complexité autour de la façon de rejoindre ces deux tables. Et il essaie de répondre à des questions comme, Voulez-vous seulement des enregistrements qui ont des informations dans les deux tables ? Donc, par exemple, est-ce que je veux des ordres d'Onley qui ont commandé des détails ? Donc, si dans l'ordre n'avait pas de détails de commande qui n'apparaîtraient pas dans cela, Queria n'aurait que ceux qui correspondaient sur ce champ d'ordre I d. Ou voulez-vous tous les enregistrements d'une table, qu'ils aient ou non des enregistrements dans la deuxième table, puis des enregistrements correspondants dans la deuxième table ? Donc, par exemple, Je veux seulement que je veux tous les clients, Mais alors je veux aussi toutes les commandes que les clients ont eu, Ou voulez-vous une combinaison des tables avec chaque ligne dans une table, être combiné avec un autre Rohan une autre table, donc Row on irait Lancer une rangée, une avec rangée à rangée un avec lancer trois a écrit à Withrow un, tout comme une jointure géante ensemble qui crée une matrice de toutes les routes dans les deux tables. Donc, ces types de questions conduisent à différentes façons de regrouper les tables. Nous allons commencer par le plus simple serré, qui est dans le type par défaut, ce qui est de me donner les enregistrements sur Lee. Si les deux tables ont des champs correspondants, c'est ce qu'on appelle une jointure interne. C' est un mot technique pour ça. Et il retire les enregistrements qui ont un i d que cet air dans les deux tables. Donc, pour ce faire, vous devez utiliser la syntaxe du nom complet où vous placez le nom de la table, le point, point, le nom du champ. Et c'est parce que généralement les champs I d. ont le même nom dans les deux tables, et vous devez le dire Hey, c' est les clients point client i d par rapport aux commandes point client i d. Donc, la syntaxe de base pour joinus sélectionnez normal Sélectionner avec vos noms de colonnes de la table une table inter jointure à posséder, puis vous faites correspondre les champs I. D. Donc, vous savez, vous pouvez également le faire sans interroger, car entrer est la valeur par défaut. Donc, vous pouvez juste avoir de la table une table commune deux. Et ce sera la façon dont je fais dans ce cours est utilisé le joint par défaut. Maintenant, la façon dont tu sais que tu dois faire ça c'est que l'utilisateur va demander quelque chose. J' ai besoin d'un rapport qui me donne le nom du client, la commande,la date et l'expédition. J' ai besoin d'un rapport qui me donne le nom du client, la commande, commande, Pays. Maintenant, toi à l'arrière. Ta tête. Non. Wow. nom du client figure dans la table du client dans la date de la commande et le pays d'expédition est dans la table des commandes. Ding, ding, ding. Je vais avoir besoin de faire un joint ici. Donc pour faire ça, allons par ici et je vais te montrer ça. C' est le nom de la société sélectionné commandé, huit pays d'expédition à partir des commandes et vous allez rejoindre les clients propres. Et puis c'est là que nous utilisons la syntaxe de nom de table complète clients point personnalisé Ryan D ordres égaux point client. Maintenant, ne crains pas plus tard, on va entrer dans la façon de faire ça sans toute cette dactylographie. Maintenant, ne crains pas plus tard, Mais c'est la syntaxe de base ici. Et donc quand nous l'exécutons, il retire les enregistrements des deux tables réunies ici. Et donc nous y voilà. Nous avons tout rassemblé dans un paquet agréable et soigné. Maintenant, c'est ton tour. Prenez cette nouvelle syntaxe et retirez le prénom et le nom de famille de nos employés ainsi que la date de commande pour toutes les commandes que cet employé a effectuées. Et voici ce que vous allez voir si vous obtenez la requête. droite. Alors donne-toi un indice ici. Alors mettez une vidéo en pause. Allez construire un coréen pour vous récupérer ces données. Ok, donc ici, nous avons sélectionné le prénom, date de commande du nom de famille des commandes. Rejoignez les employés, propres employés dot employé I d égale ordres. Don employé i d Quand vous l'exécutez. C' est l'information que vous récupérez. Tous les employés combinés avec toutes les commandes qu'ils ont passées. Maintenant, si vous aviez un employé qui n'avait pas de commandes, il n'apparaîtrait pas dans ce rapport. Ok, pratiquons encore ça. Retirez le nom de l'entreprise, les coûts unitaires, ainsi que les unités et le stock provenant des fournisseurs. C' est là que sera le nom de la société. Et puis les coûts unitaires, les unités et le stock vont venir de votre table de produits. Alors retirez cette information et voici ce que vous allez voir si vous le faites bien. Ok, donc voici la requête. Sélectionnez le nom de la société unités de prix unitaires en stock à partir des produits. Et encore une fois, vous pouvez les retourner partout où vous voulez. Ça n'a pas d'importance. Je viens de choisir des produits en premier. Mais si vous le faisiez de fournisseurs, cela fonctionnerait tout aussi bien. Joignez-vous aux fournisseurs sur les produits point fournisseur I d égal aux fournisseurs. Ce fournisseur i d. Donc c'est tout pour cette conférence. Je vous recommande fortement de retirer ce graphique montrant toutes les connexions entre les tables et de commencer à vous entraîner à connecter une table à une autre dans ces jointures simples à table car il devient plus complexe à partir d'ici. Mais si vous obtenez les bases, cela aura beaucoup plus de sens. Cela vous rendra beaucoup plus facile de le faire. J' espère que vous avez apprécié et voir dans la prochaine vidéo 4. Capturer des informations à partir de plusieurs tables: dans cette conférence, nous allons parler de la saisie d'informations de plusieurs tables. Donc, la syntaxe de base est très similaire à ce que nous avons fait lorsque nous joignons deux tables et que vous commencez juste à empiler vos déclarations conjointes, vous pouvez tout épeler avec inter, joindre la table trois, et ensuite vous avez vos propres griffes avec les champs qui le relient ou vous venez de rejoindre. Mais peu importe, vous commencez juste à empiler joint après joint jusqu'à ce que vous ayez construit ensemble les relations qui vont revenir des données. Commençons donc par un exemple de ramener le nom de la société de la commande, date du produit i d le prix unitaire et la quantité. Nous allons donc devoir connecter les commandes des clients et les détails des commandes pour récupérer toutes ces informations. Allons retourner la base de données, et ce que nous allons voir ici, c'est que nous avons sélectionné et nous avons mis le nom de la société commandé huit unités Christ quantité. Donc ils diffusent les noms des colonnes, je vais recommencer avec l'ordre. Tu n'as pas à le faire dans le même ordre que moi. Mais, tu sais, tu dois les connecter un à la fois, et ensuite je vais joindre les détails de la commande et dans nos propres griffes, je vais utiliser l'ordre. J' utilise la syntaxe du nom de table complète. Donc, ses propres commandes point ordre i d. ordre égal souligné détails point ordre i d. Et puis finalement nous avons rejoint les clients. Et vous utilisez le client. J' y ai terrain. Donc, si nous exécutons ceci, nous revenons avec une information désirée tous réunis. Ok, alors arrêtons-nous. Et vous devez prendre le temps de pratiquer cela. Espérons que vous vous entraînez la dernière fois à rejoindre des tables simples de sable. Mais ici, vous savez, prenez la requête précédente que nous venons de faire et ajoutez le nom du produit aux résultats, ce qui signifie que vous allez devoir le connecter à la table des produits pour récupérer les noms des produits . Alors mettez la vidéo en pause. Rassemblez cette requête, revenez et je vous montrerai ma réponse. Ok, donc nous avons ajouté un autre mensonge ici, Une autre jointure qui est joint produits sur. Et puis nous utilisons des idées de produits sur le terrain pour rejoindre le tube. Et puis dans la partie supérieure, nous avons ajouté le nom du produit pour revenir avec les résultats. Et donc nous y voilà. Tu le retires, et c'est ce que tu as. Ok, c'est à votre tour de connecter les catégories à la chose précédente et de ramener le nom de la catégorie . Donc, remarquez comment nous sommes en train de construire cela et nous ajoutons plus d'informations ci-dessous. Vous verrez les résultats. Donc, mettez la vidéo en pause et allez vous connecter et retirez le nom de la catégorie. Ok, alors on y va. Donc encore une fois, nous venons d'ajouter une autre clause commune en bas, et nous avons rejoint les catégories et nous avons utilisé dans nos propres griffes une catégorie i d. Et ce sont les catégories point i d égal produits catégorie point i d. Et si vous l'exécutez, Bien sûr, vous vous retirez. Et maintenant, nous avons le nom du produit de nuit de l'entreprise, le nom de la catégorie pour chaque détail dans le champ Détails de la commande et de la commande. Très bien, Donc enfin, une fois que vous avez joint tout ensemble, vous pouvez utiliser où, comme vous le feriez dans un ah normal, instruction de sélection qui retire juste les informations d'une table. Et donc à une clause where qui sélectionne le nom de catégorie des fruits de mer avec un montant dépensé supérieur à 500$. Eh bien, 500. Alors pause une annonce vidéo cette requête sur leur retour et je vais vous montrer ma réponse. Ok, Donc la dernière est ici, et après le joint nous venons de gifler dans une clause where dans son nom de catégorie Equal Seafood et dans l'ordre détails prix unitaire. Maintenant, remarquez. J' ai épelé le nom de la table. Pourquoi ai-je fait ça ? Je l'ai fait et vous avez probablement rencontré là où ? Parce que les produits ont également un prix unitaire. Donc, chaque fois qu'il peut y avoir confusion entre les deux champs, vous devez épeler le sort de quelle table il vient. Il est donc et les détails de la commande point prix unitaire fois la quantité est supérieure à 500. Alors faisons-le ça. Et voilà. Cela ramène tous les enregistrements où il s'agit de fruits de mer, et ils ont dépensé plus de 500 pour un détail de commande particulier, et il y avait 97 dossiers pour cela. Donc c'est tout à nouveau, je voudrais juste vraiment vous recommander de sortir et de commencer à jouer avec les données qui le connectent ensemble, voyant comment vous tirez des tables ensemble et obtenir des informations de C'est tout pour cette conférence. J' espère que vous avez apprécié et voir dans le prochain 5. Joins gauche: Mais dans cette vidéo, nous sommes dans une couverture à gauche jointures Donc jointures gauche retire tous les enregistrements dans la première table répertoriée, puis tous les enregistrements correspondants dans la deuxième table. Donc, ce que cela permet est que s'il n'y a pas d'enregistrements dans la deuxième table, vous pouvez toujours extraire des enregistrements de la première table et montrer qu'ils manquent des données dans la deuxième table. Donc, la syntaxe est très similaire pour rejoindre votre joie intérieure. Sauf que cette fois, vous devez appeler explicitement la jointure gauche. Donc, si vous y pensez, la table 1 est à gauche de la table 2. C' est donc celui que toutes les données reviendront de la table 1, indépendamment du fait que leurs enregistrements dans la table 2 ou non. Alors regardons les commandes des clients, et nous allons ramener au nom de l'entreprise et à l'ordre I D. Mais nous ferons une jointure gauche au lieu de l'inter joint ou juste de la joie régulière. Donc on va se débarrasser de ce complexe ici. Et donc nous allons commencer avec une entreprise sélectionnée. Non, vous commandez des clients. Donc, cette fois, la commande a de l'importance car elle dépend de celle que vous voulez inclure. Donc on va faire à gauche, commandes jointes, Born border, Daud Customer. Je suis égal aux clients. Le client I d , et donc nous allons juste le ramener ici. Maintenant quoi ? On va remarquer que si on va jusqu'au bas, tu verras qu'il y a deux clients qui n'ont pas encore mis dans tes mots. Maintenant, nous pouvons chercher seulement ces clients si nous utilisons notre est Non. Laissez-moi vous montrer la syntaxe là-dessus. Donc maintenant, nous essayons de trouver, vous savez, avons-nous des clients qui n'ont pas passé de commandes ? Nous ne regardons pas le tout moins que vous ne feriez où est l'ordre que j'ai. Non. Et on y va. Nous avons retiré cela aux clients qui n'ont pas de commandes. Ok, maintenant c'est ton tour. Alors faisons une gauche. Joignez-vous entre les produits dans les détails de commande. Alors arrêtez la vidéo et revenez lorsque vous avez construit une gauche, rejoignez entre les produits et les détails de la commande. Ok, donc on va aller chercher des produits. Allons avec le nom du produit. Eh bien, nous pourrions faire l'ordre I d, parce qu'il l'a dans leur des produits laissés joindre les détails de commande sur les produits. Ça va être un produit. I d produit R d Êtes-vous au courant ? Jetons un coup d'oeil. Alors, on y va. Nous avons tous les noms de produits connectés aux détails de la commande, qu'il s' agisse d'une commande, détail ou non. Utilise maintenant null pour voir. Avons-nous des produits qui n'ont pas été commandés ? Voyons en utilisant où avec n'est pas. Mettez la vidéo en pause et revenez quand vous pensez l'avoir. Ok, on y va. Où est la frontière R D. Non. Non. Chaque produit a été commandé au moins une fois. Dans la prochaine vidéo, on va couvrir les articulations droites. 6. Rejoint bon: Dans cette vidéo, on va couvrir, non ? Joins. Les jointures droites sont donc à l'opposé des jointures gauche. Ils retirent vos enregistrements correspondants dans la première table et tous les enregistrements de la deuxième table . Donc, en substance, vous retournez juste l'ordre dans lequel vous tirez l'ordre ou non. Pourriez-vous tirer les enregistrements mais la table que vous allez récupérer peu importe ce qui est le 2ème 1 au lieu du 1er 1 et donc clairement, vous savez, non ? Joindre et gauche Joindre. Vous pouvez le changer en changeant l'ordre des tables. Laissez-moi vous montrer un exemple ici. Donc, c'est les mêmes taxes de péché que jointes et à gauche jointes, sauf que vous venez d'épeler juste rejoindre à la place. Alors connectons les commandes aux clients. Donc on va le retourner. Nous allons d'abord appeler les commandes, mais ensuite faire le bon joint sur les clients afin que nous puissions récupérer tous les dossiers de nos clients, qu'ils aient ou non des commandes. Mais on va inverser l'ordre des tables. Et ce que cela fait est de cette façon que vous n'avez pas à vous soucier de la commande quand vous le faites , vous savez c' , est utiliser une gauche faire ou à droite ? Joignez-vous. Juste une opinion sur quelle table est venue en premier, mais jetons un coup d'oeil ici. Donc on va d'abord partir de Borders. Do nom de l'entreprise et la frontière. Ok, donc maintenant on va faire un bon lien avec les clients, commander le client I d. et on ne va pas le faire. Ok, donc maintenant on va faire un bon lien avec les clients, commander le client I d. Alors pressons ça ici. Et nous y voilà. Donc maintenant nous l'avons dupliqué, mais cette fois, avec la bonne jointure si vous descendez à la fin là, les mêmes deux entreprises qui n'ont pas de commandes comme avant, Mais cette fois avec un droit, vous au lieu de une jointure gauche. Maintenant, nous pouvons faire la même chose que nous pouvons ajouter. L' est non pour éliminer tout le bruit. Donc on va y retourner et on va faire où l'ordre est non. Et maintenant, il nous reste deux qui n'ont pas d'ordres comme nous l'avions avant. Mais cette fois, avec la bonne jointure. ce moment, c'est à ton tour. Alors faisons de la bonne collaboration entre votre démo client et vos clients. Donc, nous allons commencer par la démo client et les clients en deuxième. Alors allons regarder le client. C' est en fait une démo client et nous voulons le nom de l'entreprise et nous allons faire client client rétrogradé client D. Donc nous allons sortir le client que j'ai d de là. Alors on va venir ici. On va rejoindre. Ce sera la démo client d'abord, et on écrira. Rejoignez-le aux clients. Et c'est le client I d. Et donc nous ne le faisons pas encore au courant, alors nous y allons. Et il semble qu'aucun de nos clients n'ait encore été mis en place pour une démonstration client. Juste à l'étape suivante. On va faire des joints pleins. C' est la dernière des articulations que nous allons couvrir, donc vous 7. Rejoint complet: Ok, cette conférence, nous allons couvrir les joints complets maintenant, jointures complètes tirent tous les enregistrements dans la première table et la deuxième table, même s'ils n'ont pas de champ de liaison ou qu'il n'y a pas d'un côté de l'autre. Donc, c'est presque comme une réunion de gauche et de droite. Donc, ils appellent ça un joint complet et le péché taxes exactement la même chose. C' est une jointure complète écrite au lieu de gauche, non ? Ou juste rejoindre régulièrement. Maintenant, nous allons connecter les commandes aux clients. Maintenant, cela serait utile si vous cherchiez des clients qui n'avaient pas de commandes. De plus, les commandes qui n'avaient pas de clients peuvent être la mauvaise idée de client. Il a été mis dans notre client a été supprimé, et vous voulez nettoyer votre base de données. Et donc vous voulez faire une jointure complète pour vous assurer que vous n'avez pas de disques orphelins est ce qu'ils appellent ça. Bon, donc on va commencer par ici. On va aller Nom de la compagnie, frontière est celle des clients ? Cool. Rejoignez les clients Borders. Mon Dieu, le client est égal à des ordres. J' ai un client. Je dois exécuter ça. Et on y va. Si vous scannez à travers cela et vous arrivez au fond. Vous vous souvenez que Nous avons des clients qui n'ont pas de commandes, mais nous n'avons pas de commandes qui n'ont pas de clients. Bon, alors maintenant faites un joint complet entre les produits et les catégories pour voir s'il y a des enregistrements orphelins de chaque côté. Donc, faites un joint complet entre les produits et les catégories. Mettez la vidéo en pause et revenez quand vous l'avez. Nous allons regarder la réponse ensemble. OK, donc nous allons aller Nom du produit dans la catégorie des produits rejoindront les catégories, les idées de catégorie. Champ de liaison. Laissons ça là-bas. Nous dio. Maintenant, je vais juste scanner ici, mais je suis sûr qu'ils ont tous des dossiers de part et d'autre. D' accord. Ensuite, on va couvrir les jointures où tu rejoins une table à elle-même, les vois ? 8. Self rejoindre: d' accord. Dans cette vidéo, on va couvrir les auto-articulations maintenant, auto-joints. Ou quand vous connectez une table à elle-même, vous savez, finissez par faire cela plus que vous ne le pensez. Recherche de modèles dans les données. Donc, la syntaxe de base est que vous devez utiliser des alias pour le nom de la table parce que vous allez devoir lui dire de quelle version de la table vous voulez extraire les enregistrements. Donc, parce que les champs sont les mêmes et, vous savez que vous reconnectez la table à elle-même, vous devez utiliser un alias lorsque vous orthographiez tout. Donc ça vient de la table 1, l'équipe 1, et ça va être la même table et ensuite tu le nommes T 2 ici. Ça va être des commandes, des commandes, des clients, des clients. Où est la condition ? Donnons un exemple ici. Retrouvons tous nos clients qui sont dans la même ville. Laissez-moi vous montrer comment faire ça. En utilisant une auto-articulation. Ok, donc ce qu'on va faire, c'est qu'on va faire correspondre des clients dans la même ville, donc on va faire des clients, voir un. Les clients voient à et dans les champs. Nous voulons un retrait complet. Notre nom de l'entreprise du 1er 1 le nom de l'entreprise de la 2e 1 Remplissez-le et puis enfin, nom de la ville. D' accord. Et puis c'est là que la ville sera égale. Et pour ne pas sélectionner les doublons fonctionne la même entreprise écrasée à elle-même. Et aussi, nous ne voulons pas que le cas inverse soit éteint. Vous savez, société est une entreprise que la société B la société A. Nous devons nous assurer que les champs sont différenciés. Donc on va faire le nom du client. Le client I d est supérieur à C deux points tour personnalisé. Alors faisons-le ça. Et on y va. Nous avons une liste de nos clients qui se trouvent dans la même ville en ce moment. Je veux que vous fassiez la même chose pour les fournisseurs moins. Sauf cette fois, les fournisseurs du même pays, Pas nécessairement la même ville. Alors mettez la vidéo en pause. Reviens quand tu auras eu l'occasion d'essayer de faire ça, et je te montrerai ce qui s'est passé. Ok, donc on va aller avec les fournisseurs, et ça va être que je vais faire, et on veut que le pays de mot soit égal au pays, et ce sera le fournisseur. Je l'ai fait cette fois. Il faut qu'on le fasse. On y va. Maintenant, nous voulons que ce soit un nom d'entreprise. C' est deux noms de société. Et là, nous allons faire moins habitués à nous un pays quand je le ferais dans l'ordre Pays pour que ce soit une liste de mal dangereuse. On va le dire. Lequel ? Ok, on va faire ça. Et on y va. Nous avons donc maintenant une liste de tous les fournisseurs qui se trouvent dans le même pays. Les payeurs. D' accord. Dans la prochaine conférence, on va faire le groupe par. Tu vois ça ? 9. Groupe Groupe par: D' accord. Dans cette conférence, on va couvrir le groupe maintenant. La syntaxe de base est votre sélection normale. Mais après votre endroit, vous allez avoir ce groupe par noms de colonnes et cela va agréger toutes les données ensemble dans ce groupe, et puis vous pouvez également ajouter un ordre par si vous le souhaitez. Commençons par un exemple. Combien de clients avons-nous dans chaque pays ? Allons donc ici et nous voulons aller sélectionner. Et puis on va compter. Et juste la rose des clients les faisaient tous. Donc il n'y a pas d'endroit groupe par pays, et nous voulons le voir dans l'ordre par le comte descendant. D' accord, on va faire ça. Et nous l'avons ici. Chaque pays avec les Etats-Unis, avec le plus grand nombre de clients, suivi de l'Allemagne, France, au Brésil. Maintenant, vous pouvez les faire avec des jointures, donc il n'est pas limité à une seule table. Quel est donc le nombre de produits pour chaque catégorie ? Jetons un coup d'oeil à la façon de l'obtenir. Bon, donc on va commencer par le nom du produit, pas de pays, et ensuite le compte. Ok, nous allons commencer par sélectionner le nom de la catégorie double vérifier pour voir quelle colonne il est. Oui. Nombre de noms de catégorie à partir des catégories. Et ensuite on se joindra à ça aussi. Les produits sur les produits point catégorie i d égale à la catégorie I d. Et ils feront notre groupe par nom de catégorie ordre sans fin. Bon compte descendant. Jetons un coup d'oeil. Et nous y voilà. Nous avons 13 confiseries, 12 fruits de mer jusqu'à cinq produits de production. Maintenant, vous pouvez utiliser n'importe quelle fonction d'agrégation. Donc nous avons fait compter, mais nous allons changer et jeter un oeil à la moyenne, le nombre moyen d'articles commandés. Quatre produits commandés par le montant moyen. Nous allons donc connecter les produits aux détails pour voir quelle taille moyenne des commandes. Bon, donc on va aller sélectionner, et on va faire le nom du produit. Et au lieu de compter, on va faire moyenne, puis moins regarder et nos détails de commande l'appellent. Et c'est donc la quantité. Donc nous allons faire la quantité moyenne, et ça va être à partir de nous allons commencer avec des produits et nous allons le joindre aux détails de la frontière. Et ça va être sur le produit. I d. à partir de produits point produit. Je suis égal aux détails. Bon produit, D. Et là encore, D. on sélectionne tout le monde. Nous sommes donc dans un groupe par nom chronique et ordre par quantité moyenne décroissant. Laissons ça. Et on y va. Maintenant, il est difficile de lire ceci à cause de la façon dont il est encore arrondi. Alors faisons juste le tour ici. Il a trop de chiffres à montrer dans l'écran. Alors, on y va. Donc sco gee, Skakel aid, qui est un mot que je ne sais pas comment prononcer est numéro un avec 41 le suivant ci-dessous il est 36. Bon, maintenant c'est à ton tour. Combien de fournisseurs avons-nous dans chaque pays ? Suspendre la vidéo. Va travailler la requête, Reviens et je te montrerai ma réponse. Ok, alors on y va. Nous allons aller avec un pays sélectionné, puis le compte des fournisseurs groupe par pays, frontière par nombre descendant et USA est numéro un avec quatre, suivi de l'Allemagne avec trois. OK, quelle était la valeur totale de chaque produit vendu pour l'année 1997. Donc, cela va impliquer la somme au lieu de compter. Alors arrêtez la vidéo, voyez si vous pouvez faire revenir celui-ci et je vais vous montrer ma réponse. Donc on va commencer par le nom du produit, puis on en veut un et on pourrait faire des maths ici. Donc, nous allons faire le prix unitaire fois la quantité qui obtient la quantité totale de chaque eau à partir des produits se joindre aux détails de commande, et nous utilisons le produit I d. Détails de commande le produit i d. clause où. Ce sera le cas pour arriver à la date à laquelle nous devons nous joindre avec les ordres. Quartier. I d. Ordre I d. Maintenant, la date de commande regarder ici est entre. C' est l'année 1997. Donc, nous commençons par un 101 tout le long de 1997 12. 31. Ok, ça nous donne les données qu'on veut. Maintenant, nous allons le regrouper groupe par Nous voulions pour chaque produit. Nous sommes donc regroupés par nom de produit, et nous voulons commander les orteils. Très bien. Juste quelques-uns ici sont descendus. Bon, donc on a le sens ambigu qu'on doit le dire. Ce n'est pas le prix unitaire des produits, mais les détails de la commande. D' accord, allons recommencer ça. Et bien sûr, nous devons le faire ici, c'est bien, d'accord , nous l'avons. Côte d Blais avait le plus grand nombre de cellules pour cette année-là, soit 51 962$, suivie de 37 dans la suivante. Il y a donc eu un gros saut entre le deuxième et le premier produit. C' est vrai ? Dans la prochaine vidéo, on va couvrir le fait que tu filtrais les groupes qui leur parlent. 10. AVEC CE QUI filtre les groupes: OK, cette vidéo, on va parler de l'utilisation d'avoir à filtrer les groupes. Donc, la syntaxe de base est que vous avez votre instruction select de vous pouvez avoir une condition consciente que vous utilisez toujours avoir après grouper par et puis il a une sorte de condition. Et puis vous pouvez également faire optionnellement dans l'ordre à présent la différence entre avoir et où les filtres enregistrements avant de les regrouper. Donc, si vous mettez quelque chose dans la clause where et si l'enregistrement ne correspond pas à celui où il ne le fait jamais dans le groupe, j'ai filtré les enregistrements après les avoir groupés. Donc, nous allons trouver des produits qui ont vendu moins de 2000 dans la dernière vidéo, nous avions créé un regroupement de produits par le montant qu'ils ont vendu. Nous allons donc trouver des produits qui ont vendu moins en 2000 au total. Ok, donc la requête que nous avons faite la dernière fois était que nous avons sélectionné le nom du produit et ensuite nous avons fait la somme de la quantité fois le prix unitaire des détails de la commande est le corps total. Nous avons donc dû joindre les détails de commande, les commandes d' orteils et les produits pour que cela fonctionne. Maintenant, cette fois, au lieu d'où nous ne serons pas là où nous sélectionnons tous les enregistrements. Il y avait le regroupement. Achetez le produit. Nommez ce que nous voulons faire. Avoir un total Quoi de plus que 2000. Ok, on va faire ça. Ok, donc tu ne peux pas. C' est un point intéressant ici. Vous ne pouvez pas utiliser votre nom de champ nommé là, donc nous allons devoir saisir la déclaration originale et la mettre là et nous allons lancer ça. Et nous y voilà. Nous avons une liste de 74 produits qui ont vendu plus de 2000$ au total. Maintenant, si nous voulions inverser cela et découvrons tout ce qui est vendu moins que nous avons trois produits qui n'ont pas vendu plus de 2000$ de travail, c'est les trois ici. Maintenant, c'est ton tour. Donc, créez une requête qui montre tous les clients qui ont acheté plus de 5000$ de produits , sorte qu'ils ont un montant total acheté supérieur à 5000$. Mettez la vidéo en pause, voyez si vous pouvez construire votre requête, revenez et je vais vous montrer ma réponse. Ok, donc on va y aller avec le nom de la société. Ce sera la même quantité. Times prix unitaires est le total acheté. Maintenant, on va passer des détails de commande. Mais au lieu de joindre des produits, nous allons rejoindre des clients. Nous avons donc rejoint les détails de la commande, les commandes orteils qui nous amènent à notre client. Maintenant, nous devons changer cette cause ici, aller rejoindre les clients. Oh, les clients sont morts client. Je suis égal à Heidi, client Borders, et on va le regrouper par nom de société. Et on a ça. Certains ici sont conditionnels est supérieure à 5000. Donc on va aller avec ça. Et puis nous allons le commander par votre total acheté descendant. Nous verrons si nous l'avons fait correctement, et nous l'avons fait. Alors, voilà. Quick Stop a acheté le plus $117,000 de produit et jusqu'à Morgan Stern, qui est seulement acheté 5000 et $42 de produit. OK, maintenant on va ajouter des griffes conscientes ici. Alors faisons les clients qui ont acheté plus de 5000$ par produit. Mais mettons une date de commande, qui est le 1er 6 mois de l'année 1997. Alors arrêtez la vidéo, voyez si vous pouvez ajouter ça là et puis revenez et je vous montrerai la réponse. Ok, donc l'usure va après que vous soyez et rejoignez, mais avant votre groupe, je vais donc la mettre ici et sa date de commande. Je vais faire entre le premier jour de janvier et le 06 30. Laissons ça. Et nous y voilà. Nous avons 21 clients qui ont acheté plus de 5000$ pour un produit du 1er 6 mois de 1997. Très bien, dans la prochaine vidéo, on va couvrir Union, voir. 11. UNION: d' accord. Dans cette vidéo, on va couvrir Union. Alors, quel est le but de l'intellect syndical ? Vous prenez deux requêtes ou plus et combinez les données dans un ensemble retourné. Donc, la syntaxe est que vous devez essentiellement sélectionner des instructions, et entre elles, vous mettez union. Maintenant, ils doivent avoir le même nombre de colonnes et les types de colonnes doivent être alignés de sorte que vous ne pouvez pas avoir un nombre et un et du texte dans un autre. Et cette union supprimera toute rose dupliquée. Alors regardons un exemple ici. Nous allons obtenir une liste de tous les noms de clients et de fournisseurs. Alors on y va. Reprenons à nouveau. Donc on va le faire. J' ai laissé ce nom de société de Customers Union, puis en dessous que nous allons sélectionner le nom de la société parmi les fournisseurs. Et on y va. Il s'agit d'une liste de toutes les entreprises qui sont soit des fournisseurs pour les clients. Maintenant, il y a une deuxième itération de ceci, qui est l'union tout et ce que l'union fait c'est qu'elle ne supprime pas les doublons. Donc si tu l'avais fait, disons que nous essayons d'obtenir des noms de pays de la coupe, il n'y aurait qu'un record pour l'Argentine ou États-Unis États-Unis si tu faisais l'union. Mais si vous alliez tout cela aurait un record pour chaque entreprise qui a un pays des États-Unis aurait un duplicata là-dedans. Alors montrons un exemple ici, Belles villes. Je veux donc toutes les villes, y compris les doublons de nos clients et fournisseurs. Alors on y va. Donc au lieu du nom de la société, on va faire la ville et la ville. Maintenant, si nous l'avons fait avec juste union, vous auriez une liste de 93 villes uniques. Mais si nous faisons le syndicat, nous avons 120 villes au total, y compris les doublons, pas à votre tour. Retrouvez tous les pays distincts de nos clients et fournisseurs et placez-le dans l' ordre alphabétique . Donc, vous avez besoin dans l'ordre par clause à la fin. Alors arrêtez la vidéo, voyez si vous pouvez revenir avec les différents pays de clients et de fournisseurs. Ok, donc on va aller avec le pays du client, et comme c'est unique, je vais faire l'union dans son pays. Et ils étaient au fond. On va commander acheter des descendants de pays. On y va. Il y a une liste alphabétique de pays et vous pouvez faire ascendant si vous voulez à l'autre ordre. Essaie celui-là. Je veux une liste de tous les pays de nos fournisseurs et clients avec un record pour chacun . Inclure donc les doublons. Mettez la vidéo en pause et revenez quand vous l'avez. Donc la seule différence entre celle-ci dans la dernière, c'est que cette union le fait ici. Et C, Nous avons dupliqué le Brésil de l'Australie de l'Argentine ainsi de suite. Très bien, dans la prochaine vidéo, on va couvrir les sous-requêtes utilisant Exist. On se voit alors. 12. Subquery utilisant DES EXQUis: D' accord. Dans cette vidéo, nous allons couvrir les sous-requêtes Using exists now a sub Queary est où vous avez une autre instruction select dans la clause where de votre 1er 1 Donc cela prend un peu de s'y habituer, mais une fois que vous êtes familier avec elle deviendra la seconde nature. Mais c'est avec existe. Vous avez sélectionné vos colonnes à partir d'une table où existent et fondamentalement, il semble voir si cette condition est remplie dans le sous queer. Et si cela est atteint, alors il tirera l'enregistrement de la première table hors. Maintenant, c'est très abstrait. Donc, nous allons entrer dans un exemple concret ici. Je veux donc trouver tous mes clients qui ont passé une commande en avril 1997. Alors on y va. Nous allons sélectionner, et je vais juste faire le nom de la société de clients là où il existe. D' accord. Et puis c'est là que la magie s'est produite. Donc, nous voulons voir si le client Haddon commande Avril de 1997. Donc on va le faire ici. On va sélectionner pour ça au client que je viens de la frontière. Où maintenant c'est la partie intéressante. Donc, vous devez fondamentalement traverser de votre première table à votre deuxième table donc se tenait de attenant. Vous allez avoir la condition dans la sous-requête. Laisse-moi te montrer comment ça marche. Donc, c'est là que les frontières point client I d égal et que vous faites le nom de la table de l'extérieur client point client i d Et puis la deuxième clause est l'état de la commande et nous allons aller mettre ceci sur une autre ligne ont été commandés date entre et il était Avril. Donc ce sera 0401 et 04 31. Ça vient de cette requête. , Ce que j'aime,c'est que ça te dira si tes rendez-vous sont annulés. n'y a donc pas 31 jours en avril. Mais si vous mettez 30 hit run à nouveau. Ici, tu y vas. Nous avons donc eu 27 clients qui avaient une commande à partir d'avril. moment, cemoment, vous auriez pu le faire avec un joint, vous voyez, voyez, vous auriez pu le rejoindre, mais la chose que le joint ne vous laissera pas faire est de trouver des clients qui n'avaient pas de en avril 1997. Donc, revenons en arrière et regardons cela pour que si nous disions où il n'existe pas, nous pouvons maintenant nous retirer. 64 clients n'ont pas reçu de commande en avril 1997. Maintenant, vous pourriez avoir des jointures dans votre sous-requête. Alors regardons un comme ça. Quels produits n'ont pas été commandés en avril 1997 ? Donc on va aller avec le nom du produit. C' est à partir de produits et où il n'existe pas. Produit I d. Et nous commencerons avec nos détails de commande. Et puis nous rejoindrons ces commandes d'orteils parce que la date est dans les commandes et les idées de produits dans les commandes. détails des commandes sur les commandes point ordre I d égal les détails de commande que l'ordre I D. Et puis nous avons où et ici nous allons devoir rejoindre, donc nous savons que ce sont les détails de la commande. Une sorte d'idée de client va être produit i d produits dans la date de commande. Avril 1997. Alors courons et voyons ce qui se passe ici. Ok, j'ai un sort correct. Donc c'est le nom du produit et on y va. Nous avions 23 produits qui n'ont pas obtenu une seule commande en avril 97. Maintenant, c'est ton tour. Donc, trouver tous les fournisseurs avec le produit qui coûte plus de 200$ pause la vidéo, faire cela avec un des griffes existantes et trouver tous les fournisseurs avec le produit qui coûte plus de 200$. Ok, allons avec le nom du produit des produits où il existe et sous-requête nous allons faire nous avons besoin du nom de l' entreprise des fournisseurs et ensuite nous allons sélectionner le produit I d des produits où produits point fournisseur I d égal aux fournisseurs Fournisseur I D. Et regardons ici dans notre catégorie de produits, consultez nos colonnes. Donc, c'est un prix unitaire supérieur à 200$ et nous avons une entreprise qui a des produits qui ont un prix unitaire plus élevé en $200. Bon, maintenant nous voulons trouver tous nos fournisseurs qui n'ont pas de commande en décembre 1996. Donc, pause la vidéo essaye de trouver la requête qui utilise existe. Dans ce cas, il n'existera pas. Et tous les fournisseurs qui n'ont pas de commande en décembre 96. Ok, celui-ci est un peu plus compliqué, mais ça commence par des fournisseurs, et on va exister maintenant. Je vais faire une série de jointures ici. Donc on va partir de produits. On va devoir se joindre à ça pour commander les détails, et ça va être rejoint avec le produit que je D. Et pour avoir le jour, on va aussi devoir rejoindre, , Borders. Cela va être l'ordre i d. Maintenant, nous relions les deux par le fournisseur i d. Donc, il est des produits point fournisseur I d égal aux fournisseurs Die fournisseur I d. Et au lieu du prix que nous recherchons jour de commande dans son en Décembre si je devais mettre ce sur une autre ligne et le rendre plus facile à lire Et il est entre décembre Donc, le 1996 12 1 en 1996 12 31 et bien, exister d'abord, qui wow un produit I d. Donc, nous avons besoin de faire des produits, donc nous lui donnons un peu plus de structure. Ce sont donc les entreprises qui ont eu des commandes. Maintenant, nous voulons gagner sur ceux qui ne l'ont pas fait. Alors on y va. Ces entreprises n'ont vendu aucun produit. Noël de 1996. D' accord. Ensuite, nous allons faire quelques requêtes en utilisant n'importe quel et tous les voir 13. Subquery utilisant N'importe Pays.: art. Dans cette conférence, nous allons couvrir faire des sous-requêtes en utilisant tous les opérateurs. Donc, la syntaxe de base de tout est que vous allez sélectionner des noms de colonnes à partir d'une table et c'est où et c'est n'importe quelle colonne que vous utilisez un opérateur, et qui pourrait être égal, supérieur, supérieur ou égal à inférieur ou égal ou inférieur à pas égal. Et puis tout. Et puis vous sélectionnez la valeur à laquelle les opérateurs seront comparés. Et si l'un de ceux qui reviennent sont valides et qu'il sélectionne l'enregistrement. Maintenant, nous allons vous montrer avec un exemple facile Ici, nous allons trouver nos clients qui ont commandé un produit avec plus de 50 articles sur un seul produit. Ok, alors commençons à éclaircir ça. Donc, nous allons sélectionner le nom de la société parmi les clients où le client I d. est égal à n'importe quel client sélectionné I d. De Nous commençons par Borders, mais nous devons le joindre pour les détails de la commande. Bien sûr, nous utilisons l'ordre. Je suis là, c' est vrai. Cela doit avoir un trait de soulignement. Indiquez l'ordre d'arrêt i d. Où les détails de la commande sont la quantité. Donc, où la quantité est supérieure à 50, tout droit. Et nous avons 25 entreprises qui ont commandé quelque chose d'une quantité supérieure à 50. Maintenant, c'est ton tour. Trouvez tous les fournisseurs qui ont passé une commande avec exactement une idole. Alors arrêtez la vidéo et revenez et je vous montrerai ma solution. D' accord ? Donc, au lieu de clients va être fournisseurs et il va être fournisseur I d égal. Et maintenant, on va devoir faire quelques joints ici. Donc nous allons faire le fournisseur I d. des produits joints aux détails du trimestre. Il dit produit I d. Et puis le conditionnel est où la quantité est cool un. Nous avons donc eu 11 entreprises qui ont passé une commande d'article unique dans un détail de commande donné. Bon, maintenant tout est exactement la même syntaxe que vous remplacez par tous. Et ce que cela fera, c'est qu'Onley choisira les records où ils correspondent tous. Donc, titre d'exemple, nous allons trouver nos fournisseurs qui avaient des quantités de commandes supérieures à la moyenne de tous les produits. Donc, pour ce faire, nous allons sélectionner les produits principaux du produit, et nous allons le rejoindre pour les détails de la commande. On dit au produit i d égal aux produits point produit i d. Où. Détails. Vous devez lui donner le nom de la table parce qu'il y a deux champs appelés Christ un dans les produits et un dans les détails de l'ordre, fois la quantité. Donc ça vous donne le montant dépensé est supérieur à la moyenne de cette même quantité. Ici, quelqu'un couper et coller ceci pour enregistrer la saisie. Donc, c'est la moyenne de cela à partir des détails de la commande. Tu sais, on va tout regrouper, ID du produit. Donc, ce que cela dit, c'est que nous voulons chaque nom de produit où il a des commandes qui sont supérieures à la taille moyenne des commandes de tous les produits. Voyons donc combien de produits nous avons qui correspondent à ce projet de loi. Nous avons 16 dossiers maintenant, si nous voulons distinct, nous allons avec distinct ici. Et c'est trois produits qui avaient 16 commandes qui étaient plus élevées que la moyenne de tous les produits dans les dossiers. Maintenant, c'est votre tour, et nous allons trouver tous les clients distincts qui ont commandé Maurin un article que le montant moyen de la commande par article de tous les clients. Maintenant, c'est une requête assez difficile, alors ne vous découragez pas. Je vais te montrer comment le faire. Mais mettre en pause la vidéo en utilisant la précédente comme modèles. Voyez si vous pouvez travailler avec ça et sinon, revenez et je vous montrerai comment le faire. On y va. Donc nous voulons distinct ça va être le nom de la société. Et d'abord, nous allons rejoindre, puis les commandes des orteils quand les clients sont morts. Le client I d est égal aux frontières. L' ordre i d. Ils devaient joindre les détails de la commande, mais au lieu d'idées de produit va être ordre, je le ferais parce que nous venons à elle de l'autre direction et où et encore, c'est ce prix unitaire fois la quantité est plus grand que tous. Ce sera la moyenne du prix unitaire et de la quantité à partir des détails de la commande. Mais au lieu du produit, on va aller dans l'autre sens. Donc on va joindre les ordres sur c'est pareil. C' est là-haut ? Et on va regrouper par idée de client. Ici, nous allons égal à Ok, ça a du sens. Je dois le changer. Société dans son nom de société en cours d'exécution à nouveau. Et nous y voilà. Nous avons 53 clients qui ont une commande supérieure à la commande moyenne de tous les clients réunis. D' accord, on va aller à quelque chose de plus facile suivant. Il utilise la clause in avec une sous-requête voir dans la vidéo suivante. 14. DANS l'utilisation de Subquery: La vidéo qu'on va couvrir avec le sous-marin. Donc, dans ce, vous avez votre sélection et puis où ? Colonne dans. Au lieu de lister les valeurs, vous allez sélectionner la valeur. Ainsi, les valeurs que vous sélectionnez doivent correspondre à la colonne qui se trouve dans votre instruction in. Mais si vous faites cela, alors vous pouvez construire dynamiquement la liste par rapport à statiquement, en les tapant tous. Laissez-moi vous donner un exemple. Nous allons trouver nos clients qui se trouvent dans les mêmes pays que nos fournisseurs. Bon, alors allons par ici. Nous voulons donc sélectionner le nom de la société parmi les clients dans lesquels se trouve un pays. Et au lieu de les énumérer ici, nous allons sélectionner le pays parmi les fournisseurs. D' accord, exécutons cette requête. Nous avons 69 clients qui sont dans les mêmes pays. Sont fournisseurs sont maintenant c'est à votre tour. Trouvez tous les fournisseurs qui sont dans la même ville qu'un client si très similaire au dernier . Cause la vidéo et revenez. Ok, donc on va faire une liste de fournisseurs au lieu de pays par ville. Laissons cette requête et nous avons cinq fournisseurs qui sont dans la même ville que nos clients . Maintenant, dans la prochaine vidéo, on va couvrir l'insert dans donc, vous savez 15. 38 38 DANS: OK, dans cette conférence, nous allons couvrir insert dans. Jusqu' à présent, nous n'avons sélectionné et examiné que les enregistrements qui existent dans cette section. Nous allons commencer à parler de la façon de modifier les enregistrements dans la base de données, et nous commençons par mettre un nouvel enregistrement dans une table. Donc, les taxes de base sur le péché insèrent dans vous nommez la table et ensuite améliorer les mers. Vous listez les colonnes que vous allez avoir des valeurs pour que ses valeurs et entre parenthèses, les valeurs réelles à insérer dans la table. Alors allons avec un exemple ici, nous allons créer une nouvelle commande pour notre client. Donc, tout d'abord, jetons un coup d'oeil aux clients ici ou au nom de l'entreprise là-bas. Et si on passe les ordres des orteils, puisqu'on va créer une table un record pour cette table, on a besoin d'orteils. Avoir quelque chose pour tous ces champs. Donc je vais d'abord chercher ce que cette personne a déjà commandé. Donc, nous allons sélectionner vide parmi les commandes où le client I d égal à inepte. D' accord, et ça va nous donner ce que je cherche principalement, c'est où ils l'expédient donc en gardant cela à l'esprit, dirait que tout ce qu'ils ont commandé a été expédié là-bas. Alors je vais exploser ici. Je vais commencer à créer mon insert dans les porteurs, et ensuite nous avons besoin de la liste ici. Les champs. Maintenant, normalement, votre ordre I d serait un champ d'incrémentation automatique, donc essayons-le sans spécifier l'ordre. Je l'ai déjà dit. Donc on va devenir le client I d employés. J' ai la date de commande. Et je suis juste en train de lire la liste ici des champs qui sont dans ce tableau requis navire jour , date de livraison. Le de Phil nom de Phildevrait s'adresser au vaisseau City. Je ne vais pas faire de région parce que je pense que toutes les régions ont été aussi, nous allons laisser ça hors, Phil Code Postal et ensuite le pays d'expédition. Ok, donc ce sont tous les champs maintenant, on va faire nos valeurs. Et le client, c' est-à-dire le net est-il un employé ? On dirait que je vais juste mettre un employé numéro 4 à la date de commande. Ok, donc, la date de l'ordre. Je vais faire 2017. Donc, nous redémarrons l'entreprise puisque toutes les commandes étaient de retour dans les années 90 et ils ont commandé le 16 sont requis date est 2017 19 Dash 30. Maintenant, dans ce cas, je vais interrompre la date du navire. Puisqu' on n'a pas expédié ça, on va le faire et tout. Et puis on va expédier le, euh, Allons-y avec le numéro 3 maintenant. J' ai peur de mettre 42,50$ puis sur le nom du vaisseau. Je vais juste copier où ils ont déjà expédié ça. Et la même chose avec l'adresse maintenant, parce qu'ils ont une apostrophe ici. Vous devez échapper à cela en faisant une double apostrophe comme ça pour que vous ne soyez pas déjà monté . Alors notre ville de navires sera celle de Prem, et je crois que c'est en France. Mais regardons ici, c'est. Mais notre code postal est 5100, puis le pays est la France. Donc on va essayer ça maintenant. nous manque une virgule ici, alors prenons le commun et ça dit juste ici que notre journée est hors de Oh, parce que ce n'est pas 19 mois. Il y a 19 mois là-dedans. Bon, alors maintenant quoi ? J' ai remarqué ici quand je construisais, c'est que je ne peux pas être non. Donc, cela signifie qu'ils ne l'ont pas configuré comme un incréments automatiques. Donc, avant que nous puissions le faire, nous devons voir ce que l'ordre Max I d. actuel est de la table commande quelques quelque chose de haut blanc dans votre fenêtre ici et l'exécuter. Il va juste exécuter cette instruction. Donc, cela montre que notre commande Max est de 11 000 et 77. Donc on va mettre de l'ordre , et ensuite on va mettre ça ici. Mais bien sûr, nous devons le faire. Il est coincé. On doit mettre une virgule. Mais ensuite, nous voulons le porter à 78. Exécutons cette déclaration. Je vais me débarrasser de ça. Sélectionnez ici et nous y allons. Nous avons maintenant inséré dans les commandes notre première nouvelle. Maintenant, c'est à ton tour. Donc vous allez insérer un détail de commande pour cette commande que nous venons de créer, et nous voulons en faire une quantité de 20. Et nous voulions être le cas si Cabrera ias vous devez rechercher l'idée de produit pour voir quelle idée de produit qui est, et un prix de 14$. Alors arrêtez la vidéo et revenez et je vous montrerai. Ok, donc nous allons aller ici juste écrire l'ordre i d. Donc, tout d' abord, sélectionnons Oh, à partir des produits. Nous sommes le nom du produit. Et je vais juste faire pourquoi ? Parce que je ne me souviens pas du plein si tu es là. Ok, donc on a un produit. Une affaire. Donc le produit de Correa i d de 11. Alors nous voulons venir ici et regardons un détail de commande. Nous allons donc insérer dans les détails de la commande, et nous avons besoin d'une commande. Je d. Donc je suis juste en quelque sorte de descendre la liste ici et de les mettre tous dans mon produit de déclaration i d prix unitaire, quantité et remise. Et puis nous allons avec des valeurs. Leur commande était 11 078 Notre produit I d. était 11 donc nous avons obtenu un prix unitaire de réduction $14 Quantité de 20 et pas de réduction. On y va. Il est exécuté que et bam, Nous avons inséré avec succès un enregistrement pour les détails de commande pour cela. Au cours de la prochaine conférence, on va couvrir la mise à jour, voir 16. MISE à jour: cette conférence. Nous allons couvrir la mise à jour, et cela vous permet de changer les enregistrements existants. Il est donc de mettre à jour le nom de la table dans laquelle vous allez le faire, puis définir et colonne valeur égale afin que vous puissiez mettre à jour une ou plusieurs colonnes autant que vous le souhaitez. L' important est de vous assurer que vous avez au courant, car si vous exécutez ceci sans où j'ai fait, vous mettrez à jour chaque enregistrement de votre base de données, qui n'est probablement pas ce que vous vouliez faire. Beaucoup de fois, je vais commencer par écrire une instruction select pour m'assurer que je sélectionne les bons enregistrements, puis le passer à une instruction de mise à jour après que je sache que la colonne where est correcte. OK, donc on va mettre à jour l'ordre que nous venons de créer. Ils sont revenus et ils ont dit, mec, on n'a pas besoin de ça le 30. On doit l'avoir plus vite. Donc on avait besoin du 20ème 0 au fait, le coût d'expédition pour ça va augmenter à 50$ pour que nous vous l'arrivions plus vite. Alors allons jeter un oeil à la façon de faire ça. Donc, tout d' abord, nous avons besoin de l'ordre. J' ai été 11 0 78 Donc on va mettre à jour les ordres et on va fixer la date. Qu' est-ce que cette année ? 2017 09 20. Et nous allons également mettre à jour le fret à 50$ Maintenant, plus important, mettre dans un ordre d'usure rd égal 11 0 78 Là, nous allons. Et ça vous dit en bas, que vous avez mis à jour un enregistrement. Maintenant, c'est ton tour. Donc, nous allons aussi mettre à jour les détails de commande que nous avons créé la dernière vidéo conférence. Donc ils en veulent 40 au lieu de 20. Et à cause de ça, on va leur donner une réduction de 5%. Donc 50.5 réduction maintenant les détails de commande n'a pas sur je d sentir, ce qui est vraiment un mauvais design. Vous devez donc être prudent dans la clause where pour vous assurer que vous mettez à jour les bons détails de commande . Comme il n'y a pas de détail de commande sentir maintenant, ce cas n'est pas important parce que nous avons seulement inséré un enregistrement, mais dans une vraie base de données, ce serait important. Donc ici, nous allons mettre à jour les détails de la commande et nous savons qu'il faut changer. La quantité va maintenant être de 40 et la réduction au lieu de zéro va être de 5% ou 50,5 et nous avons la commande. I d est égal à 11. 78. Maintenant, avant de lancer ça, sélectionnons juste vide dans les détails de la commande et ça revient à ce que je vais juste le mettre en évidence . Donc, juste cette partie s'exécute si vous exécutez cela sans cela, elle mettrait à jour tous les enregistrements de votre base de données, qui n'est pas ce que vous voulez. Donc nous avons ici quelques détails ici, et ce que je vais faire, c'est parce que normalement vous auriez plus d'un détail que je vais aussi faire et le produit je suis égal à 11. Alors on y va. Alors faisons-le ça. Et nous avons mis à jour avec succès un enregistrement. Maintenant, la prochaine vidéo, on va fermer la boucle, et on va parler de supprimer des enregistrements 17. SUPPRIMER: d' accord. Dans cette conférence, on va couvrir la suppression. Donc, la suppression des taxes péché supprimer du nom de la table et de l'état d'usure. Maintenant, le pire sentiment au monde est quand vous exécutez une suppression sans savoir que vous supprimez tous les enregistrements de la table. Je l'ai déjà fait. C' est terrible. Sois très prudent avec la piste. Et toujours vérifier pour vous assurer que vous avez état conscient. Commençons donc par supprimer le détail de la commande que nous avons mis dans la dernière fois. Ils ont donc annulé leur commande. Supprimons donc le détail de la commande pour commencer à nettoyer la base de données. Alors on y va. Maintenant, tout d' abord, nous allons sélectionner pour nous assurer que nous savons lequel tirait alors sélectionnez les détails de la commande. Alors faisons ça. Et bien sûr, cette commande I d. 11 0 78 produit I d 11 a un record. Donc nous allons supprimer de cet avis. J' ai commencé avec la sélection afin que je puisse vérifier deux fois. Et puis on y va. Nous avons supprimé un enregistrement. Maintenant, c'est ton tour. Supprimez la commande du client en utilisant cette idée de commande. Supprimez donc l'enregistrement de commande avec l'idée de commande de 11 000 et 78. Arrêtez la vidéo et revenez et je vous montrerai comment je l'ai fait. Ok, donc maintenant on va supprimer des ordres. Où l'ordre I d est 11. 78. Maintenant, je vais juste par bonne habitude. abord, je vais commencer par sélectionner Blank dans les commandes, mais le surligner afin qu'il n'exécute pas la suppression. Et oui, c' est l'ordre que nous voulons. Donc on va supprimer ce disque. Bam ! Nous avons supprimé un enregistrement. Alors c'est tout. Supprimer est assez simple. Tant que vous vous souvenez de la clause where Ensuite, nous allons sélectionner dans 18. SÉLECTIONNer DANS: d' accord. Dans cette vidéo, nous allons couvrir Select Into. Donc, votre syntaxe de base ici est que vous allez sélectionner quelques colonnes dans une nouvelle table. Donc, cette syntaxe crée une nouvelle table à partir d'une ancienne table et vous pouvez ajouter une condition consciente. Alors, nous allons y sauter. Je vais vous montrer comment utiliser cela pour créer des sauvegardes de tables. Souvenons donc tous nos fournisseurs en Amérique du Nord. Donc, par ici, on va aller sélectionner. Ils allaient choisir tout ce qu'on appellerait ça. Il exige l'Amérique du Nord de fournisseurs où pays et États-Unis au Canada. J' ai regardé à l'avance, et c'est les deux seuls pays que nous ayons et l'Amérique du Nord. Alors faisons-le ça. D' accord. Et il a sélectionné six enregistrements. Maintenant, pour voir ça ici, on va devoir le rafraîchir. Donc, si nous allons apparaître au schéma public, nous pouvons faire actualiser. Et si on regarde ici sous les fournisseurs, tu verras les fournisseurs Amérique du Nord. Il a donc créé une table à l'aide de ces champs à partir du fournisseur. Maintenant, si nous continuons, nous sélectionnons simplement tout, de simplement changer ceci à partir des fournisseurs. L' Amérique. Débarrassez-vous de ça. Lancez-le et on y va. C' est les six fournisseurs qu'ils ont trouvé cet air en Amérique du Nord. Maintenant, c'est ton tour. Nous allons créer une sauvegarde de vos commandes en 1997 et nous allons créer une nouvelle table. Les ordonnances soulignent 1997. Donc, mettez la table en pause, créez l'instruction select in. Reviens et je te montrerai ma solution. OK, donc nous allons sélectionner tous les champs et aller apparaître les commandes orteils dans les commandes en 1997 à partir des commandes dont la date frontière est comprise entre 1997 janvier. Le premier en 1997 le 31 décembre a marqué et couru, et il a sélectionné 408 records pour entrer dans la nouvelle table. Et encore une fois, si nous montons ici et nous nous rafraîchissons, vous verrez que nous avons maintenant de nouvelles commandes. 1997 capable créé, droit, Et la prochaine conférence, nous allons couvrir insérer dans sélectionner 19. INSERT DANS SÉLECTION: d' accord. Dans cette conférence, nous allons couvrir, insérer dans l'utilisation de select et vos impôts de base sur le péché que vous insérez dans le tableau 2. Donc, cela ne crée pas de table. Vous devez en avoir un existant. Vous listez les colonnes, puis vous sélectionnez ces colonnes dans la table 1, où les conditions sont remplies. Assez. Tous les champs correspondent. Vous laissez cette liste de colonne et vous sélectionnez astuce cul de la table un où condition. Donc nous allons revenir en arrière et nous allons utiliser les tables que nous avons créées dans la dernière, et nous allons lui ajouter d'autres enregistrements, même si ce n'est , pas correct, parce que ça ne vient pas de Amérique du Nord. Mais nous allons ajouter à cette table pour montrer la syntaxe ici. Nous allons donc ajouter tous nos fournisseurs au Brésil et en Argentine aux fournisseurs Amérique du Nord. Alors on y va. Nous allons insérer dans les fournisseurs Amérique du Nord parce que nous utilisons tous les champs dont nous n'avons pas la liste des orteils. Nous allons faire une sélection dans la table des fournisseurs originaux, puis nous allons ajouter le pays en Argentine, au Brésil. Ok, donc il a inséré un enregistrement. Donc nous avions un fournisseur qui venait de l'un ou l'autre de ces pays maintenant c'est à votre tour. On va faire la même chose pour les ordres. Tableau 1997. Je veux que vous ajoutiez toutes les commandes de décembre 2016 à cette table. Je vais mettre la vidéo en pause, revenir et je vais te montrer comment j'ai fait. Ok, donc on va insérer dans les commandes 1997. Nous sélectionnons parmi les commandes, et nous voulons que la date de frontière soit entre aucune parenthèse. 1996. 12 était le premier décembre et le 31 décembre. Laissons ça. 31 nouveaux enregistrements ont été ajoutés à ce tableau. C' est donc votre insertion dans l'utilisation de sélectionner l'étape suivante. Nous allons changer de vitesse et commencer à montrer comment créer des tables, des bases de données et des index, et nous allons commencer par créer une base de données, voir. 20. CRÉer une BASE de DONNÉES: Ok, cette conférence, on va couvrir la création de la base de données. La syntaxe est très simple. C' est juste créer une base de données, et ensuite vous lui donnez le nom de la base de données, donc nous allons créer North Wind pour entendre. Bon, allons par ici. Donc, il suffit de créer une base de données North Wind pour s'exécuter qu'il ressemble un peu différemment, mais il dit qu'il l'a créé avec succès. Donc si nous revenons ici à notre schéma, en fait, en fait, c'est ici sur les bases de données. Nous devons rafraîchir en cliquant avec le bouton droit et vous verrez, Voici notre vent Nord à la base de données qui a été créé ne sont pas votre tour. Créez une base de données appelée ma base de données cinq. Mettez en pause une vidéo, exécutez cette déclaration, revenez et je vous montrerai ma solution. Ok, donc c'est créer une base de données, ma base de données 5. Faisons encore courir. Nous devons actualiser cela, mais nous finissons avec ma DB 5 en tant que nouvelle base de données. Maintenant, je vais te montrer comment faire avec le gooey, ce qu'on a fait au départ quand on a arrangé ça. Mais vous avez raison, cliquez, vous allez créer une base de données, et je vais juste faire ma télé cool. On va le sauver. Je vais laisser toutes les valeurs par défaut Il y a beaucoup de choses supplémentaires ici qui couvriront plus tard. Mais en ce moment, on va juste faire ma base de données cool sauver. Et voilà. Il a ajouté ma base de données cool. Droit. Prochaine conférence. On va couvrir le contraire. Supprimez une base de données, reportez-vous à la section . 21. DATABASE DROP: dans cette conférence, nous allons couvrir la suppression d'une base de données. La syntaxe est très simple. Il est supprimé base de données, puis le nom de la base de données. Sachez qu'une fois que vous aurez fait ça, sauf si vous avez fait une sauvegarde, vous allez perdre toutes les informations là-dedans. Donc nous allons supprimer le North Wind dans la base de données que nous avons créée dans la vidéo précédente. Alors on y va. On va faire tomber la base de données, et on va faire que North est allé dans Let's run the 5. On y va. Maintenant, si nous rafraîchissons ça, vous verrez que le vent du nord n'est plus avec nous. OK, c'est ton tour. Supprimer la base de données. Ma base de données 5. Suspendre la vidéo. Lâchez-le. Reviens. Je vais vous montrer la solution. OK, c'est la même déclaration. C' est juste qu'on va faire ma base de données 5. On va recommencer ça. On est frais ici, et il est parti. Maintenant, faisons cela en utilisant le gooey avec celui-ci. Donc, vous faites un clic droit dessus. Et juste ici, vous avez suppression drop et il arrive et il vous donne une chance de dire que vous faites une erreur. On va l'effacer ici, et bam, on revient à nos bases de données d'origine du vent du Nord et après Greste. Ils sont notre prochaine étape est de créer une table. On se voit alors. 22. CRÉer une table: dans cette conférence, nous allons couvrir, créer une table. Donc on va couvrir la syntaxe de base. Vous pouvez ajouter des contraintes, des index et des valeurs par défaut. Mais pour l'instant, nous allons juste nous concentrer sur les champs et les types de données. Donc, la syntaxe de base est create table. Vous avez votre nom de table, puis entre parenthèses, vous avez une liste hors noms de colonne suivie du type de données séparé par des commentaires. Voyons maintenant vos types de données d'énergie, ce qui est que vous avez. Examinons vos types de données énergétiques de base. Donc, vous avez un petit imageur et Big Tante. Et la grande différence ici est le nombre de la taille de celui-ci dans la gamme. Donc, pour le petit, vous passez de négatif 7 32,068 à positif pour l'imageur. Vous avez un nombre beaucoup plus important. Il est dans le nous allons voir ici des milliards et puis grand get est sur énorme nombre. Donc, si vous avez quelque chose qui nécessite plus que gros dedans, vous devriez aller flotter. Maintenant, il existe un autre ensemble de types de données. Ils sont exactement les mêmes que vos types de manager, sauf une céréale appelée et ce que ces air servent si vous avez un que j'ai rempli. Et chaque fois que vous insérez un enregistrement, ils l'incrémenteront automatiquement afin que vous n'ayez pas à le rechercher pour voir Ok, quel est le plus grand nombre que j'ai déjà mis dans ? Il va automatiquement ajouter le suivant à lui. Donc les petites céréales vont de 1 à 30 17 2067. Ensuite, vous avez série, qui vous amèneront jusqu'à deux milliards, puis grosses céréales, qui est la plus grande disponible dans le système. Maintenant, vous avez un autre ensemble d'entre eux qui vous permettent de le dire. Vous savez, combien de précision voulez-vous dans ces types de données et sa décimale en numérique et décimale, vous mettez en chiffres totaux et les chiffres dans les parties fractionnaires étaient le port après votre point. Donc, si c'est 2.31, deux seraient la partie normale, et alors 31 seraient vos chiffres dans votre fraction. Donc, vous avez à ce que vous pouvez utiliser pour cela et ils sont essentiellement les mêmes. C' est décimal en numérique. Maintenant, vous avez à virgule flottante, et ce ne sont pas des nombres précis. C' est en chiffres exacts, et vous avez vraiment, qui est quatre morsures, ce qui vous donne six décimales Ah, chiffres, précision. Et puis vous avez une double précision, qui est de huit octets, et cela va jusqu'à 15 chiffres décimaux. Maintenant, vous avez des types de données de caractère, et vous avez donc var char, qui est qu'il a un nombre variable de caractères stockés dans la base de données. Vous avez char, qui même si vous n'utilisez pas tout l'espace dans la base de données, il utilisera exactement en chiffres à chaque fois qu'ils sont dans des espaces de caractères à chaque fois que vous le mettez . Et puis vous avez un type final appelé taxe, qui est variable, données liées illimitées que vous pouvez mettre dans Maintenant, vous avez des types de données date heure. L' horodatage a à la fois la date et l'heure, et il va de 47 13 pour l'erreur commune, jusqu'à 294 276 a. D. Un temps très long. L' avenir. Je ne pense pas que je vais m'inquiéter du fait qu'il peut rouler à ce moment maintenant, date ou pour les dates sur Lee, il a un horodatage de plages similaires, mais vous n'avez pas la partie temps de celui-ci. Maintenant, avec le temps, tu as, uh, commençant par 000 jusqu'à 24 minutes et secondes. L' intervalle est quelque chose qui vous permet d'enregistrer les différences entre les temps et il peut stocker une énorme différence. Ah, ici, avec 178 millions d'années négatives et positives entre les deux horodatages. Maintenant, vous avez un type d'intimidation qui est juste des lingots, et c'est vrai ou faux. Maintenant, il existe d'autres types de données. J' ai mis un lien vers la documentation dans la section des ressources de ces vidéos et ça, vous savez, passe par là. J' ai énuméré les plus courants, vous savez, ils ont d'autres types de données, y compris, vous savez, adresses I P et toutes sortes de choses. Si vous êtes curieux, allez les jeter un oeil. Vous pouvez les rencontrer en fonction du type de données que vous êtes dans un magasin de votre projet . Maintenant, allons voir le gooey, et nous allons voir comment les tables sont construites dans le goop. Donc, si vous êtes curieux de savoir comment une table particulière a été construite, vous pouvez toujours faire un clic droit dessus. Et puis ici sous script, vous pouvez regarder le script de création et il vous donnera l'instruction qui a créé cette table, y compris les types de données et ce qui n'est pas. Et c'est donc, tu sais, que tu apprends ça si tu es curieux. D' accord. Comment ont-ils créé une table particulière ? Vous pouvez toujours cliquer avec le bouton droit de la souris et obtenir une vue du script. Maintenant, nous allons commencer par créer une table, et cette table sera pour nos abonnés à la newsletter. Donc on va l'appeler abonnés, on va faire le prénom, le nom famille email, signer la mise à jour fréquemment dans un lingot sur est un client. Bon, alors commençons par créer une table. Appelez ça les abonnés. On a nos parenthèses, puis on a le prénom, et je vais en faire un tableau à barres. 200, puis virgule. Nom de famille. Graphique à barres similaire 200. Va par email. Celle-là. On va faire 250 caractères. On a la date d'inscription, ce qui sera notre horodatage. Alors, on a la fréquence. Donc c'est à combien de fois ils voulaient. Je vais faire ce manager et enfin le client va être un brillant . Et cela a fonctionné avec succès. Maintenant, il ne s'affichera pas dans le gooey tant que vous n'aurez pas actualisé votre écran. Une fois que vous l'avez rafraîchi, alors vous pouvez regarder par ici. Vous verrez que nous avons des abonnés qui apparaissent. Et si on descend, on verra que les colonnes ont toutes été mises là, et maintenant c'est ton tour. Créons une table pour les retours. Nous voulons un champ I D, qui serait retourné. Comme on va le lier au client, tu devras aller voir. Comme on va le lier au client, Comment le client que j'ai défini dans la table des clients ? Date de retour du produit. Je d quantité dans l'ordre I d. Donc pause la vidéo, Voyez si vous pouvez venir avec votre déclaration de création de table, Revenez et je vais vous montrer comment ça ne me dérange pas. Ok, donc on va retourner. Je vais supprimer les champs ici. D' accord ? On va revenir. On va en faire une série. Ce qu'on va faire, client que je d. ça va être de cinq jours de retour à chaque heure. On a des produits. Je d qui est-ce ? Quantité, qui est petite. Et puis, enfin, commander i d. qui sera aussi manager. Maintenant, si vous vous demandez comment j'ai trouvé Custom droite, Ito doit être cinq. En fait, j'ai ouvert. Ouvrons une autre requête ici. Et je viens de sélectionner le client I d. de clients. Et ils étaient tous cinq personnages. Exactement cinq caractères pour tous. Et alors j'ai su que quand je l'ai créé ici, je devais en faire un char cinq pour pouvoir lier les deux. D' accord, allons courir, et on va rafraîchir notre schéma. Et puis nous regardons ici et nous avons une nouvelle table de retours avec ses colonnes. , Dans la prochaine vidéo, on va couvrir la table d'autel, ce qui serait la façon dont tu changeras les tables après leur création. Tu vois ça ? 23. ALTER TABLE partie 1: Très bien, cette conférence, on va couvrir la table d'autel. On va casser ça. C' est assez complexe parce qu'il y a beaucoup de choses que vous pouvez changer à propos d'une table, et donc nous allons la décomposer en différents scénarios. Donc, le scénario 1 va être renommer un champ. Donc, les bases dans les impôts, table d' autel, nom de table, et puis vous re nom que vous avez mis dans votre ancien nom de colonne, aussi, et puis suivi par le nouveau nom de colonne. Bon, donc on va renommer un champ dans la table des abonnés, et on va changer. Prénom à premier. Nom de soulignement. Affaire Ellis. Une de ces choses ici. Ça va être table d'autel et on fait que les abonnés vont renommer d'abord, grâce au nom cool First Underscore. On y va. C' est votre terme sur la table des retours ? Renommez la date de retour en retour. Souligner la date provoque le retour de la vidéo et je vais vous montrer la réponse. Ok, maintenant sur les retours. Donc on va faire des retours de table d'autel. On va faire une date retournée à ce jour. Soulignement. Je suis revenu. Ici, nous allons maintenant, pour voir que cela a fonctionné, vous devez courir. Rafraîchissez quand vous faites et vous verrez ça. Oui, ça l'a fait. mettre à jour le nom du champ. Maintenant, vous pourriez le faire dans le gooey aussi. Alors jetons un coup d'oeil ici. Je vais trouver la mise à jour de Sign. Vous pouvez cliquer avec le bouton droit de la souris sur Goto Propriétés, puis ici. Vous pouvez le réparer en faisant un trait de soulignement, puis appuyez sur sûr. Bon, maintenant, scénario à nous voulons renommer la table entière. Et la syntaxe pour cela est que vous modifiez l'ancien nom de table renommer trop nouvelle nuit. Nous allons donc renommer les abonnés en abonnés de messagerie électronique. On va s'abonner à la table d'autel, et ensuite on va renommer ça aussi. Abonnés e-mail frapper, Exécuter ! Et si on monte ici et rafraîchit notre vue, on verra Viola. Nous avons maintenant des abonnés e-mail que votre tour reste votre table des retours aux mauvaises commandes. Suspendre la vidéo. Reviens. Je ne vous montre pas la réponse. Ok, donc on va renommer les retours. Trop mauvaises frontières. Et si nous étions frais, vous verrez de mauvaises commandes au lieu de retours. Maintenant, tu pourrais le faire aussi dans le gooey. Donc je suivrais ça parce qu'on va le rappeler aux retours. Alors allez à de mauvaises commandes. Une fois que vous l'avez actualisé, cliquez avec le bouton droit de la souris sur goto propriétés, puis vous pouvez le modifier à nouveau en retours. Ici. C' est sûr. Et on y va. On va aller à la table d'autel, deuxième partie de la prochaine conférence. Voir là. 24. ALTER TABLE partie 2: sont dans cette conférence. On va couvrir la table d'autel, deuxième partie. Donc le prochain scénario que nous allons regarder est sur un champ et les taxes sur les péchés,table d' autel, table d' autel, nom de table, colonne d' annonce et type de données. Alors ajoutons un champ à notre table d'abonnés de messagerie et faisons le dernier soulignement Visite soulignée Date va être Nous voulons des heures de rencontres. Ce sera horodaté. Alors jetons un coup d'oeil à ça. Bon, donc on va modifier les abonnés au courrier électronique, et on va dire que chaque nom que nous ajoutons la dernière porte de visite, il y aura un champ d'horodatage. C' est le lancer. Et ensuite, si nous allons par ici et réactualisons les colonnes, nous verrons. Les dates des dernières visites sont apparues. Pas votre activation sur la table des retours dans un champ de texte appelé Raison. Appelle la vidéo. Va lui donner un coup de feu et je te montrerai ma solution. D' accord. Sur la table des retours, nous allons ajouter une raison. Ça va être un texto. C' est donc non structuré, un montant illimité d'impôt pour une raison. Lancez-le. Et voilà. On jette un coup d'oeil. On y va que nous avons maintenant raison ici. Maintenant, vous pouvez également utiliser l'outil gooey. Vous pouvez faire un clic droit, créer une colonne, puis lui donner un nom. Je vais faire un autre ordre, et puis vous devez cliquer sur la définition et choisir un type que je vais faire des lingots pour vrai faux clic sauver. Très bien, le scénario 4 est supprimé. Champ dans la syntaxe. Voici la table d'autel, le nom de la table, la colonne de dépôt, puis le nom de la colonne. Alors enlevons le champ que nous venons de mettre lors de leur dernière visite. Date des abonnements par e-mail. Ok, donc on va y aller, tu sais, les abonnés. Et ça va être lâche. Appelez-le la date de visite Blast. Vous le courez ici. Rafraîchir. Et cette colonne a disparu. D' accord. Maintenant, la dernière façon de le faire est d'utiliser l'administrateur PG gooey. On va y aller et on va bien, si on était frais, on verra que la raison est partie, et je vais faire un clic droit sur ce champ. Retourner l'ordre et frapper. Supprimer le dépôt. Ça me durera pour confirmer, et ça supprimera ce champ de la table. Dans la prochaine conférence, on va couvrir l'autel Table Park 3 c, puis 25. ALTER TABLE partie 3: D' accord. Et cette conférence, on va couvrir la table d'autel, troisième partie. Donc, le prochain scénario traitera est de changer les données. Tapez les taxes sur le péché, table d' autel, nom de la table. Vous modifiez le type de données du jeu de nom de colonne sur le nouveau type de données que vous souhaitez qu'il soit. Alors maintenant, on va changer. À titre d'exemple, l'email rempli et les abonnés e-mail deux de notre char avec une longueur de 2 25 Donc, nous y allons . Abonnés de messagerie de table autel, et il est vacillant. Appelez-le et la colonne est Jetons un coup d'oeil ici. E-mail. Nous avons été définis type de données. Je vais aller dur Shar à 25 ans. D' accord, on va faire ça. Et il a été couronné de succès. En ce moment, c'est votre tour sur la table des retours. Modifiez le champ Quantité en petite extrémité. Arrête la vidéo. Venez avec cette déclaration, puis revenez et je vous montrerai la réponse. Ok, donc on va aller à la table d'autel. J' ai rendu la quantité de table d'autel. Je veux définir le type de données deux petit, et cela a été réussi en ce moment. Vous pourriez faire la même chose avec l'administrateur PG. Gooey. Alors choisissons un rempli ici n'a pas vraiment d'importance lequel. Allons avec l'ordre, i d. Et si vous faites un clic droit dessus, vous pouvez voir les propriétés. Si vous passez à la définition des données, vous pouvez changer cela ici en choisissant un nouveau type de données grand et petit et tout ce que vous voulez faire qu'il avait enregistré. Annuler ici. Maintenant quoi ? Nous ne couvrirons ni contraintes ni déclencheurs. Il y a beaucoup de déclarations de table d'autel pour faire face à ça. On va couvrir ça plus tard. Nous allons entrer dans les contraintes dans les valeurs par défaut et les index et tout le reste. Droit ? Prochaine étape. Nous allons créer un index. Voir là. 26. CRÉer l'INDEX: Ok, cette vidéo, nous allons couvrir créer un index les impôts de base créer une unité d'index, donné un nom d'index sur une table spécifique, puis entre parenthèses. Vous listez les colonnes que vous vouliez être, et il peut s'agir d'une ou de plusieurs colonnes, et vous pouvez également créer un index unique, qui est la deuxième syntaxe ici. Et puis ce que cela signifie est qu'il ne permettra que des valeurs dans la table que l'air unique. Donc, s'il y a un autre enregistrement avec cette valeur qui rejettera les données et ne pas le laisser entrer dans la table maintenant, indexe air vraiment, vraiment important quand il s'agit de tables. Si vos recherches commencent à ralentir, c'est généralement parce que vous recherchez avec la clause aware. C' est sur un champ qui n'a pas d'index. J' ai trouvé que cela se produit généralement autour de 10 000 enregistrements ou plus par champ. Si vous ajoutez un index sicken, recherche peut aller de 10 secondes à une fraction de seconde. Maintenant, créons notre premier index, et nous allons le faire sur le champ e-mail de la table des abonnés de messagerie, et nous allons en faire un index unique. Alors on y va. Nous allons donc créer un index maintenant, typiquement dans le schéma de nommage. Je fais une combinaison de champ plus le nom de la table e-mail, et puis je ferais les abonnés de messagerie électronique sur les abonnés de messagerie, puis entre parenthèses fera le courrier électronique. Il est censé être unique, index. Alors, qu'est-ce que tu te souviens de ça ? Ajoutez que c'est ici, c'est bien, nous allons le faire. Euh, on ne l'a pas fait, ça doit être de nouveau du chlore. On y va. Maintenant, vous pouvez dire que vous n'avez pas d'index car il ya un index est ici, Donc, si nous actualisons sous nos index verront les abonnés e-mail. Maintenant, c'est ton tour. Donc, créez un index unique avec deux champs un client i d. Dans l'ordre I d sur votre table de retours. Mettez la vidéo en pause et revenez quand vous l'aurez. Ok, donc ce n'est pas un index unique, et il va être sur le client i d. retour Border Rd et la table est les retours. Mais maintenant, il est deux champs le client. Je serais dans l'ordre, je vais faire ça. Encore une fois, si nous allons regarder, on revient après l'actualiser, vous verrez que nous avons cet index ici. Maintenant, vous pouvez faire la même chose en utilisant le gooey alors jetons un coup d'oeil à ça. Vous pouvez descendre ici et des index, et vous pouvez créer un nouvel index. Maintenant tu dois lui donner un nom. Et alors voyons. Je vais le faire. Date renvoyée pour les retours, puis dans la définition. Maintenant, il y a un plus ici, et tu veux frapper ? En plus, et ensuite je vais choisir là. Je vais tout laisser comme la valeur par défaut entrera dans cela dans un cours avancé que je ferai plus tard. Mais si les valeurs par défaut fonctionneront juste espace de table fin. Donc, vous devez également choisir votre espace de table par défaut. On y va. Said sauver et il le crée juste là. Maintenant, la vidéo suivante va être drop index, qui est l'inverse de create index. Voir là. 27. INDEX: d' accord. Dans cette conférence, on va couvrir l'indice de chute sur l'index de chute. La syntaxe est très simple. C' est juste l'index et le nom de l'index. Si vous ne vous souvenez pas du nom de l'index, vous pouvez l'obtenir en regardant dans le gooey aux index. C' est juste ici, et vous pouvez vous rafraîchir pour vous assurer de les voir tous. Mais cela vous donne une liste des noms car parfois il est difficile de se souvenir, bien que si vous utilisiez un schéma de nommage où sa table de soulignement de champ ou s'il s'agit de plusieurs champs de soulignement de champ dans la table de partition. C' est assez facile de se rappeler comment vous les nommez, non ? Donc on va commencer par un exemple, et on va laisser tomber l'email. Index des abonnés de messagerie électronique sur la table des abonnés de messagerie Donc, nous y allons. Drop index, vous connaissez les abonnés de messagerie. Laissons-le. On y va. L' a laissé tomber avec succès. Maintenant, c'est ton tour. Déposez votre client. I d ordre I d retourne Index sur votre table de retours. Pause la vidéo, tirez la commande ensemble, Revenez et je vais vous montrer mon exemple. Ok, donc dans celui-ci, on va faire le client. I d ordre I d retourne. Si on y va et qu'on était frais, tu verras ça. Oui, il l'a fait, en effet. Lâchez-le maintenant il y a une autre façon de le faire qui est à travers le gooey. Et vous pouvez juste faire un clic droit dessus et appuyez sur, Supprimer, déposer et appuyer. OK, et ça fera la même chose. Droit ? Prochaine conférence. On va couvrir la table de dépôt. 28. 51 TABLE DROP: D' accord. Cette conférence, on est dans une table de couverture. C' est le contraire de créer une table. La syntaxe est très simple. C' est la table abandonnée, le nom de la table. Bon, alors allons avec un exemple de se débarrasser de notre table d'abonnés de messagerie. Donc, au lieu de faire tomber l'index, il va être abandonné. Les abonnés au courrier du tableau E l'exécutent. C' était un succès. Si nous actualisons la vue ici, vous verrez ça. Non, écoutez, plus d'abonnés au courriel. Maintenant, c'est ton tour. Déposez la table des retours, mettez la vidéo en pause jusqu'à ce que vous l'ayez fait. Reviens et je te montrerai ma solution. Ok, Drop table revient. Allons frapper. Courez ! On y va. On est frais. Et bien sûr, c'est parti. Maintenant, tu pourrais faire ça dans les gulyas. Eh bien, je vais prendre celui-là. Faites un clic droit, supprimez le dépôt. Et je vais annuler ici. Mais si vous vouliez le supprimer, vous toucheriez. Ok, on va entrer dans le monde des contraintes, et on va commencer par ne pas savoir, prochaine fois que je les verrai 29. NULL contraint à contrainte: à droite. Cette conférence va être sur la contrainte non nulle. Donc, d'abord, parlons juste des contraintes. En général, une grande partie d'avoir un bon système de base de données est de contrôler les données qui entrent dans les tables. Vous commencez par votre type de données et c'est le type de contrôle le plus basique où vous dites que je veux des nombres. Je veux un texto. Je veux seulement que les champs soient aussi gros, mais au-delà, vous devez avoir un meilleur contrôle autour de ça. Et c'est là que les contraintes entrent en jeu. L' une des raisons pour lesquelles vous en avez besoin est souvent l'administrateur de base de données. Vous ne pouvez pas contrôler le code qui est écrit et d'autres parties de l'entreprise. Mais si vous mettez des contraintes, alors vous pouvez rejeter inondé qui ne le correspond pas. Et cela empêchera beaucoup de mauvaises données d'y entrer, ce qui pourrait prendre des semaines ou des mois avant que quelqu'un ne s'aperçoive et provoque un gros gâchis. Très bien, donc quels sont les types de contraintes que vous avez ? Je ne sais pas ce qui dit qu'un champ doit avoir une valeur dont vous avez besoin. La valeur ne peut pas être déjà dans la table. Clé primaire, qui est une combinaison de la première à. Il ne permet pas le nez, et il s'assure que chaque insertion est unique. Et de cette façon, si vous avez cette clé primaire, alors il n'y a qu'un seul enregistrement dans la base de données pour une valeur donnée pour les vérifications de clé étrangère de clé primaire pour voir si cette valeur existe dans une autre table. Donc, par exemple, vous savez, dans notre table de retours, nous avions le client I D, qui est en fait la clé primaire d'une autre table, et donc nous en ferions une clé étrangère. Ensuite, il y a la contrainte de vérification, qui vous permet de mettre de la logique là-dedans, pour dire que cela doit être certaines valeurs ou qu'il doit être supérieur ou inférieur à cela. Et il n'autorisera pas les données qui ne répondent pas à cette contrainte de vérification. Et puis il y a une contrainte par défaut qui dit, Si aucune valeur n'est fournie, c'est ce que je vais mettre là maintenant, nous allons commencer par, pas savoir. Et voici la syntaxe. Lorsque vous créez une table, vous dites type de données de colonne, puis ne savez pas après le type de données, nous allons commencer par créer une table. Maintenant, on va avoir deux tables. On va le laisser tomber et recréer um, en ajoutant plus, plus de contraintes. Au fur et à mesure, on appellera celui-là des pratiques, et on aura un champ appelé la pratique I D. et on ne veut pas que ce domaine soit. Non. Alors allons voir ça. Alors on y va. On va créer des pratiques de table. Je vais commencer par un seul a rempli le cabinet. J' ai l'impression que ça va être un manager et que je ne sais pas. Alors faisons-le ça. D' accord ? Je m'entraînais à faire ça à l'avance, donc je dois le laisser tomber d'abord. On y va. Bon, maintenant nous avons notre table d'entrainement, pas votre tour. Je veux que tu lâches cette table qu'on vient de créer. Donc on a la table de dépôt. J' ai mis un point-virgule, donc il exécute une déclaration séparée, puis le recréer. Mais avec des idées de pratique, un domaine de l'énergie et de la pratique, qui est de Arch sont 50 et tous les deux n'étant pas non. Mettez la vidéo en pause et revenez quand vous l'aurez fait. Donc on avait déjà une table de rendez-vous ici. Nous sommes dans le champ d'entraînement d'Atacama, et ça va être la marche sont 50 et il est également pas connu exécuter maintenant. Parfois, vous voulez le faire une fois que les champs sont déjà créés la table. Vous vous rendez compte que vous avez besoin de contraintes supplémentaires. Donc, voici la syntaxe pour le faire. Vous modifiez la table, donnez le nom de la table Alter colonne nom, puis définissez. Je ne sais pas, faisons un exemple ici. Prenons le champ de prix unitaire dans la table des produits et il n'y avait pas de contrainte. Ok, donc ce que je vais faire ici, c'est ouvrir une autre fenêtre et je vais changer les produits de table . Ça va être Alter Unit, et on va le faire. Je ne sais pas. Ok, allons diriger ce gars et c'est réussi. Alors maintenant, nous avons ajouté, Ne savez-vous pas contrainte au prix unitaire dans la table des produits ? Nourture, tournez. Prenez le champ Nom de famille de votre table employés et assurez-vous qu'il a toujours une valeur. Suspendre la vidéo. Reviens et je le ferai. Oh, mon. Ok, donc nous avons des employés et nous voulons nous assurer que le nom de famille est défini, pas savoir, exécuté a fonctionné. Maintenant, dans la prochaine conférence, nous allons couvrir la contrainte unique 30. Constraint unique: dans cette conférence, nous allons couvrir la contrainte unique. Donc, la syntaxe est similaire à ne pas savoir. C' est lorsque vous créez la table, type de données de colonne, puis ajoutez unique après le type de données. Alors créons une table appelée pratiques, et on va abandonner l'ancienne version et ensuite on veut une idée de pratique. Et nous voulons que ce sentiment soit unique parce qu'il ne devrait pas y avoir de pratiquer des idées avec le même nombre là-dedans. Et puis nous allons le nommer nom de champ avec var char 50. Ok, donc on est de retour. Nous sommes ici où nous avons créé des pratiques de table déroulante, j'ai créé des pratiques de table et au lieu de ne pas le savoir, je veux ajouter unique ici. Et puis on va faire ça dans la même syntaxe. Nous faisons tous les autres sans le soulignement. Personnellement, je préfère le trait de soulignement, mais le vent du Nord ne l'a pas. Là, nous allons maintenant créer une table culte animaux de compagnie et c'est votre tour. Donc tu veux un animal de compagnie I d. qui a une énergie unique. Et puis le nom de l'animal de compagnie, qui va être graphique var 25 il ne doit pas être. Non. Alors arrêtez la vidéo, allez créer cette table et revenez et je vais vous montrer mon exemple. Ok, je vais faire ça dans la deuxième fenêtre que nous avons des exercices dans l'un et les animaux de compagnie et l' autre. Je vais m'assurer que les animaux ne sont pas là. Je vais faire tomber les animaux de compagnie. Vous n'auriez pas dû faire ça parce que vous le créez pour la première fois, nous allons créer des tapettes de table, animal que nous allons faire un imageur. Ça va être un manager unique. Et puis on a le nom qu'on va faire loin Char 25. Non, NSA donc pas savoir. On y va maintenant. Vous pouvez le faire après la création des tables. C' est la table d'autel, le nom de la table. Et puis vous avez ajouter une contrainte. Vous lui donnez un nom, puis c'est unique. Et puis l'appel. Ajoutons donc une contrainte unique au champ Description de la région dans la table des régions . Je ne veux pas gâcher. Puisque nous avons des animaux de compagnie, ouvrez un outil de requête ici. Vous en avez autant ouverts que vous le souhaitez. On va à Baltar. Région de la table. Nous allons ajouter une région de description de région de contrainte. La description de cette région qu'il est en cours d'exécution. C' était un succès. Maintenant, c'est ton tour. Indiquez le champ Nom de la société de vos expéditeurs. Assurez-vous que ce champ est unique. Mettez la vidéo en pause et revenez. OK, donc nous avons des expéditeurs juste ici, et nous allons ajouter une contrainte. Appelez ça le nom de la société et ça va être unique. Société née aujourd'hui. Laissons-le. On y va. Dans la prochaine conférence, on va couvrir la contrainte de clé primaire. Dans la prochaine conférence, 31. Contrainte de clé primaire: OK, dans cette vidéo, on va couvrir la contrainte de clé primaire. Maintenant, la syntaxe est similaire aux autres. C' est le type de données de colonne, puis la clé primaire. Maintenant, clé primaire est équivalent orteil avoir à la fois unique et ne sait pas. Et généralement, il est utilisé pour une sorte de champ où vous l'incriminer. Vous avez donc une clé unique pour identifier chaque enregistrement dans la technique pour identifier chaque enregistrement dans la table. OK, donc on va y retourner et on va recréer notre table d'entrainement. Et cette fois, on va s'entraîner. Je suis une clé primaire et un nom rempli. Je ne sais pas. Allons par ici. Nous allons aller à nos pratiques et la dernière fois que nous avons fait unique, nous allons changer ça et en faire la clé primaire ici. Laissons-le. Ok, maintenant je vais te montrer l'effet de ça pour l'entraînement. Je suis mort , alors faisons-le. Insérer dans les entraînements et nous allons pratiquer de l'infield. Merci. Et puis les valeurs. Commençons par essayer d'insérer une valeur nulle là donc nous irons. Non, et ils appelleront le champ. Nommez quelque chose. Maintenant, si vous le mettez en surbrillance ici, vous pouvez exécuter juste cette instruction. C' est écrit juste ici. Je ne peux pas le faire. Aucune valeur dans la pratique. Je vais bien. Essayons donc de ne mettre personne ici et la première fois qu'on court. C' est tout à fait bien. Je vais nommer le champ quelque chose différemment. Lire. On va laisser le moi pour être le même. Lancez-le. Et vous voyez qu'il va encore dire, Hey, ne peut pas le faire. La contrainte unique n'est pas valide. Maintenant, si nous changeons cela en et lançons insert, ce sera très bien. Pas à ton tour. Retourne à la table des animaux de compagnie. Abandonné l'ancien à moins de créer des animaux avec animal I d. C'est la clé primaire et gardera le nom à un graphique à barres 25 qui ne peut pas avoir de valeurs. Arrêtez la vidéo et revenez après que vous l'ayez créé, et je vous montrerai ma réponse. Ok, donc encore une fois, nous changeons juste cette unique par rapport à la clé primaire, et nous allons l'exécuter. Et cela a été un succès. Et vous contestez de commencer à voir l'effet qu'il a ou quel type de données vous pouvez y mettre . La syntaxe de la table d'autel. Donc, si tu veux faire quelque chose une clé primaire ? Après avoir créé le champ, vous ajoutez la clé primaire avec un certain calme dans le nom de votre table de table d'autel. Maintenant, vous le tolérez aussi, en supprimant la contrainte et la syntaxe est, vous devez connaître le nom de la contrainte. Maintenant, par défaut, il l'appelle soulignement de colonne. Peaky. Donc nous allons le faire sur la table des pratiques. Donc maintenant, si nous allons par ici et laissez-moi rafraîchir ceci pour m'assurer que nous sommes à jour et si nous allons à, trouvons ici les pratiques que vous pouvez voir sous les contraintes, il a créé cette clé par défaut juste là. Alors laissons-le tomber. Donc on va laisser tomber les pratiques de la table altérée et on va abandonner la contrainte et c'est la clé primaire des pratiques. D' accord, on va faire ça. Et nous allons rafraîchir ici et les contraintes ont disparu. Maintenant, si on veut faire le tour de ça, donc on va changer les pratiques de table. Alors c'est la clé primaire et ensuite entre parenthèses, on va faire, euh, euh, des pratiques. Eh bien, il sera pratiqué. Je suis d' accord, allons faire ça. Et si nous nous rafraîchissons ici, vous verrez que nous avons maintenant une contrainte leurs pratiques. Clé primaire. Très bien, votre tour a laissé tomber la clé primaire pour les animaux de compagnie, puis recréer Pause la vidéo. Et quand tu reviendras, je te montrerai comment j'ai fait. Ok, alors regardons les animaux de compagnie pour s'assurer qu'il a la clé par défaut. Mais je suis sûr que c'est le cas. Animaux de compagnie pics. Donc, c'est modifier les animaux de table. Contrainte de suppression. Les animaux soulignent. Pinky, va le faire et on va se rafraîchir pour s'assurer qu'il est parti. Et puis on va l'ajouter avec et clé primaire. Ça va être des animaux de compagnie. On y va et c'est de retour. Et encore une fois, si nous l'actualisons ici, vous verrez que les clés ont été ajoutées à nouveau. Dans la prochaine vidéo, on va couvrir la contrainte de clé étrangère. Voyez-les 32. 55 contrainte de CLier 55 FOREIGN: contraintes de clé étrangère. Donc, votre syntaxe de base est un peu différente en ce sens que vous le faites à la fin de la table après avoir défini toutes vos colonnes. Ensuite, vous entrez avec la clé étrangère, le nom de la colonne, puis il fait référence à une deuxième table dans un nom de colonne là-bas. Et ce que cela fait, c'est que cela ne vous permettra pas de mettre des données dans lesquelles j'ai rempli n'est pas aussi dans la deuxième table, donc vous n'aurez pas d'enregistrements orphelins. Ok, titre d'exemple ici, nous allons abandonner les pratiques et les recréer et ajouter ah, contrainte de clé étrangère que l'employé que j'ai fait référence à la table des employés. Jetons un coup d'oeil ici. Donc nous avons employé I D. Et puis vous tapez Foreign Key et son employé I D. Et puis nous allons références, employés, employés, deuxième idée d'employés de la table. Laissons ça. J' ai oublié de le rendre pluriel. On y va. Jetons un coup d'oeil à notre table d'exercices ici. Donc, tout d'abord, nous allons le rafraîchir pour qu'il ait les dernières informations oh. Et regardons notre force ici. Nous avons cet employé i d. contrainte de clé étrangère qui a été mis là-dedans. ce moment, c'est à ton tour. Alors laissez tomber la vieille table d'animaux à moins de créer une table d'animaux de compagnie à nouveau Et cette fois, le client que je vais être une clé étrangère qui fait référence à la table du client. Alors arrêtez la vidéo et revenez et je vous montrerai ma réponse. Bon, donc nous avons les animaux de table de dépôt qu'on a créés et ensuite je vais ajouter des clés étrangères ici, ce qui va être le client. Et ça va y arriver. Références, clients. C' est l'idée du client. On va diriger ce type et on y va. Et c'est comme ça que vous ajoutez une clé étrangère. Maintenant, vous pouvez également le faire à une table existante ou se débarrasser d'une dans la table existante dans les taxes de péché,table d' autel, table d' autel, nom de la table. Vous ajoutez la contrainte, vous lui donnez un nom et c'est la table de références de colonne de clé étrangère pour l'appeler syntaxe si similaire . C' est juste cette table d'autel. Ajouter une contrainte, puis pour la laisser tomber, vous avez table d'autel , nom de la table drop , drop, contrainte , contrainte , nom, et vous pouvez trouver la contrainte dans le gooey sous des contraintes. Ok, donc laissons tomber et nous créons notre contrainte de clé étrangère pour la table des pratiques. Bon, donc on va aller par ici à cette fenêtre, et d'abord on va changer les pratiques de table. Ils allaient abandonner la contrainte, et ensuite on a pu voir le nom ici et notre colonne, qu'il crée. Ah, nom de table, nom de champ, clé F. Parce que c'était celui créé par défaut. Mais on va le laisser tomber ici, si bien, Pratiques, Garçon, j'ai la clé. Et mettons-le en évidence. Donc c'est juste que ça fonctionne et c'est réussi. Maintenant, soyons frais ici. Et bien sûr, ça pourrait avoir disparu. Alors maintenant, on va faire le contraire. Nous allons modifier les pratiques de table que nous allons ajouter, et tout le monde utilise la contrainte par défaut. De cette façon, il reste cohérent. Et c'est la même syntaxe ici, Foreign Creamy. Nous I d. Il fait référence. Les employés viennent des idées de jouets. Alors mettons-en évidence ceci. Lancez-le et puis revenons ici et rafraîchissons. Et nous devrions voir cette contrainte revenir et c'est le cas. Bon, maintenant c'est à ton tour. Pratiquez la même chose sur la table des animaux de compagnie, déposez la clé étrangère, puis recréez-la. Suspendre la vidéo. Va lui donner un coup de feu. Reviens et je te montrerai ma réponse. Ok, nous y voilà. Alors d'abord, allons monter les animaux de compagnie. À moins de regarder le rafraîchir. D' accord. Et il a actuellement cette contrainte. Donc on va changer la table. Les animaux de compagnie abandonnent la contrainte. Ce sont des animaux de compagnie. Client I d. Essayons ça. Lancez-le frais. Et bien sûr, la clé a été lâchée. Maintenant, on va le remettre. Donc c'est Alter Table. Les animaux avaient des contraintes, et on va appeler ça la même chose pour le rendre cohérent. On y va. Et il va être client E étranger, I d. références, clients, idée client. Mettons-le en évidence. Donc on a juste dirigé celui-là. Ok, eh bien, revenons ici et veillons à ce qu'il le remette. Voilà, tu y vas. Dans la prochaine vidéo, nous allons parler d'ajouter une contrainte de contrôle 33. Vérifier la contrainte: Ok, cette conférence, on va couvrir notre contrainte de contrôle. Il y a donc deux façons d'ajouter une contrainte. L' un est au niveau de la colonne, au niveau du champ, et c'est vous faites votre colonne, votre type de données, puis vous contraindez, en fonction d'une vérification de nom, puis entre parenthèses, la condition qu'il soit va vérifier si elle est valide avant de laisser les données dans la table. Ou tu pourrais le faire en bas. Après toutes vos définitions de champ, vous pouvez avoir des contraintes supplémentaires sur des lignes séparées, et c'est toujours la même contrainte. Condition de vérification du nom. Alors, allons y sauter. Maintenant. On va retourner à notre table d'entrainement. On va le laisser tomber et le rajouter avec un nouveau coût de terrain, qui est un imageur, et on va s'assurer que cet imageur est entre zéro et 1000. Bon, allons y aller juste ici. On est sur les entraînements, on va le laisser tomber, et ensuite on va créer et j'ai laissé dans toutes les définitions que nous avons jusqu'à maintenant et ils coûtent des imageurs. Et puis c'est la contrainte. On appellera ça le coût des pratiques. Et puis c'est un chèque. Et on va le faire. Le coût va être supérieur à zéro. Supérieur ou égal à zéro, et le coût est inférieur ou égal à 2000. Droit ? Laissons ça. Il faut une comète. La fin. Mets ça dedans. On y va. Maintenant, si on devait insérer un disque ici, alors je vais te montrer. Insérer les pratiques. Pratiquez. Je pratique les employés d'un an sont le coût qu'il pourrait coûter. Et puis allons-y avec des valeurs. Donc, nous allons faire un pour ce domaine de pratique a été de faire un certain nom et puis ici va aller idée des employés. Je vais utiliser un employé. Disons que nous avons essayé d'imposer un coût trop élevé. Nous allons lancer cette déclaration insérer dans vous devez obtenir les droits et la taxe. Ok, on recommence. Bon, donc juste ici. Vous voyez que vous obtenez un air de retour qu'il dit qu'il viole le coût des pratiques de contrainte de vérification. Et donc c'est un excellent moyen, vous savez, programmeur peut ensuite insérer des données pendant que vous ne cherchez pas. Votre base de données sera rejetée et leur donnera l'air afin qu'ils puissent aller réparer le code. C' est ton tour. Retournons à la table des animaux de compagnie, et on va la recréer. Mais cette fois, nous allons ajouter un champ d'énergie de poids, et il doit être supérieur à zéro. Donc il ne peut pas être zéro si nous sommes supérieurs à zéro dans moins de 200. Voici nos animaux de compagnie. Maintenant, nous gardons toutes les contraintes que nous avons mises jusqu'ici, mais nous allons ajouter le champ de poids. C' est un imageur, et on va faire des contraintes, et on va lui donner un nom d'animaux. Attendez, nous allons vérifier et attendre plus que zéro et attendre moins de 200 et nous devons mettre une comédie. Et ici. D' accord, on va le faire. On y va. Maintenant, vous pouvez les ajouter rétroactivement ou les supprimer, Recteur. Activement les taxes péchés, table d' autel. Et c'est ajouter des contrôles de contrainte, condition, puis sur le pour le supprimer, il suffit de supprimer la contrainte, puis le nom de la contrainte. Ajoutons donc une contrainte à la table des commandes. Ce fret doit être supérieur à zéro. Bon, donc on va y aller et on va passer aux ordres. C' est une contrainte publicitaire. Ça va être ton nom. Il commande un fret, et il est bon chèque. Supérieur à zéro. Et maintenant, si vous passez à votre table de commandes, vous pouvez actualiser les contraintes et vous verrez ces commandes. La contrainte de fret a été ajoutée. Pas votre tour à une contrainte de contrôle. prix unitaire de votre table de produits doit être un nombre positif. Arrêtez la vidéo et revenez quand vous l'avez fait, pas vous montrer ma solution. Donc nous allons aller sur les produits et c'est le prix unitaire des produits où le prix unitaire doit être supérieur à zéro. Prochaine vidéo, nous allons couvrir la contrainte par défaut. 34. Constraint DEFAULT: OK, cette conférence, nous allons couvrir la contrainte par défaut. Donc, la syntaxe similaire à certaines des autres, est le type de données de colonne que par défaut dans la valeur ou la fonction. Maintenant, vous pouvez donner une valeur par défaut qui est une valeur fixe. Ou vous pouvez utiliser l'une des fonctions de base de données intégrées pour générer quelque chose comme l' horodatage actuel. Alors revenons en arrière et créons des pratiques à nouveau. Cette fois, on va ajouter une caméra de coût, qui doit être comprise entre zéro et 1000. Mais il a une valeur par défaut de 50. Donc nous allons ajouter la valeur par défaut à 50 à la définition. Alors on y va. Nous avons notre vérification et notre pression ici, et avant ça, nous allons faire le défaut. 50. Laissons-le. Et voilà. Maintenant, nous avons un défaut de 50 sur notre coût. Si rien d'autre n'est mis là-dedans, là-dedans, c'est ton tour. Revenons à la table des animaux de compagnie, puis sur votre imageur de poids, qui doit être entre zéro et 200 ajouté par défaut de cinq. Alors arrêtez la vidéo et revenez et je vous montrerai ma solution. Alors on y va. On a le gérant de poids. Je veux ajouter ici. Cinq par défaut. On y va. Maintenant, si vous avez déjà une table, vous avez une syntaxe d'autel, qui est alter column, puis définir par défaut dans la valeur. Et puis si vous avez une valeur par défaut que vous voulez vous débarrasser, c'est alter column et puis juste déposer par défaut par lui-même. Allons donc à la table des commandes et modifions l'expédition par défaut d'un. Alors, allons par ici. Donc on va modifier les ordres qu'on va modifier. Débarrassez-vous de ça juste là. On va modifier Appelez lui. Expédié via sa valeur par défaut. Ils n'ont pas été ajoutés un orteil ici. On y va. C' est ton terme. Définissez la valeur par défaut du niveau de réorganisation dans la table toe 5 des produits. Suspendre la vidéo. Montez ça avec une déclaration de table d'autel et je vous montrerai ma réponse. Ok, donc on va aller aux produits, et cette fois c'est le niveau de commande et on va définir la valeur par défaut. 25 Laissons ça. Et maintenant, nous avons une valeur par défaut de cinq sur ce champ 35. Conclusion: me rejoignant pour ce deuxième cours de suite après Gress. Envelopperons. Nous avons couvert. Nous avons donc commencé par joindre plusieurs tables ensemble. De cette façon, vous pouvez extraire des données de l'ensemble de la base de données. Nous suivons ceci par groupe par pour les fonctions agrégées. Ensuite, nous vous avons montré comment utiliser la clause having pour filtrer ces données agrégées. Enfin, nous avons examiné les sous-requêtes où il s'agit d'une requête dans une requête. Après cela, nous avons abordé la façon de modifier les données dans la base de données en utilisant les instructions insert, update et delete. Et pour la dernière partie du cours, nous vous avons montré comment construire des tables et avons également inclus comment ajouter des contraintes de données pour ces tables afin que vous puissiez garder vos données propres et propres. J' espère que ça vous a plu. Il y a encore plus à apprendre sur Sequel, et j'espère que nous suivrons avec les autres cours pour vous montrer des façons plus sophistiquées de devenir meilleur à la suite de Greste