SQLAlchemyを使用してクエリを出力する方法


  1. SELECTクエリの出力:

    from sqlalchemy import create_engine, text
    engine = create_engine('database://user:password@host:port/database_name')
    connection = engine.connect()
    query = text("SELECT * FROM table_name")
    result = connection.execute(query)
    for row in result:
       print(row)
  2. INSERTクエリの出力:

    from sqlalchemy import create_engine
    engine = create_engine('database://user:password@host:port/database_name')
    connection = engine.connect()
    query = "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')"
    result = connection.execute(query)
    print(result.rowcount)  # 変更された行数を出力
  3. UPDATEクエリの出力:

    from sqlalchemy import create_engine
    engine = create_engine('database://user:password@host:port/database_name')
    connection = engine.connect()
    query = "UPDATE table_name SET column1='new_value' WHERE condition"
    result = connection.execute(query)
    print(result.rowcount)  # 変更された行数を出力
  4. DELETEクエリの出力:

    from sqlalchemy import create_engine
    engine = create_engine('database://user:password@host:port/database_name')
    connection = engine.connect()
    query = "DELETE FROM table_name WHERE condition"
    result = connection.execute(query)
    print(result.rowcount)  # 削除された行数を出力

これらの例では、create_engine関数を使用してデータベースエンジンを作成し、connectメソッドを使用してデータベースに接続します。その後、SQL文を作成し、executeメソッドを使用してクエリを実行します。結果はイテレータとして返されるため、ループを使用して結果を出力できます。また、result.rowcountを使用して変更された行数を取得することもできます。

これらの例は一般的なSQL文の出力方法を示していますが、SQLAlchemyはさまざまな高度な機能やクエリビルダーを提供しています。詳細については、SQLAlchemyの公式ドキュメントを参照してください。