을 나열하는 방법에 있는 테이블 SQLite 데이터베이스 파일에는 문을 열었으로 붙어 있는가?
문제
어떤 SQL 을 사용할 수 있는 목록은 테이블,그리고 행 내에서 테이블에서 SQLite 데이터베이스 파일에 한 번가 첨부와 ATTACH
명령에 SQLite3 명령행 도구입니까?
해결책
이 .tables
, 고 .schema
"helper"기능을 보이지 않으로 연결된 데이터베이스:그들이 조회 SQLITE_MASTER
테이블에 대한"주"데이터베이스입니다.결과적으로 사용한 경우
ATTACH some_file.db AS my_db;
당신이해야 할
SELECT name FROM my_db.sqlite_master WHERE type='table';
참고하는 임시 테이블지 않으로 표시 .tables
하나:당신 목록 sqlite_temp_master
는:
SELECT name FROM sqlite_temp_master WHERE type='table';
다른 팁
거기에 몇 가지 단계를 보면 테이블이 SQLite 데이터베이스:
목록 데이터베이스의 테이블:
.tables
목록을 어떻게 보이는 테이블:
.schema tablename
인쇄체 테이블:
SELECT * FROM tablename;
목록을 모두 사용할 수 있 SQLite 명령 프롬프트:
.help
그것은이 나타납해야를 통해 이동 sqlite_master 테이블은 다음과 같습니다.
SELECT * FROM dbname.sqlite_master WHERE type='table';
다음으로 이동을 통해 각각의 테이블 SELECT
또는 이와 유사한 보고서의 행이 있습니다.
이 .DUMP
고 .SCHEMA
명령이 나타나지 않을 참조 데이터베이스에서 모두.
모든 테이블,사용
SELECT name FROM sqlite_master WHERE type = "table"
을 보여 모든 행에,나는 당신을 반복할 수 있는 모든 테이블을 선택*에서 각각의 하나입니다.그러나 어쩌면 덤프신가?
사 .help
을 확인에 대한 사용할 수 있는 명령입니다.
.table
이 명령을 보여 모든 테이블에서 당신의 현재 데이터베이스입니다.
이 명령을 사용할 수 있는 이에 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
목록할 수 있는 테이블도:
SELECT name FROM sqlite_master
WHERE type='table';
도 PRAGMA table_info(table-name);
http://www.sqlite.org/pragma.html#schema
내가 사용하는 이 쿼리하여 그것을 얻을:
SELECT name FROM sqlite_master WHERE type='table'
와 아이폰 os 에서 사용:
NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];
에 따라 문서, 에 해당하는 MySQLs' SHOW 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 대답합니다.
로의 최신 버전의 SQLite3 행할 수 있습니다:
.fullschema
모두 볼 수 만들기 문이 있습니다.
가장 쉬운 방법은 데이터베이스를 열 직접 사용 .dump
명령보다는 부착한 후에 호출 SQLite3 쉘 도구입니다.
그래서...(가정 OS 명령행 프롬프트는$)신 $sqlite3
:
sqlite3> ATTACH database.sqlite as "attached"
에서 당신의 OS 명령,데이터베이스를 열 직접:
$sqlite3 database.sqlite
sqlite3> .dump
를 사용:
import sqlite3
TABLE_LIST_QUERY = "SELECT * FROM sqlite_master where type='table'"
를 통해 union all
, 결합,모든 테이블에 하나의 목록입니다.
select name
from sqlite_master
where type='table'
union all
select name
from sqlite_temp_master
where type='table'
때문에 아무도에 대해 언급하는 공식 참조 SQLite,나는 그것이 유용할 수 있습니다 그것을 참조하십시오에서 이 제목:
https://www.sqlite.org/cli.html
조작할 수 있는 데이터베이스를 사용하여 명령어 설명서 링크가 있습니다.이 당신이 사용하는 경우 윈도우 OS 과 알 수 없는 명령을 포탄은,그 SQLite 사이트:
https://www.sqlite.org/download.html
다운로드 후, 클릭 sqlite3.exe 파일을 초기화 SQLite command shell.초기화될 때,기본적으로 이 SQLite 세션을 사용하여 메모리에 데이터베이스 파일에 디스크,그래서 모든 변경 사항을 잃었을 때 세션을 종료합니다.을 사용하여 지속적인 디스크 파일로 데이터베이스에 입력합".열 ex1.db"명령은 후 즉시 터미널 윈도우 시작됩니다.
위의 예제의 원인 데이터베이스 파일 이름"ex1.db"열고 사용할 수 있게 만들지 않는 경우는 이전에 존재합니다.를 사용할 수 있습 전체 경로명을 지키는 파일이 디렉토리에서 당신이 생각하는 것입니다.앞으로 사용-슬래쉬로 디렉터리 구분자.다시 말해서 사용하"c:/work/ex1.db"이 아닌"c:\work\ex1.db".
모든 테이블에 데이터베이스에서 이전에 선택 명령을 입력 .테이블 그것은 말했다 위에서 링크가 있습니다.
에서 작업하는 경우 윈도우,나는 그것이 유용할 수 있는 이동 sqlite.exe 파일을 동일한 폴더에 다른 Python 파일이 있습니다.이 방식에서는 파이썬 파일에 기록하고 SQLite 쉘에서 읽습니다.db 파일을 같은 경로입니다.
니다."스키마가"특공대 목록을 사용할 수 있는 테이블과 자신의 행하여 문을 만드는 데 사용했다 테이블:
sqlite> create table_a (id int, a int, b int); sqlite> .schema table_a CREATE TABLE table_a (id int, a int, b int);
.다시 모든 데이터베이스는 하나'라는메인'
테이블의 데이터베이스에 의해 보일
SELECT distinct tbl_name 에서 sqlite_master 순서 1;
연결된 데이터베이스를 필요로 접두사 당신은 선택과로 문을 연결 e.g. aa (bb,cc 다)이렇게:
SELECT distinct tbl_name 서 aa.sqlite_master 기 위해 1;
참고 여기에 당신을 얻을 전망뿐만 아니라.제외하려면 이러한 추가 어디 type='테이블' 하기 전에'주문'