亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Maison Périphériques technologiques Industrie informatique Comprendre l'élixir interroge DSL: les bases

Comprendre l'élixir interroge DSL: les bases

Feb 18, 2025 pm 12:03 PM

ecto interroge dans Elixir: A débutant Guide

Cet article présente Ecto, le langage de requête d'Elixir, vous guidant à travers des techniques de requête de base. Nous couvrirons les jointures, les associations, l'agrégation, etc., en supposant une compréhension de base des principes fondamentaux de l'élixir et de l'Ecto.

Concepts clés:

  • ecto est le DSL d'Elixir pour les interactions de base de données, reflétant étroitement SQL.
  • Il propose des syntaxes de mots clés et de macro, fonctionnellement équivalent mais différents en style.
  • Fonctions de base comme where, limit, offset et distinct permettent une sélection précise de données.
  • Les fonctions d'agrégation (group_by, having, count, avg, sum, min, max) permettent des calculs de données complexes.

En démarrage avec l'application ectoing:

Les exemples utilisent l'application ectoing. Clone, configurer et migrer la base de données comme suit:

git clone https://github.com/tpunt/ectoing
cd ectoing
mix deps.get
# Update credentials in config/config.exs
mix ecto.create
mix ecto.migrate
mix run priv/repo/seeds.exs

