sqlite3 테이블의 스키마(schema)를 출력하는 Python 예제코드
sqlite3 테이블의 스키마(schema)를 출력하는 Python 예제코드입니다.
2023. 11. 25 최초작성
2024. 3. 7 에러처리 코드 추가
기존에 작성된 다음 포스트에서 만든 데이터베이스 테이블을 사용하여 진행합니다.
sqlite3 테이블에 데이터 삽입하는 Python 예제코드
https://webnautes.tistory.com/2225
import sqlite3 database_file_path = 'zodiac.db' # 데이터베이스 파일 이름입니다. table_name = 'zodiac' # 테이블 이름입니다. try: conn = sqlite3.connect(database_file_path) cursor = conn.cursor() print("Database connection successful!") except sqlite3.Error as e: print(f"Database connection failed: {e}") exit() # database_file_path에 위치한 SQLite 데이터베이스 파일에 연결을 시도합니다. # 이 경로에 파일이 존재하지 않으면, 새 데이터베이스 파일을 생성합니다. # 데이터베이스 파일에 연결이 성공하면 Connection 객체를 반환합니다. cursor = conn.cursor() # 데이터베이스에 SQL 쿼리를 실행할 때 사용되는 Cursor 객체를 반환합니다. # 이 Cursor 객체를 사용하여 SQL 명령을 데이터베이스에 보내고, 결과를 받을 수 있습니다. query = f"PRAGMA table_info({table_name})" # PRAGMA 문은 SQLite에서 제공하는 특수 명령으로, 데이터베이스의 설정을 변경하거나, 데이터베이스 내부의 정보를 검색하는 데 사용됩니다. # table_info({table_name}) PRAGMA 함수는 괄호 안에 주어진 table_name 변수의 값에 해당하는 테이블의 스키마 정보를 반환합니다. try: cursor.execute(query) except sqlite3.Error as e: print(f"pragma failed : {e}") # Cursor 객체의 execute 메소드를 사용하여 지정된 쿼리를 데이터베이스 엔진에 전달합니다. # 여기에선 테이블의 스키마를 가져옵니다. columns = cursor.fetchall() # cursor에 의해 실행된 마지막 `SELECT` 쿼리의 결과로 반환된 모든 행(row)을 가져와 변수 results에 저장합니다. # 각 행은 튜플 형식으로 저장되며, 이 튜플들의 리스트가 변수 results에 저장됩니다. conn.close() # close() 메소드를 사용하여 데이터베이스 연결을 안전하게 종료합니다. for col in columns: print(col) # 결과 데이터를 출력합니다. |
실행결과 테이블 구조를 정의한 스키마(schema)를 출력해줍니다.
Database connection successful! (0, 'year', 'INTEGER', 0, None, 1) (1, 'animal', 'TEXT', 0, None, 0) |
출력된 각 튜플은 데이터베이스 테이블의 컬럼을 기술하는 정보를 담고 있습니다.
(0, 'year', 'INTEGER', 0, None, 1)
year 라는 이름의 컬럼은 INTEGER 타입이며, 튜플의 마지막 값이 1이라서 이 컬럼이 테이블의 기본 키(primary key)로 사용된다는 것을 나타냅니다.
(1, 'animal', 'TEXT', 0, None, 0)
animal 이라는 이름의 컬럼은 TEXT 타입이며, 튜플의 마지막 값이 0이라서 이 컬럼이 테이블의 기본 키가 아니라는 것을 나타냅니다
sqlite3 테이블에 데이터 삽입하는 Python 예제코드
https://webnautes.tistory.com/2225
sqlite3 테이블 출력하는 Python 예제
https://webnautes.tistory.com/2372
sqlite3 테이블에 있는 레코드 개수 세는 Python 예제코드
https://webnautes.tistory.com/2223
sqlite3 테이블에 있는 레코드 하나를 랜덤으로 보여주는 Python 예제
https://webnautes.tistory.com/2224
sqlite3 테이블에서 데이터를 검색하는 Python 예제코드
https://webnautes.tistory.com/2226
sqlite3 테이블에서 중복값을 찾는 Python 예제코드
https://webnautes.tistory.com/2233
sqlite3 테이블의 스키마(schema)를 출력하는 Python 예제코드
https://webnautes.tistory.com/2227