집 >데이터 베이스 >MySQL 튜토리얼 >Python에서 외부 SQL 쿼리(테이블이 아닌 생성 쿼리 포함)를 실행하는 방법은 무엇입니까?
Python에서 외부 SQL 스크립트 읽기
질문: Python 스크립트 내에서 외부 SQL 쿼리를 어떻게 실행할 수 있나요? , 특히 테이블 생성이 아닌 작업을 처리할 때 쿼리?
설명:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!