Elixir' s cecto Querying DSL:The Basics
Elixirでのecto Querying:初心者のガイド
重要な概念:Ectoは、SQLを密接に反映したデータベースインタラクション用のElixirのDSLです。 機能的には同等ですが、スタイルは異なるキーワードとマクロクエリの構文を提供します。
- 、
- 、 、
- などのコア関数は、正確なデータ選択を許可します。 集約関数(
- 、
where
、limit
、offset
、distinct
、 、 - )複雑なデータ計算を有効にします。
group_by
having
count
avg
アプリケーションの開始:sum
min
max
例では、 アプリケーションを使用します。 次のように、データベースをクローン、セットアップ、および移行します
(ここではMySQLが使用されています。他のデータベースに適応できますが、後の例のいくつかはMySQL固有の場合があります。)
ectoing
データベーススキーマ:
ectoing
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
簡単なクエリから始めましょう。 Elixir Shell(
) すべてのユーザーの取得:
sql:
ecto(キーワード構文):
ecto(マクロ構文):Ecto.Query
iex -S mix
sql:
SELECT * FROM users;
query = Ectoing.User Ectoing.Repo.all(query)
query = Ectoing.User |> Ecto.Query.all() Ectoing.Repo.all(query)
SELECT firstname, surname FROM users;
姓「DOE」でユーザーを選択:
query = from u in Ectoing.User, select: [u.firstname, u.surname] Ectoing.Repo.all(query)
sql:
query = Ectoing.User |> Ecto.Query.select([u], [u.firstname, u.surname]) Ectoing.Repo.all(query)
ecto(キーワード構文):select
ecto(マクロ構文):
異なる姓の選択、順序付け、および制限:sql:
ecto(キーワード構文):
SELECT * FROM users WHERE surname = "doe";
ecto(マクロ構文):
surname = "doe" query = from u in Ectoing.User, where: u.surname == ^surname Ectoing.Repo.all(query)
surname = "doe" query = Ectoing.User |> Ecto.Query.where([u], u.surname == ^surname) Ectoing.Repo.all(query)
ectoは集約関数をサポートしています。
平均的な友人評価を持つユーザーを見つける4以上:
SELECT DISTINCT surname FROM users LIMIT 3 ORDER BY surname;
sql:
query = from u in Ectoing.User, select: u.surname, distinct: true, limit: 3, order_by: u.surname Ectoing.Repo.all(query)
ecto(キーワード構文):
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)
ecto(マクロ構文):(キーワードの構文と同様の構造、パイプオペレーターを使用)
結論:この紹介では、Ectoのクエリの基本をカバーしています。 次のステップでは、参加、複雑なクエリ、高度なテクニックの探索が含まれます。 包括的なガイドについては、ECTOドキュメントを参照してください
以上がElixir' s cecto Querying DSL:The Basicsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このGOベースのネットワーク脆弱性スキャナーは、潜在的なセキュリティの弱点を効率的に識別します。 Goの同時機能機能を速度で活用し、サービスの検出と脆弱性のマッチングが含まれます。その能力と倫理を探りましょう

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください
