📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

生のクエリ



このガイドでは、アプリケーションで生の SQL クエリを実行する方法について説明します。

生のSQLでデータを操作する

client.execute()メソッドを使用して、 INSERTUPDATEDELETE 、およびその他のデータ操作ステートメントを実行します。

client.execute("INSERT INTO chunks(text, user_id) VALUES ('sample text', 5)")

SQLインジェクション防止

execute()query()両方の方法は、パラメータ化された SQL機能をサポートしており、動的 SQL ステートメントの構築時にSQLインジェクション回避するのに役立ちます。

client.execute( "INSERT INTO chunks(text, user_id) VALUES (:text, :user_id)", { "text": "sample text", "user_id": 6, }, )

生のSQLでデータをクエリする

client.query()メソッドを使用して、 SELECTSHOW 、およびその他のクエリ ステートメントを実行します。

クエリ結果を出力する

client.query()メソッドは、いくつかのヘルパー メソッドを含むSQLQueryResultインスタンスを返します。

  • to_pydantic()
  • to_list()
  • to_pandas()
  • to_rows()
  • scalar()

ピダンティックモデルとして

to_pydantic()メソッドは、Pydantic モデルのリストを返します。

client.query("SELECT id, text, user_id FROM chunks").to_pydantic()

SQLAlchemyの結果行として

to_rows()メソッドはタプルのリストを返します。各タプルは 1 行を表します。

client.query("SHOW TABLES;").to_rows()

辞書のリストとして

to_list()メソッドは、クエリ結果を辞書のリストに変換します。

client.query( "SELECT id, text, user_id FROM chunks WHERE user_id = :user_id", { "user_id": 3 } ).to_list()

pandasデータフレームとして

to_pandas()メソッドはクエリ結果をpandas.DataFrameに変換し、ノートブック内で人間にわかりやすい形式で表示します。

client.query("SELECT id, text, user_id FROM chunks").to_pandas()

スカラー値として

scalar()メソッドは、結果セットの最初の行の最初の列を返します。

client.query("SELECT COUNT(*) FROM chunks;").scalar()

このページは役に立ちましたか?