(MySQL est utilisé ici; Bien que adaptable à d'autres bases de données, certains exemples ultérieurs pourraient être spécifiques à MySQL.)

Le schéma de base de données:

Understanding Elixir's Ecto Querying DSL: The Basics

requêtes de base:

Commen?ons par des requêtes simples. N'oubliez pas d'importer Ecto.Query dans la coquille d'élixir (iex -S mix).

Remplir tous les utilisateurs:

SQL:

SELECT * FROM users;

ecto (syntaxe des mots clés):

query = Ectoing.User
Ectoing.Repo.all(query)

ecto (syntaxe macro):

query = Ectoing.User |> Ecto.Query.all()
Ectoing.Repo.all(query)

Sélection de champs spécifiques (premier nom, nom de famille):

SQL:

SELECT firstname, surname FROM users;

ecto (syntaxe des mots clés):

query = from u in Ectoing.User, select: [u.firstname, u.surname]
Ectoing.Repo.all(query)

ecto (syntaxe macro):

query = Ectoing.User |> Ecto.Query.select([u], [u.firstname, u.surname])
Ectoing.Repo.all(query)

Les résultats seront des listes de listes, de tuples ou de cartes en fonction de la structure de la clause select.

Filtrage et personnalisation des résultats:

Affinons les requêtes pour sélectionner des sous-ensembles de données.

Sélection des utilisateurs avec nom de famille "Doe":

SQL:

SELECT * FROM users WHERE surname = "doe";

ecto (syntaxe des mots clés):

surname = "doe"
query = from u in Ectoing.User, where: u.surname == ^surname
Ectoing.Repo.all(query)

ecto (syntaxe macro):

surname = "doe"
query = Ectoing.User |> Ecto.Query.where([u], u.surname == ^surname)
Ectoing.Repo.all(query)

Sélection des noms de famille distincts, ordonnés et limités:

SQL:

SELECT DISTINCT surname FROM users LIMIT 3 ORDER BY surname;

ecto (syntaxe des mots clés):

query = from u in Ectoing.User, select: u.surname, distinct: true, limit: 3, order_by: u.surname
Ectoing.Repo.all(query)

ecto (syntaxe macro):

query = Ectoing.User
|> Ecto.Query.select([u], u.surname)
|> Ecto.Query.distinct(true)
|> Ecto.Query.limit(3)
|> Ecto.Query.order_by([u], u.surname)
Ectoing.Repo.all(query)

Requêtes d'agrégation:

ecto prend en charge les fonctions d'agrégation.

trouver des utilisateurs avec une note d'amie moyenne de 4 ou plus:

SQL:

SELECT friend_id, avg(friend_rating) AS avg_rating
FROM friends
GROUP BY friend_id
HAVING avg_rating >= 4
ORDER BY avg_rating DESC;

ecto (syntaxe des mots clés):

query = from f in Ectoing.Friend,
  select: %{friend_id: f.friend_id, avg_rating: avg(f.friend_rating)},
  group_by: f.friend_id,
  having: avg(f.friend_rating) >= 4,
  order_by: [desc: avg(f.friend_rating)]
Ectoing.Repo.all(query)

ecto (syntaxe macro): (structure similaire à la syntaxe des mots clés, en utilisant l'opérateur de tuyau)

Conclusion:

Cette introduction couvre les bases de requête d'Ecto. Les étapes suivantes impliquent d'explorer les jointures, les requêtes complexes et les techniques avancées. Reportez-vous à la documentation Ecto pour un guide complet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1488
72
Vos appareils nourrissent les assistants IA et récoltent des données personnelles même si elles sont endormies. Voici comment savoir ce que vous partagez. Vos appareils nourrissent les assistants IA et récoltent des données personnelles même si elles sont endormies. Voici comment savoir ce que vous partagez. Jul 05, 2025 am 01:12 AM

Qu'on le veuille ou non, l'intelligence artificielle fait partie de la vie quotidienne. De nombreux appareils - y compris les rasoirs électriques et les brosses à dents - sont devenus alimentés par l'IA, "en utilisant des algorithmes d'apprentissage automatique pour suivre comment une personne utilise l'appareil, comment le Devi

Les ouragans et les tempêtes de sable peuvent être prévues 5 000 fois plus rapidement grace au nouveau modèle Microsoft AI Les ouragans et les tempêtes de sable peuvent être prévues 5 000 fois plus rapidement grace au nouveau modèle Microsoft AI Jul 05, 2025 am 12:44 AM

Un nouveau modèle d'intelligence artificielle (IA) a démontré la capacité de prédire les principaux événements météorologiques plus rapidement et avec une plus grande précision que plusieurs des systèmes de prévision mondiaux les plus utilisés. Ce modèle, nommé Aurora, a été formé u

Les modèles AI avancés génèrent jusqu'à 50 fois plus de CO & # 8322; émissions que les LLM plus communes lorsqu'ils répondent aux mêmes questions Les modèles AI avancés génèrent jusqu'à 50 fois plus de CO & # 8322; émissions que les LLM plus communes lorsqu'ils répondent aux mêmes questions Jul 06, 2025 am 12:37 AM

Plus nous essayons de faire fonctionner les modèles d'IA, plus leurs émissions de carbone deviennent grandes - certaines invites générant jusqu'à 50 fois plus de dioxyde de carbone que d'autres, selon une étude récente.

Ai 'hallucine' constamment, mais il y a une solution Ai 'hallucine' constamment, mais il y a une solution Jul 07, 2025 am 01:26 AM

La principale préoccupation concernant les grandes technologies expérimentant l'intelligence artificielle (IA) n'est pas qu'elle pourrait dominer l'humanité. Le vrai problème réside dans les inexactitudes persistantes des modèles de grands langues (LLM) tels que le chatppt d'Open AI, les Gémeaux de Google et

Pourquoi AI Halllucination est-il plus fréquemment, et comment pouvons-nous l'arrêter? Pourquoi AI Halllucination est-il plus fréquemment, et comment pouvons-nous l'arrêter? Jul 08, 2025 am 01:44 AM

Plus l'intelligence artificielle plus avancée (AI) devient, plus elle a tendance à "halluciner" et à fournir des informations fausses ou inexactes. Selon la recherche par Openai, ses modèles de raisonnement les plus récents et puissants - O3 et O4-MINI - ont exhibés H

Les modèles d'IA de pointe d'Openai et Deepseek subissent un `` effondrement complet '' lorsque les problèmes deviennent trop difficiles, l'étude révèle Les modèles d'IA de pointe d'Openai et Deepseek subissent un `` effondrement complet '' lorsque les problèmes deviennent trop difficiles, l'étude révèle Jul 07, 2025 am 01:02 AM

Les modèles de raisonnement de l'intelligence artificielle (IA) ne sont pas aussi capables qu'ils apparaissent. En réalité, leur performance se décompose complètement lorsque les taches deviennent trop complexes, selon les chercheurs d'Apple.Reassinging Models comme Anthropic's Claude, Open

Arrestations procédées à la chasse aux pirates derrière les cyberattaques contre M&S et Co-op Arrestations procédées à la chasse aux pirates derrière les cyberattaques contre M&S et Co-op Jul 11, 2025 pm 01:36 PM

La National Crime Agency (NCA) du Royaume-Uni a arrêté quatre personnes soup?onnées de participation aux cyberattaques ciblant les marques et Spencer (M&S), Co-Op et Harrods., selon une déclaration, les suspects incluent deux hommes de 19 ans, un 17 ans-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-On

La cryptographie post-quantum est désormais en tête pour les leaders de la cybersécurité La cryptographie post-quantum est désormais en tête pour les leaders de la cybersécurité Jul 11, 2025 pm 01:38 PM

La cryptographie post-quantum est devenue une priorité absolue pour les dirigeants de la cybersécurité, mais des recherches récentes indiquent que certaines organisations ne traitent pas la menace avec la gravité qu'il exige.

See all articles