Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用したMySQLでのSELECTDISTINCTステートメントの使用について説明しますか?


SQLテーブル内では、通常、列に重複する値が含まれています。値が重複していると、クエリによって返された結果を分析することが困難になるため、テーブルの列に存在する個別の値または異なる値のみを取得する必要がある場合があります。

例:

顧客、名前、年齢、国などの詳細を含むCustomersという名前のテーブルがあるとします。顧客がどの国に属しているかを知る必要があります。インドから10人、アメリカから15人などの顧客がいる可能性があります。国の列を選択するだけでは、重複する値が多数含まれる列全体が返されます。結果の分析が困難になるため、これは目的を果たしません。異なる国を知りたいだけです。

このシナリオでは、MySQLの「SELECTDISTINCT」ステートメントが使用されます。

構文

SELECT DISTINT column_name FROM table_name

PythonでMySQLを使用してデータベースのテーブルからdistint値を選択するための主な手順

  • mysqlコネクタをインポートする

  • connect()

    を使用してコネクタとの接続を確立します
  • cursor()メソッドを使用してカーソルオブジェクトを作成します

  • 適切なmysqlステートメントを使用してクエリを作成します

  • execute()メソッドを使用してSQLクエリを実行する

  • 接続を閉じます

「Customers」という名前の次のテーブルがあるとします。

+----------+---------+
| name     | country |
+----------+---------+
|    John  | America |
|   Peter  | England |
|   Karan  | India   |
|   Rohit  | India   |
|   Rohan  | America |
|    Arsh  | France  |
|   Aryan  | England |
+----------+---------+

この表から個別の国名を選択する必要があります。

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="SELECT DISTINCT country FROM Customers "
cursor.execute(query)
for names in cursor:
   print(names)
db.close()

上記のコードは、個別の国名を返します。

出力

America
England
India
France

  1. Pythonでのimportステートメントの使用は何ですか?

    コードでパッケージを使用するには、最初にパッケージにアクセスできるようにする必要があります。インポートする必要があります。定義される前にPythonで何も使用することはできません。いくつかのものが組み込まれています。たとえば、基本的な型(int、floatなど)はいつでも使用できます。しかし、あなたがやりたいと思うほとんどのことはそれより少し多くを必要とするでしょう。たとえば、1ラジアンの正弦を計算する場合、math.cos(0)を実行すると、数学が定義されていないため、NameErrorが発生します。使用できるように、最初にそのモジュールをコードにインポートするようにpythonに指示する必

  2. Pythonでのassertステートメントの使用は何ですか?

    assertステートメントの構文は次のとおりです。 assert <some_test>, <message>をアサートします 上記の行は次のように読み取られます。がFalseと評価された場合、例外が発生し、が出力されます。 コードブロックまたは式をテストする場合は、assertキーワードの後に​​配置します。テストに合格するか、式がtrueと評価された場合、何も起こりません。ただし、テストが失敗した場合、または式がfalseと評価された場合、AssertionErrorが発生し、メッセージが出力または評価されます。 Assertステートメントは、ユーザー定義の制