Programming

MySQL의 DESCRIBE [table]에 해당하는 SQLite가 있습니까?

procodes 2020. 2. 19. 22:16
반응형

MySQL의 DESCRIBE [table]에 해당하는 SQLite가 있습니까?


SQLite를 배우기 시작했습니다 . MySQL과 같은 테이블의 세부 정보를 볼 수 있다면 좋을 것 DESCRIBE [table]입니다. PRAGMA table_info [table]기본 정보 만 가지고 있기 때문에 충분하지 않습니다 (예 : 열이 일종의 필드인지 여부를 표시하지 않음). SQLite가 이것을 할 수있는 방법이 있습니까?


SQLite는 명령 행 유틸리티는.schema TABLENAME당신 쇼가 문을 생성 할 것을 명령합니다.


PRAGMA table_info([tablename]);

테이블을 생성하는 데 사용 된 SQL을 찾고 있습니까? 이를 위해 테이블을 쿼리sqlite_master 할 수 있습니다 .

sqlite> CREATE TABLE foo (bar INT, quux TEXT);
sqlite> SELECT * FROM sqlite_master;
table|foo|foo|2|CREATE TABLE foo (bar INT, quux TEXT)
sqlite> SELECT sql FROM sqlite_master WHERE name = 'foo';
CREATE TABLE foo (bar INT, quux TEXT)

모든 테이블을 보려면

.tables

특정 테이블을 보려면

.schema [tablename]

다른 답변에 대한 일부 의견으로 사람들이 오도되는 것을 방지하려면 :

  1. 경우 .schema또는 query from sqlite_master모든 출력을 제공하지, 그것은 존재하지 않는 나타냅니다 tablename이것은 또한 발생할 수 있습니다 예를 들어, ;의 끝에 세미콜론 .schema, .tables... 또는 테이블이 정말로 존재해서. 그것은 .schema작동하지 않을 가능성이 높으며 버그 보고서는 sqlite 프로젝트에 제출해야합니다.

... .schema는 명령 행에서만 사용할 수 있습니다. 위의 명령>은 라이브러리 (Python, C # 등)를 통해 쿼리로 실행할 수 있습니다. – Mark Rushakoff 7 월 25 일 10시 21:09

  1. '명령 줄에서만 사용할 수 있습니다'는 사람들을 오도 할 수 있습니다. 거의 모든 프로그래밍 언어는 다른 프로그램 / 명령을 호출 할 수 있습니다. 따라서 다른 프로그램을 호출하는 경우 인용 된 의견은 불행합니다.이 경우 sqlite언어는 모든 프로그램에 대해 wrapper/ library제공하는 것보다 더 많은 지원을받을 가능성이 높습니다 (이 프로그램은 대량의 프로그램의 본질로 인해 불완전한 경향이있을뿐만 아니라) 세상의 데이터 혼돈을 진작시키기 위해 역행 single-source principle하고 복잡하게 만듭니다 maintenance.

그래픽 도구를 사용하는 경우 테이블 이름 옆에 스키마가 표시됩니다. 의 경우에는 SQLite는 대한 DB 브라우저 , 탐색, 데이터베이스 (오른쪽 상단)를 열고 데이터베이스를 열 클릭하면 아래와 같은 표에 채워 정보를 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

record / table_name을 마우스 오른쪽 단추로 클릭하고 copy create 문을 클릭하십시오 .

커맨드 라인 작업에 실패한 초보자에게 도움이 되었기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/3330435/is-there-an-sqlite-equivalent-to-mysqls-describe-table



반응형