본문 바로가기
Computer & Program/잡다한 이모저모

[Database]간단한 sqlite 사용법

by TDRemon 2012. 11. 12.
반응형

안녕하세요. TDR입니다.


이번에는 sqlite의 사용법에 대해서 간단히 적어보려 합니다. (매번 그렇지만 이건 어디까지나 제가 찾아보기 편하기 위해 적는 글임을 미리 밝힙니다.)


우선 sqlite가 뭐냐 하면 말그래도 lite한 sql 이라고 생각하시면 됩니다. 자세한 내용은 읽은거 같은데 자세한 내용은 기억이 안남으로 찾아보시기 바랍니다. 기억하기로는 다른 데이터베이스에 비해 매우 작은 크기에 안정적이고 크로스 플랫폼을 지원하기 때문에 임베디드 환경에 적합하다고 했던거 같습니다.


그럼 바로 간단히 사용법을 볼까요? 우선 DB를 이용하려면 DB파일을 생성해야겠죠?


& sqlite3 temp.db


위 명령어로 DB파일을 생성할 수 있습니다. 파일 확장자로 db를 붙였는데 확장자 이름은 의무로 db를 붙이지는 않지만 관습적인 네이밍 룰이기 때문에 따르는 것이 좋습니다. 그리고 sqlite의 버젼과 간단한 설명 등이 나옵니다. 아래 그림이 그것입니다.



그리고는 shell창이 "sqlite > "라고 바뀌었습니다. 그럼 이번에는 테이블 생성, 확인, 삭제 방법을 알아보겠습니다. 우선 TABLE 생성 방법 입니다.


* TABLE 생성

> create table table_name(

> id integer primary key autoincrement,

> name text,

> age integer);


* TABLE 확인

> .table


* TABLE 삭제

> drop table table_name


설명을 하자면 table_name이라도 되어 있는 부분에 말그대로 table 이름을 써주면 됩니다. 그리고 모든 table에 필요한 primary key를 정해주고 알아서 1씩 커지게 하기위해 autoincrement를 선언해 줬습니다. 그리고 테스트를 위해 "name text"와 "age integer"를 선언해 줬습니다. 그럼 테이블도 생성 했겠다, 정말 잘 생성됐는지 확인해 볼까요?



잘 생성 되었네요. > .table이라는 명령어로 현재 생성되어 있는 모든 table을 확인할 수 있습니다. 지금은 table_name이라는 table 하나밖에 생성되어 있지 않은 상태여서 하나 밖에 안나오는데 만약에 이것 이외에도 생성했다면 전부 다 표시됩니다. 그럼 자료를 넣기 전에 혹시나 잘 못 생성한 table이나 불필요한 table을 삭제하는 방법을 먼저 보겠습니다.



먼저 .table로 현재 table의 현황을 확인해보니 table_name이라는 table 하나 있는 것이 확인 됐습니다. 그래서 그걸 drop table로 삭제한 후 다시 .table로 확인해보니 지워진 것이 확인 됐습니다. 일단 대략적인 table에 관한 내용은 이정도로 하고 다음에는 자료의 입력, 편집, 확인, 삭제 방법을 알아보도록 하겠습니다.


* 데이터 입력

> insert into table_name(name, age) values("입력할 이름",입력할 나이);


* 데이터 편집

> update table_name set name="수정할 이름", age=수정할 나이 where id=편집할려고 하는 아이디;


* 데이터 확인

> select *(확인 할 항목) from table_name where (확인할 조건);


* 데이터 삭제

> delete from table_name where id=지울려고 하는 아이디;


위의 박스만 봐도 너무 쉽게 알 수 있을 거라 생각되지만 참고하시라고 간단한 예를 하나 보겠습니다.




처음 부분에서 위에서 했던 예와 동일한 table을 하나 생성했습니다. 그리고 대~충 값을 3개 정도 넣었습니다. 참고로 반드시 name, age 순서가 아니여도 무방합니다. 예를 들어...


> insert into tabla_name(name, age) values("A" ,11);

> insert into tabla_name(age, name) values(11, "A");


위의 2개는 완전히 똑같은 명령입니다. 그리고 select 문으로 현재 table 내부의 상태를 확인해 보았습니다. 위에 박스에 "*(확인 할 항목)"이라고 되어 있고 where 뒤에 "확인할 조건"이라고 되어 있는 부분이 있는데 만약 나는 age 정보는 필요 없으니 age가 20보다 큰 name만 보고 싶다, 라고 한다면...


> select name from table_name where age > 20;


이라고 해주면 됩니다. 지금은 예를 들기 위해 만든 table이다보니 데이터의 항목도 적고 양도 적어 그냥,


> select * from table_name;


이라고만 해서 모든 table 내용을 다 봐도 크게 문제 될거 없지만 나중에 data의 양이 많아지면 전부 표시하는 것도 힘들기 때문에 위와 같이 나에게 필요한 정보만을 간추려 볼 줄 알아야 합니다. 그 다음에는 updata를 이용하여 값을 수정하였고 마지막에 delete를 사용하여 값을 삭제해 보았습니다. 


위의 예와 박스 글을 보면 충분히 이해하 실 수 있으리라 믿고 이만 쓰겠습니다.

반응형

댓글