파이썬의 fetchall()
 
Python의 cursor 클래스 메소드 fetchall()과 Python의 데이터베이스에서 데이터를 검색하는 응용 프로그램에서 이를 사용하는 방법을 보여줍니다.
fetchall()을 사용하여 Python의 데이터베이스에서 데이터 검색
    
대부분의 경우 우리는 애플리케이션에서 데이터베이스를 사용합니다. 데이터베이스는 데이터를 저장하는 애플리케이션의 가장 중요한 부분입니다.
Python은 커서를 사용하여 데이터베이스에서 데이터를 검색합니다. fetchall()은 특정 쿼리에 대한 모든 행을 검색하는 데 사용되는 Python의 cursor 메서드 중 하나입니다.
특정 테이블의 모든 데이터를 표시하려면 fetchall() 메서드를 사용하여 모든 행을 가져올 수 있습니다. 이 메서드는 튜플 목록을 반환합니다.
쿼리에 행이 없으면 빈 목록이 반환됩니다. 예제를 살펴보고 예제 테이블을 만들고 Python의 cursor 메서드를 사용하여 데이터를 가져오도록 합시다.
이 예에서는 MySQL 데이터베이스를 사용하므로 mysql-connector-python 모듈을 설치해야 합니다. 그러나 PostgreSQL과 같은 다른 데이터베이스로 작업하려면 Psycopg2를 사용해야 하고, SQLite에서 작업하는 경우 sqlite3을 사용해야 합니다.
따라서 다음 명령을 실행하여 mysql-connector-python을 설치합니다.
pip install mysql-connector-python
MySQL 내부에 새로운 예제 데이터베이스와 테이블을 생성해 보겠습니다.
-in-python-database-name.webp)
우리의 테이블 구조는 아래와 같을 것입니다.
-in-python-database-screenshot.webp)
-in-python-table-structure.webp)
이제 아래와 같이 내부에 데모 데이터를 추가해 보겠습니다.
-in-python-table-data.webp)
mysql-connector-python을 가져오고 아래와 같이 Python의 함수 내부에 데이터베이스 연결을 생성합니다.
# python
import mysql.connector
def getRecords():
    try:
        mydb = mysql.connector.connect(
            host="localhost",
            user="yourusername",
            password="yourpassword"
        )
        mycursor = mydb.cursor()
        print("Connected to MySQL")
테이블에서 데이터를 가져오기 위해 select 쿼리를 생성합니다.
# python
query = "SELECT * FROM test"
mydb.commit()
records = mycursor.fetchall()
print("Total rows are:  ", len(records))
print("Printing each row")
for row in records:
    print("ID: ", row[0])
    print("Name: ", row[1])
    print("Email: ", row[2])
    print("Country: ", row[3])
    print("\n")
mycursor.close()
그리고 결국 우리는 함수를 호출할 것입니다.
# python
getRecords()
출력:
-in-python-example-result.webp)
위의 결과는 fetchall() 메서드를 사용하면 쿼리에서 모든 행을 쉽게 가져올 수 있음을 보여줍니다.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn