Python での外部 SQL スクリプトの読み取り
質問: Python スクリプト内から外部 SQL クエリを実行するにはどうすればよいですか? 、特にテーブル作成以外を扱う場合queries?
説明:
Python で SQL コマンドを実行するには、sqlite3 モジュールを使用できます。このモジュールは、SQLite データベース管理システムへのインターフェイスを提供します。外部 SQL スクリプトを読み取るには、次の手順に従います。
コード例:
import sqlite3 # Open the database connection conn = sqlite3.connect('database.db') c = conn.cursor() # Read the SQL file with open('external_sql.sql', 'r') as f: sql_file = f.read() # Split the commands sql_commands = sql_file.split(';') # Execute the commands for command in sql_commands: try: c.execute(command) except sqlite3.OperationalError as e: print(f"Command skipped: {e}") # Commit the changes and close the connection conn.commit() c.close() conn.close()
特定のクエリ:
提供された SQL スクリプトのクエリ 1.1 および 1.2 は、テーブル作成以外のクエリです。これらを実行するには、SELECT * クエリではなく c.execute メソッドを直接使用できます:
# Query 1.1 result = c.execute( """ SELECT ANAME,zookeepid FROM ANIMAL, HANDLES WHERE AID=ANIMALID; """ ) # Get the results rows = result.fetchall() # Print the results print("Query 1.1:") for row in rows: print(row) # Query 1.2 result = c.execute( """ SELECT ZNAME, SUM(TIMETOFEED) FROM ZOOKEEPER, ANIMAL, HANDLES WHERE AID=ANIMALID AND ZOOKEEPID=ZID GROUP BY zookeeper.zname; """ ) # Get the results rows = result.fetchall() # Print the results print("Query 1.2:") for row in rows: print(row)
以上がPython で外部 SQL クエリ (テーブル作成以外のクエリを含む) を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。