파이썬의 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 내부에 새로운 예제 데이터베이스와 테이블을 생성해 보겠습니다.
우리의 테이블 구조는 아래와 같을 것입니다.
이제 아래와 같이 내부에 데모 데이터를 추가해 보겠습니다.
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()
출력:
위의 결과는 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