반응형

출처 : https://stackoverflow.com/questions/23786674/python-mysqldb-how-to-get-columns-name-without-executing-select-in-a-big-tab

python: MySQLdb. 의 큰 테이블에서 select * 없이 컬럼명을 얻는 방법

저는 테이블에서 컬럼명을 얻고 싶습니다만 100만 개 이상의 데이터가 그 안에 있습니다. 그래서 다음 쿼리를 사용할 수 없습니다.

cursor.execute("SELECT * FROM table_name")
print cursor.description

sqlite3에서 저는 이 방법을 사용하였습니다.

crs.execute("PRAGMA table_info(%s)" %(tablename[0]))
for info in crs:
    print info

이는 python mysqldb에서는 작동하지 않습니다. 방법을 아는 분 계신가요?


5개 답변중 1개의 답변만 추려냄.

당신은 SHOW columns을 사용할 수 있습니다.

cursor.execute("SHOW columns FROM table_name")
print [column[0] for column in cursor.fetchall()]

참고 바람니다. 이는 본질적으로 desc를 사용하는 것과 같습니다.

cursor.execute("desc table_name")
print [column[0] for column in cursor.fetchall()]
반응형
반응형

출처 : http://stackoverflow.com/questions/4960048/python-3-and-mysql

Python 3과 MySQL

저는 Windows에서 ActiveState Python 3를 사용하고 있고 MySQL 데이터베이스에 접속 하기를 원했습니다. 저는 mysqldb 가 사용할 수 있는 모듈이라 들었습니다. 저는 Python 3 용 mysqldb을 찾을 수 없었습니다.

mysqldb용 바이너리 파일이 있는 가능한 저장소가 있습니까? 윈도우즈에서 Python 3로 MySQL에 어떻게 접속할 수 있습니까?


14 개의 답변 중 1 개의 답변

mysql과 함께 Python 3를 사용할 수 있는 몇 가지 옵션이 있습니다.

https://pypi.python.org/pypi/mysql-connector-python

  • Oracle에 의해 공식적으로 지원됨
  • 순수 파이썬
  • 약간 느림
  • MySQLdb와 호환되지 않음

https://pypi.python.org/pypi/pymysql

  • 순수 파이썬
  • mysql-connector 보다 빠름
  • pymysql.install_as_MySQLdb()를 호출한 후, MySQLdb와 거의 대부분 호환됨.

https://pypi.python.org/pypi/cymysql

  • C 속도 향상을 위한 pymysql의 복제버전

https://pypi.python.org/pypi/mysqlclient

  • Django에서 추천하는 라이브러리
  • 원래 MySQLdb의 복제버전, 언젠가 다시 합쳐지길 희망함.
  • 가장 빠른 실행을 보이며 C 기반이기 때문
  • 가장 MySQLdb와 호환성이 좋고, 이 라이브러리가 복제버전이기 때문
  • python-mysqldb패키지와 python3-mysqldb 패키지 둘 다 제공하기 위해 Debian과 Ubuntu가 이를 사용

참고할 벤치마크: https://github.com/methane/mysql-driver-benchmarks

반응형

+ Recent posts