Pythonでのデータベースクエリによるレコードの選択
SQLクエリのテストコードには、データベースからデータを選択する
SELECTコマンドがあります。ここで、その構文について詳しく見てみましょう。
構文は次の通りです:
query = "SELECT * FROM テーブル名 WHERE 条件"
テーブル名の後には、選択するレコードの条件を指定する
WHEREコマンドを追加できます。ここでは以下の比較演算子が使用できます:
=, !=, <>, <, >,
<=, >=。
例を使って、これらの使い方を見ていきましょう。
例
idが2に等しいユーザーを選択します:
query = "SELECT * FROM users WHERE id=2"
実行結果:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
例
idが2より大きいユーザーを選択します:
query = "SELECT * FROM users WHERE id>2"
実行結果:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
例
idが2以上のユーザーを選択します:
query = "SELECT * FROM users WHERE id>=2"
実行結果:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
例
idが2と等しくないユーザーを選択します:
query = "SELECT * FROM users WHERE id!=2"
実行結果:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
例
!=コマンドの代わりに<>コマンドを使用できます:
query = "SELECT * FROM users WHERE id<>2"
例
名前が'user1'のユーザーを選択します。
ここで重要な注意点があります:名前は文字列なので、引用符で囲む必要があります:
query = "SELECT * FROM users WHERE name='user1'"
実行結果:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
例
WHEREコマンドが省略された場合、テーブル内のすべてのレコードが選択されます。
すべての従業員を選択してみましょう:
query = "SELECT * FROM users"
実行結果:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
実践問題
idが3に等しいユーザーを選択してください。
給料が900のユーザーを選択してください。
年齢が23歳のユーザーを選択してください。
給料が400より大きいユーザーを選択してください。
給料が500以上のユーザーを選択してください。
給料が500と等しくないユーザーを選択してください。
給料が500以下のユーザーを選択してください。