모든 데이터베이스에 대한 READ 작업은 데이터베이스에서 유용한 정보를 가져오는 것을 의미합니다.
데이터베이스 연결이 설정되면 이 데이터베이스에 쿼리할 준비가 됩니다. fetchone()을 사용할 수 있습니다. 단일 레코드를 가져오는 메소드 또는 fetchall() 데이터베이스 테이블에서 여러 값을 가져오는 방법입니다.
- 페원() − 쿼리 결과 집합의 다음 행을 가져옵니다. 결과 집합은 커서 개체를 사용하여 테이블을 쿼리할 때 반환되는 개체입니다.
- fetchall() − 결과 집합의 모든 행을 가져옵니다. 결과 집합에서 일부 행이 이미 추출된 경우 결과 집합에서 나머지 행을 검색합니다.
- 행 수 − 이것은 읽기 전용 속성이며 execute() 메서드의 영향을 받은 행 수를 반환합니다.
예시
다음 절차는 급여가 1000 이상인 EMPLOYEE 테이블의 모든 레코드를 쿼리합니다. -
#!/usr/bin/python
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
# prepare a cursor object using cursor() method
cursor = db.cursor()
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# Now print fetched result
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"
# disconnect from server
db.close()에서 출력
이것은 다음과 같은 결과를 생성합니다 -
fname=Mac, lname=Mohan, age=20, sex=M, income=2000