SQLite 자습서(8): 명령행 도구 설명

4827 단어
일을 잘하려면 반드시 먼저 그릇을 이롭게 해야 한다.SQLite의 명령행 도구를 잘 배우는 것은 SQLite 자체를 배우는 데 매우 도움이 된다.가장 기본적인 것은 SQLite를 배우는 과정을 더욱 가볍고 즐겁게 하는 것이다.본론으로 돌아가자. SQLite의 공식 다운로드 사이트에서 여러 플랫폼을 지원하는 명령행 도구를 제공했다. 이 도구를 사용하면 우리는 대부분의 일반적인 SQLite 조작을 완성할 수 있다. 예를 들어 sqlplus가 Oracle에 있는 것과 같다.다음 목록에서는 도구에 대한 내장 명령을 제공합니다.
명령명
명령 설명
.help
모든 내장 명령을 나열합니다.
.backup DBNAME FILE
지정한 데이터베이스를 지정한 파일로 백업합니다. 현재 연결된main 데이터베이스가 부족합니다.
.databases
현재 연결에 있는attached 데이터베이스 이름과 파일 이름을 보여 줍니다.
.dump TABLENAME ...
SQL 텍스트 형식으로DUMP가 현재 연결된main 데이터베이스입니다. 테이블 이름을 지정하면DUMP와 테이블 이름이 일치하는 데이터 테이블입니다.TABLENAME 매개변수는 LIKE 표현식이 지원하는 와일드카드를 지원합니다.
.echo ON|OFF
디스플레이 출력을 열거나 닫습니다.
.exit
현재 프로그램을 종료합니다.
.explain ON|OFF
현재 연결된 SELECT를 Human Readable 형식으로 내보내거나 끕니다.
.header(s) ON|OFF
SELECT 결과를 표시할 때 열의 제목을 표시할지 여부입니다.
.import FILE TABLE
지정한 파일의 데이터를 지정한 테이블에 가져옵니다.
.indices TABLENAME
모든 인덱스의 이름을 표시하고, 테이블 이름을 지정하면, 테이블 이름과 일치하는 데이터 테이블의 인덱스만 표시하며, 인자 TABLENAME는 LIKE 표현식이 지원하는 어댑터를 지원합니다.
.log FILE|off 
로그 기능을 열거나 닫습니다. FILE는 표준 출력 stdout이나 표준 오류를 출력할 수 있습니다.
.mode MODE TABLENAME
출력 모드를 설정합니다. 여기서 가장 자주 사용하는 모드는column 모드입니다. SELECT 출력 열을 왼쪽으로 정렬해서 표시합니다.
.nullvalue STRING 
NULL 값 표시를 지정된 문자열로 대체합니다.
.output FILENAME 
현재 명령의 모든 출력을 지정한 파일로 다시 지정합니다.
.output stdout 
현재 명령의 모든 출력을 표준 출력(스크린)으로 리디렉션합니다.
.quit 
현재 프로그램을 종료합니다. 
.read FILENAME 
지정된 파일의 SQL 문을 실행합니다.
.restore DBNAME FILE 
지정한 파일에서 데이터베이스를 복원하려면main 데이터베이스가 부족합니다. 이 때도 다른 데이터베이스 이름을 지정할 수 있습니다. 지정된 데이터베이스는 현재 연결된attached 데이터베이스가 됩니다.
.schema TABLENAME
테이블 이름을 지정하면 테이블 이름과 일치하는 데이터 테이블 작성 문만 표시되고 매개변수 TABLENAME는 LIKE 표현식이 지원하는 와일드카드를 지원합니다.
.separator STRING
출력 모드 및.import의 필드 간 구분자입니다.
.show
다양한 설정의 현재 값을 표시합니다.
.tables TABLENAME
현재 연결 중main 데이터베이스에 있는 모든 테이블 이름을 표시합니다. 테이블 이름을 지정하면 이 테이블 이름과 일치하는 데이터 테이블 이름만 표시하고, 파라미터 TABLENAME는 LIKE 표현식이 지원하는 어댑터를 지원합니다.
.width NUM1 NUM2 ...
MODE가column일 때, 각 필드의 폭을 설정합니다. 주의: 이 명령의 매개 변수 순서는 필드의 출력 순서를 나타냅니다.
일반적인 예는 다음과 같습니다.
    1). 데이터베이스 백업 및 복원 
 
  
    -- main , .backup main D:/mydb.db 。
    sqlite> CREATE TABLE mytable (first_col integer);
    sqlite> .backup 'D:/mydb.db'
    sqlite> .exit
    -- sqlite3.exe SQLite 。
    -- D:/mydb.db main , .tables mytable 。
    sqlite> .restore 'D:/mydb.db'
    sqlite> .tables
    mytable
   

    2). DUMP 데이터 테이블이 지정된 파일까지 생성됩니다.
 
 
  
    -- D:/myoutput.txt, mytable 。
    sqlite> .output D:/myoutput.txt
    sqlite> .dump mytabl%
    sqlite> .exit
    -- DOS 。
    D:\>notepad myoutput.txt
   

    3). 현재 연결된 모든 Attached 데이터베이스와main 데이터베이스를 표시합니다.
 
 
  
    sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb;
    sqlite> .databases
    seq  name               file
    ---  ---------------  ------------------------
    0    main
    2    mydb                D:\mydb.db
   

    4). main 데이터베이스에 있는 모든 데이터 테이블을 표시합니다.
 
 
  
    sqlite> .tables
    mytable
   

    5). 테이블 이름 mytabl%와 일치하는 데이터 테이블의 모든 인덱스를 표시합니다.
 
 
  
    sqlite> CREATE INDEX myindex on mytable(first_col);
    sqlite> .indices mytabl%
    myindex       
   

    6). 테이블 이름 mytable%와 일치하는 데이터 테이블의 Schema 정보를 표시합니다.
 
 
  
    -- 。
    sqlite> .schema mytabl%
    CREATE TABLE mytable (first_col integer);
    CREATE INDEX myindex on mytable(first_col);
   

    7). 서식은 SELECT의 출력 정보를 표시합니다.
 
 
  
    --
    sqlite> INSERT INTO mytable VALUES(1);
    sqlite> INSERT INTO mytable VALUES(2);
    sqlite> INSERT INTO mytable VALUES(3);   
    -- SELECT 。
    sqlite> SELECT * FROM mytable;
    1
    2
    3   
    -- SELECT 。
    -- 。
    -- 10.
    sqlite> .header on
    sqlite> .mode column
    sqlite> .width 10
    sqlite> SELECT * FROM mytable;
    first_col
    ----------
    1
    2
    3
 

좋은 웹페이지 즐겨찾기