본문 바로가기

데이터베이스/SQLite10

맥북에서 SQLite 용량 줄이기 윈도우즈의 DB Browser for SQLite 툴의 메뉴에서 DB 파일의 용량을 줄였습니다. 하지만 맥OS의 DB Browser for SQLite에서는 해당 기능이 없네요. ㅠㅠ DB 파일의 용량을 줄이기 위해서는 아래의 명령어를 SQL에서 실행하면 용량이 줄어듭니다. VACUUM; 1. 용량 줄이기 전 SQLite 파일의 크기입니다. 2. DB Browser for SQLite에서 VACUUM을 쿼리 실행 화면에서 실행합니다. 3. 아래와 같이 DB 파일 청소 작업을 할 것인지 물어봅니다. 예를 클릭하면 청소작업을 수행합니다. 4. 아래와 같이 약 1MB 줄어드었습니다. 2022. 11. 27.
SQLite - LIMIT OFFSET를 활용한 페이징 처리 오라클에서는 Inline View와 Rownum을 이용하여 페이징 처리를 합니다. SQLite는 더 편리하게 Limit Offset을 활용하여 더욱 쉽게 처리 할 수 있습니다. 1. 전체 데이터 - 아래의 쿼리는 특정위치(위도/경도)에서 가까운 순서로 정렬하는 쿼리입니다. SELECT NAME, LAT, LON FROM SCHOOL_LOC ORDER BY ABS(LAT - 37.5670135) * ABS(LAT - 37.5670135) + ABS(LON - 126.9783740) * ABS(LON - 126.9783740) 2. LIMIT를 이용한 상위 2개만 얻기 SELECT NAME, LAT, LON FROM SCHOOL_LOC ORDER BY ABS(LAT - 37.5670135) * ABS(LAT.. 2021. 4. 23.
SQLite 오라클의 NVL과 같은 NULL 처리 SQLite에서 오라클의 NVL과 같은 NULL 값을 처리하는 함수는 IFNULL입니다. IFNULL(X,Y)는 X가 NULL일 경우 Y를 표시하고, NULL이 아니면 X를 표시합니다. [테이블] [쿼리] SELECT ID, NAME, IFNULL(NAME, '이름없음') FROM TEST [결과] 2021. 3. 4.
SQLite - Select 결과 JSON으로 변경하기 요즘 XML보다 JSON을 많이 활용하고 있습니다. 예를 들면 REST 방식의 Open API 등 있겠죠. SQLite에서 Select문의 결과를 JSON으로 변화하는 함수가 존재합니다. (1) json_object : JSON 오브젝트를 생성 (2) json_group_array : JSON 배열 생성 아래의 테이블에 대해서 간단한 쿼리를 소개하겠습니다. 1. Select 결과의 각 Row를 JSON 오브젝트로 변경 쿼리 SELECT json_object('name', NAME, 'name_loc', NAME_LOC, "url", WIKI_URL) AS json_result FROM NATION_KO WHERE NAME_LOC like '%국' [결과] 2. Select 결과의 한 컬럼에 대해서 JSO.. 2021. 3. 2.
SQLite에서 오라클의 DECODE 사용하기(CASE WHEN...) 오라클의 DECODE 함수는 정말 막강한 기능을 제공하고 있습니다. DECODE를 사용하여 간결한 SQL을 만들기도 하는데 SQLite에는 DECODE 함수가 없습니다. DECODE는 SQL 표준이 아닌 오라클의 기능으로 생각해야 할 듯하네요. [CASE 문법1] CASE case_expression WHEN when_expression_1 THEN result_1 WHEN when_expression_2 THEN result_2 ... [ ELSE result_else ] END [예제 쿼리1] SELECT NAME, YYYY||MM||DD, CASE IS_CHECK WHEN 'Y' THEN '체크됨' WHEN 'N' THEN '체크안됨' ELSE '값없음' END FROM HISTORY [CASE 문.. 2021. 2. 19.
SQLite inert or replace(오라클/MS-SQL Merge 기능) 오라클 또는 MS-SQL의 Merge와 유사한 기능으로 SQLite에서는 insert or replace 기능이 있습니다. 사용법은 Merge보다 간단하지만, 디테일한 적용은 조금 부족합니다. insert or replace 기능은 PK 기준으로 해당 데이터가 있으면 insert하지 않고 replace(update)합니다. 1. 테이블 정보 PK는 ID 컬럼 하나만 지정했습니다. 2. 데이터 3. 동일 ID가 없는 경우 insert or replace into TB_USER(ID, NAME, DESC) values('ID-003', '김유신', '') [결과] 4. 동일 ID가 있는 경우 insert or replace into TB_USER(ID, NAME, DESC) values('ID-001', '.. 2021. 2. 8.
SQLite Table 만들기 DB Browser for SQLite를 이용하여 SQLite Table을 Database에 생성하는 방법입니다. 1. Database Structure의 Toolbar에 있는 Create Table을 클릭합니다. 2. Edit table definition화면에서 Table 명을 입력합니다. 3. Edit table definition 화면의 Fields의 Add field를 클릭하면 새로운 Field(Column)이 추가됩니다. 원하는 Field Type은 Type부분의 Combo box로 선택하면 됩니다. 4. Field의 Not Null 설정은 Not 컬럼을 체크하면됩니다. 5. Primary Key는 PK 컬럼을 체크하면 됩니다. 6. Auto Increment는 AI컬럼을 체크하면 됩니다. 이.. 2016. 2. 11.
SQLite Database 만들기 DB Browser for SQLite를 이용하여 SQLite Database를 만드는 방법입니다.워드 프로그램에서 파일을 생성하는 방법같이 아주 쉽게 만들수 있습니다. 1. Toolbar에서 New Database 버튼을 클릭합니다. (메뉴 File > New Database를 클릭하여 동일하게 작동합니다.) 2. SQLite Database 파일을 저장하기 위해 폴더를 지정하고, 파일명을 입력 후 Save버튼을 클릭합니다. 3. Table을 추가 할 수 있는 화면이 표시되는데 Table 없이 SQLite Database를 만들겠습니다. Cancel 버튼을 클릭합니다. (Table은 추후 생성 할 수 있습니다.) 4. 아래의 화면에서와 같이 SQLite Database가 생성되었습니다. 2016. 1. 29.
SQLite CSV 파일 Import하기 안드로이드 개발시 데이터베이스는 SQLite를 사용해서 작업을 하게됩니다.일반적으로 데이터는 엑셀로 작업을 하게되는데, 이렇게 작성된 데이터를 SQLite에 Import하는 방법을 알아보겠습니다.데이터를 SQLite에 Import하기 위해 DB Browser for SQLite를 사용하겠습니다. 1. DB Browser의 메뉴 File > Import > Table from CSV file...을 클릭합니다. - 데이터를 DB에 Import하기 위해서는 DB가 생성되어있고, 해당 DB를 DB Browser에서 Open된 상태여야 합니다. 2. 파일 열기 화면에서 CSV 파일을 선택합니다. 3. CSV파일의 내용이 표시되며, Table Name은 CSV 파일명이며 변경이 가능합니다. 4. CSV파일의 첫번.. 2016. 1. 28.
무료 SQLite 툴 안드로이드 개발 중에 데이터베이스(SQLite) 사용을 위해서 파이어폭스에 플러그인 된 프로그램을 사용했었습니다.그렇지만 이놈의 툴이 너무 투박하고 불편해서 다른 무료 툴을 찾다가 DB Browser for SQLite 를 찾았습니다.UI도 괜찮고 사용도 편하게 되어있는 것으로 생각됩니다. DB Browser for SQLite 다운로드 사이트https://github.com/sqlitebrowser/sqlitebrowser/releases DB Browser for SQLite 실행 화면 2016. 1. 26.