ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • sqllite 정리
    프로그래밍/프로그래밍 관련 2011. 4. 19. 12:55

    SQLite

    1.      SQLite 개념

     

    안드로이드는 모바일 환경에 알맞은 SQLite 데이터베이스를 채택하고 있다.

    SQLite는 일반적인 데이터베이스처럼 데몬을 구동하는 방식이 아니라, 엔진이라 할 수 있는 하나의 라이브러리에 데이터베이스 인터페이스를 병합한 형태다. 게다가 데이터를 단지 파일 하나에만 저장하는 방식이다 이기 때문에 MySQL이나 PostgreSQL에 비해 많은 경우에 2~3배 정도 빠르다.

    SQLite는 자체적으로 매우 적은 메모리를 사용한다. 다른 어떤 데이터베이스보다 적은 메모리를 사용하도록 최대한으로 최적화 되어 있기 때문에 간단하고 편리하게 데이터베이스를 사용하고자 하는 경우에 매우 적합하게 사용할 수 있다.

     

    2.      SQLite의 특징

    -         SQL Database 엔진

    -         데이터베이스당 한 개의 파일에 저장한다.

    -         무료

    -         작은 크기

    -         Server, configuration file, Database Admin 이 불필요

    -         대소문자 구분하지 않는다

    -         관습적으로 첫 번째 필드는 _id로 정의

    -         데이터 타입 (null, integer, real, text, BLOB)

    -         정수 타입에 문자 저장 가능

    -         문자 타입에 정수 저장 가능

     

    3.      테이블 설계 (EX)

    Database name

    data

    Table name

    notes

    Field Name

    _id : integer <primary key , autoincrement>

    title : text

    body : text

     

     

     

     

    4.      쿼리 수행 (EX)

     

    create table notes (_id integer primary key autoincrement, title text not null, body text not

    null);

    drop table if exists notes;

     

    Insert into notes values(1, “note1”, “note1’s body”);

    Insert into notes values(null, “note2”, “note1’s body”);

    Insert into notes values(null, “note3”, “note1’s body”);

    Insert into notes values(null, “note4”, “note1’s body”);

    select * from notes where _id=3;

    delete from notes where _id=3;

     

    5.      테이블 조작 명령어

    Insert into 테이블 명 (필드 명1, 필드 명2…) Values( 1, 2, …);

    Update 테이블 명 Set 필드 명 1=1, 필드 명2=2 Where 조건 절;

    Delete From 테이블 명 Where 조건 절;

    Select 필드 명1, 필드 명2 … From 테이블 명 [Where 조건 절]

                                                                 [Group By 그룹 필드 명, [Having 그룹조건]]

                                                                      [Order By 순서 필드 명

     

    6.      예제 (메모 검색, 내용 검색, 메모 수정, 메모 삭제)

    예제 파일 다운로드 및 참고 자료

    http://jalive.springnote.com/pages/5234931

     

    EX 01) 간단한 노트 리스트를 만든다. 사용자가 새로운 노트를 추가하지만 편집은 못한다.

    ListActivity 의 기초와 메뉴 옵션을 생성하고 다루는 방법을 설명한다.

    노트를 저장하기 위해 SQLite 데이터베이스를 사용한다.

    EX 02) 새로운 액티비티를 만들고, 그것을 안드로이드 매니페스트에 추가하고, 액티비티들 간 데이터 전달, 그리고 더 진보된 화면 레이아웃 사용에 대해 설명한다.

    또한 startActivityForResult() 를 이용해서, 결과를 리턴 하도록 다른 액티비티를 실행(invoke)하는 방법을 보여준다.

    EX 03) 어플리케이션에 라이프 싸이클 이벤트 처리를 추가한다.

    이는 라이플 싸이클에 걸친 어플의 상태를 유지(관리, maintain)하도록 한다.

    출처 - http://blog.naver.com/wh8818

    댓글