MySQL의 DESCRIPT [표]와 동등한 SQLite가 있습니까?
SQLite는 이제 막 배우기 시작했어요.MySQL과 같은 테이블의 세부사항을 볼 수 있으면 좋겠습니다.DESCRIBE [table]
.PRAGMA table_info [table]
기본 정보만 있기 때문에 충분하지 않습니다(예를 들어 열이 어떤 종류의 필드인지 여부는 표시되지 않습니다).SQLite에서 이 작업을 수행할 수 있습니까?
SQLite 명령줄 유틸리티에는.schema TABLENAME
명령어를 사용하여 create 문을 표시합니다.
PRAGMA table_info([tablename]);
테이블 생성에 사용할 SQL을 찾고 계십니까?이를 위해 테이블을 쿼리할 수 있습니다.
sqlite> CREATE TABLE foo (bar INT, quux TEXT);
sqlite> SELECT * FROM sqlite_schema;
table|foo|foo|2|CREATE TABLE foo (bar INT, quux TEXT)
sqlite> SELECT sql FROM sqlite_schema WHERE name = 'foo';
CREATE TABLE foo (bar INT, quux TEXT)
대체 이름
스키마 테이블은 항상 이름을 사용하여 참조할 수 있습니다.
sqlite_schema
특히 다음과 같은 스키마 이름으로 한정되는 경우main.sqlite_schema
또는temp.sqlite_schema
그러나 이력 호환성을 위해 다음과 같은 대체 이름도 인식됩니다.
sqlite_master
sqlite_temp_schema
sqlite_temp_master
대체 방법 (2) 및 (3)은 각 데이터베이스 연결과 관련된 TEMP 데이터베이스에서만 작동하지만 대체 방법 (1)은 어디에서나 작동합니다.
모든 테이블을 표시하려면:
.tables
특정 테이블을 표시하려면:
.schema [tablename]
다른 답변에 대한 일부 코멘트로 인해 사람들이 오도되는 것을 방지하려면:
- 한다면
.schema
또는query from sqlite_master
어떤 출력도 주지 않습니다.이것은 존재하지 않는 것을 나타냅니다.tablename
(예를 들어, 이것은, 다음의 경우에 의해서도 발생할 수 있습니다).;
마지막 세미콜론.schema
,.tables
또는 테이블이 존재하지 않기 때문이기도 합니다.그거.schema
sqlite 프로젝트에서 버그 보고서를 제출해야 합니다.
.schema는 명령줄에서만 사용할 수 있습니다.위 명령어>는 라이브러리(Python, C# 등)를 통한 쿼리로 실행할 수 있습니다.– Mark Rushakoff 2010년 7월 25일 21:09
- '명령줄에서만 사용할 수 있다'는 오해의 소지가 있다.거의 모든 프로그래밍 언어가 다른 프로그램/명령어를 호출할 수 있습니다.따라서 인용된 코멘트는 이 경우 다른 프로그램을 호출하기 때문에 운이 없습니다.
sqlite
는 언어보다 지원 대상이 될 가능성이 높습니다.wrapper
/library
모든 프로그램에 대해(많은 프로그램이 있기 때문에 불완전하기 쉬울 뿐만 아니라 역행동입니다).single-source principle
복잡하다maintenance
이는 전 세계 데이터의 혼란을 가중시키고 있습니다.)
그래픽 도구를 사용하는 경우.테이블 이름 바로 옆에 스키마가 표시됩니다.DB 브라우저의 경우 SQLite의 경우, 데이터베이스를 클릭하여 열고(오른쪽 상단 모서리), 데이터베이스를 탐색하여 열면 다음과 같이 표에 입력된 정보가 표시됩니다.
record/table_name 우클릭 후 copy create statement를 클릭하면 나타납니다.
명령줄을 사용하지 못한 초심자에게 도움이 됐으면 합니다.
".schema"는 "PRAGMA"보다 테이블 구속조건을 포함한 테이블의 자세한 내용을 표시할 수 있습니다.
다음 명령어는 모든 테이블의 세부사항을 보여줍니다.
.schema
다음 명령어는 모든 테이블의 세부사항을 올바른 형식으로 보여줍니다.
.schema --indent
다음 명령어는 1개의 테이블에 대한 자세한 내용을 보여 줍니다.
.schema <table_name>
다음 명령어는 1개의 테이블에 대한 자세한 내용을 적절한 형식으로 보여줍니다.
.schema --indent <table_name>
또는 다음 중 하나를 선택합니다.
.schema <table_name> --indent
또한 다음 명령어는 ".schema"에 대한 자세한 내용을 보여줍니다.
.help .schema
또는 다음 중 하나를 선택합니다.
.help schema
그러면 다음과 같이 표시됩니다.
sqlite> .help .schema
.schema ?PATTERN? Show the CREATE statements matching PATTERN
Options:
--indent Try to pretty-print the schema
--nosys Omit objects whose names start with "sqlite_"
언급URL : https://stackoverflow.com/questions/3330435/is-there-an-sqlite-equivalent-to-mysqls-describe-table
'programing' 카테고리의 다른 글
LIKE 문을 사용하여 PDO 파라미터화된 쿼리를 작성하려면 어떻게 해야 합니까? (0) | 2022.11.01 |
---|---|
스프링 부트 @ResponseBody가 엔티티 ID를 직렬화하지 않음 (0) | 2022.11.01 |
phpMyAdmin 행을 편집 또는 삭제하려고 하면 오류 #1064가 나타납니다. (0) | 2022.11.01 |
Lombok이 추가했지만 Intellij IDEA에서 getters와 setters가 인식되지 않음 (0) | 2022.11.01 |
OS X에서 NODE_ENV를 운영/개발로 설정하는 방법 (0) | 2022.11.01 |