SQLite 3 명령줄 도구 ATTACH
명령으로 연결한 후 SQLite 데이터베이스 파일의 테이블과 해당 테이블 내의 행을 나열하는 데 사용할 수 있는 SQL은 무엇입니까?
질문자 :izb
SQLite 데이터베이스에서 테이블을 보는 몇 가지 단계가 있습니다.
데이터베이스의 테이블 나열:
.tables
테이블이 어떻게 보이는지 나열하십시오.
.schema tablename
전체 테이블 인쇄:
SELECT * FROM tablename;
사용 가능한 모든 SQLite 프롬프트 명령을 나열합니다.
.help
Mark Janssen
.tables
및 .schema
"helper" 함수는 ATTACHed 데이터베이스를 조사하지 않습니다. "main" 데이터베이스에 대한 SQLITE_MASTER
결과적으로 다음을 사용한 경우
ATTACH some_file.db AS my_db;
그럼 당신은 할 필요가
SELECT name FROM my_db.sqlite_master WHERE type='table';
.tables
와 함께 표시되지 않습니다 sqlite_temp_master
위해 sqlite_temp_master를 나열해야 합니다.
SELECT name FROM sqlite_temp_master WHERE type='table';
Anthony Williams
다음과 같이 sqlite_master 테이블을 살펴봐야 합니다.
SELECT * FROM dbname.sqlite_master WHERE type='table';
SELECT
또는 이와 유사한 기능을 사용하여 각 테이블을 수동으로 살펴보고 행을 확인합니다.
.DUMP
및 .SCHEMA
명령은 데이터베이스를 전혀 보지 않는 것으로 보입니다.
Lasse V. Karlsen
모든 테이블을 표시하려면 다음을 사용하십시오.
SELECT name FROM sqlite_master WHERE type = "table"
모든 행을 표시하려면 모든 테이블을 반복하고 각 테이블에 대해 SELECT *를 수행하면 됩니다. 그러나 아마도 DUMP가 당신이 추구하는 것입니까?
Christian Davén
.help
를 사용하여 사용 가능한 명령을 확인하십시오.
.table
이 명령은 현재 데이터베이스 아래의 모든 테이블을 표시합니다.
Antony.H
SQLite 명령줄에서 이에 사용할 수 있는 명령이 있습니다.
.tables ?PATTERN? List names of tables matching a LIKE pattern
다음 SQL로 변환됩니다.
SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' UNION ALL SELECT name FROM sqlite_temp_master WHERE type IN ('table','view') ORDER BY 1
flubba
테이블을 나열하려면 다음을 수행할 수도 있습니다.
SELECT name FROM sqlite_master WHERE type='table';
Rafał Dowgird
PRAGMA table_info(table-name);
http://www.sqlite.org/pragma.html#schema
Luiz Geron
이 쿼리를 사용하여 가져옵니다.
SELECT name FROM sqlite_master WHERE type='table'
iOS에서 사용하려면:
NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];
GameLoading
문서 에 따르면 SHOW TABLES;
와 동일합니다. 이다:
".tables" 명령은 목록 모드를 설정한 후 다음 쿼리를 실행하는 것과 유사합니다.
SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' UNION ALL SELECT name FROM sqlite_temp_master WHERE type IN ('table','view') ORDER BY 1;
그러나 단일 테이블이 있는지 확인하거나 세부 정보를 얻으려면 LuizGeron의 답변을 참조하십시오.
Alix Axel
최신 버전의 SQLite 3에서 다음을 실행할 수 있습니다.
.fullschema
모든 create 문을 보려면
pepper
이를 수행하는 가장 쉬운 방법은 SQLite 3 셸 도구를 호출한 후 연결하는 대신 .dump
그래서... (OS 명령줄 프롬프트가 $라고 가정) $sqlite3
대신:
sqlite3> ATTACH database.sqlite as "attached"
OS 명령줄에서 데이터베이스를 직접 엽니다.
$sqlite3 database.sqlite sqlite3> .dump
Noah
union all
통해 모든 테이블을 하나의 목록으로 결합합니다.
select name from sqlite_master where type='table' union all select name from sqlite_temp_master where type='table'
openwonk
사용하다:
import sqlite3 TABLE_LIST_QUERY = "SELECT * FROM sqlite_master where type='table'"
Mrityunjay Singh
아무도 SQLite의 공식 참조에 대해 언급하지 않았으므로 이 제목에서 참조하는 것이 유용할 수 있습니다.
https://www.sqlite.org/cli.html
이 링크에 설명된 명령을 사용하여 데이터베이스를 조작할 수 있습니다. 게다가 Windows OS를 사용 중이고 명령 셸이 어디에 있는지 모르는 경우 SQLite 사이트에 있습니다.
https://www.sqlite.org/download.html
다운로드 후 sqlite3.exe 파일을 클릭하여 SQLite 명령 셸을 초기화합니다 . 초기화될 때 기본적으로 이 SQLite 세션은 디스크의 파일이 아닌 메모리 내 데이터베이스를 사용하므로 세션이 종료되면 모든 변경 사항이 손실됩니다. 영구 디스크 파일을 데이터베이스로 사용하려면 터미널 창이 시작된 직후 ".open ex1.db" 명령을 입력하십시오.
위의 예는 "ex1.db"라는 데이터베이스 파일을 열어 사용하고 이전에 존재하지 않는 경우 생성합니다. 파일이 있다고 생각하는 디렉토리에 있는지 확인하기 위해 전체 경로 이름을 사용할 수 있습니다. 디렉토리 구분 문자로 슬래시를 사용하십시오. 즉, "c:\work\ex1.db"가 아닌 "c:/work/ex1.db"를 사용합니다.
이전에 선택한 데이터베이스의 모든 테이블을 보려면 위 링크에서 설명한 대로 .tables 명령을 입력하십시오.
Windows에서 작업하는 경우 이 sqlite.exe 파일을 다른 Python 파일과 동일한 폴더로 이동하는 것이 유용할 수 있다고 생각합니다. 이런 식으로 Python 파일은 .db 파일에 쓰고 SQLite 셸은 동일한 경로에 있습니다.
oiyio
".schema" 특공대는 해당 테이블을 생성하는 데 사용된 명령문을 보여줌으로써 사용 가능한 테이블과 해당 행을 나열합니다.
sqlite> table_a 생성 (id int, a int, b int); sqlite> .스키마 테이블_a CREATE TABLE table_a (id int, a int, b int);
trf
모든 데이터베이스를 보려면 .da 를 사용하세요. 하나는 '메인 '입니다.
이 데이터베이스의 테이블은 다음을 통해 볼 수 있습니다.
SELECT distinct tbl_name from sqlite_master order by 1;
연결된 데이터베이스에는 ATTACH 문에서 AS로 선택한 접두사가 필요합니다 (예: aa (, bb, cc...)).
SELECT distinct tbl_name from **aa.sqlite_master** order by 1;
여기서도 뷰를 볼 수 있습니다. 이러한 항목을 제외하려면 다음을 추가하십시오.
where type = 'table'
'주문' 전에
Klaas-Z4us-V
출처 : http:www.stackoverflow.com/questions/82875/how-can-i-list-the-tables-in-a-sqlite-database-file-that-was-opened-with-attach
'etc. > StackOverFlow' 카테고리의 다른 글
단일 파일의 하드 리셋 (0) | 2023.04.24 |
---|---|
wait()와 sleep()의 차이점 (0) | 2023.04.24 |
특정 속성에 대한 LINQ의 Distinct() (0) | 2023.04.24 |
NaN 값을 어떻게 확인할 수 있습니까? (0) | 2023.04.24 |
PostgreSQL 데이터베이스의 모든 테이블을 삭제하려면 어떻게 해야 합니까? (0) | 2023.04.24 |