My SQL에 관해 질문드립니다.

조회수 664회

안녕하세요.

My SQL 쿼리문과 관련하여 문의드립니다. 웹 개발자가 아니라 쿼리문에 좀 약한대용.

지금 개발하는 프로그램에서 DB의 특정 테이블에서 가지고 있는 총 Column 개수가 몇개인지 구해야 합니다. row 갯수를 구하는 쿼리문은 쉽게 찾을 수 있는 반면, 테이블의 총 컬럼 갯수를 구하는 쿼리문은 안보이더라구요.

혹시 어떻게 구현 가능한지 쿼리문 좀 알려주시면 감사하겠습니다.

그럼 좋은 하루 되세요 ^

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • 사용하시는 mysql 계정에 해당 스키마 접근 권한이 없는 듯 합니다. 아래의 쿼리 후 리턴되는 행수 - 1 하면 컬럼 수와 동일할테니 아래 쿼리로 해보시겠어요? describe 테이블 이름;

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 오 감사합니다. 해당 쿼리를 실행하니 컬럼명들이 row 형태로 리턴되네용. 알 수 없는 사용자 2018.6.29 09:10
    • row로 리턴되는 행수만 있다면 프로그램 내부에서 처리하는 부분은 문제 없으리라 생각됩니다. 감사합니다.!! 좋은 하루 되세용 ^^ 알 수 없는 사용자 2018.6.29 09:11
  • 아래의 방법을 사용하면 될 것 같습니다.

    select count(*) from information_schema.columns where table_name='테이블이름';
    

    만약, 해당 MySQL 서버에 여러개의 schema 가 존재한다면, 아래의 방법으로 데이터를 얻어올 수 있을 듯 합니다.

    select count(*) from information_schema.columns where table_schema='스키마이름' and table_name='테이블이름';
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 안녕하세요. 답변 정말 감사드립니다. 해당 쿼리문을 구글링을 통해 알아내긴 했었는데 information_schema가 존재하지 않는다는 오류를 계속 뱉더라구요... 혹시 이에 대해선 어떻게 해결 가능한지 알 수 있을까요? 알 수 없는 사용자 2018.6.29 08:56

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)