SQLite3에서 트리거 설치하기

트리거는 데이터 베이스 내에 특정한 동작이 수행될 때, 연관된 다른 쿼리를 자동으로 실행하는 기능이다. SQLite3에서도 트리거를 지원한다. 이러한 트리거는 언제 활용될 수 있을끼? 예를 들어 게시판을 관리하는 테이블이 하나 있다고 가정하자. 이 테이블에서 전체 글 수를 조회하려면 흔히 count() 함수를 써서 다음과 같이 조회할 수 있다. SELECT count(*) FROM BOARD; 이런 쿼리를 작성할 때 흔히 간과하는 문제는

SELECT – GROUP BY (SQLite3)

이번 글에서는 SELECT 구문 내에서 GROUP BY 절에 대해서 살펴보자. GROUP BY는 결과 행들을 특정한 하나 혹은 그 이상의 칼럼에 의한 그룹으로 묶어서 그룹을 요약하는 몇 가지 행들로 표현되도록 하는 것이다. 보통 MIN, MAX, SUM, AVG, COUNT 등과 같은 집합 함수와 같이 함께 사용된다. GROUP BY를 적용하는 주요 쿼리 구문의 형식은 다음과 같다. SELECT column1,

테이블 생성하기 – SQLite3

SQLite에서 테이블을 생성하는 방법에 대해서 알아보자. 테이블을 생성할 때는 CREATE TABLE 구문을 사용한다. 이 구문에서는 테이블이 갖추어야 할 몇 가지 정보와 속성들을 정의할 수 있다. 새로운 테이블의 이름 테이블이 위치할 데이터베이스 테이블 내의 각 칼럼의 이름 각 칼럼의 데이터 타입 디폴트 값이 필요한 칼럼에는 디폴트 값 정의 collating sequece를 정의[^1] 필요에 따라 원시 키(PRIMARY KEY)를 정의할

SQLite3 C API를 Swift에서 사용하는 방법

SQLite3는 경량 데이터베이스로 흔히 앱에서 데이터를 저장하는 용도로 많이 사용될 수 있다. 실제로 코어데이터를 사용할 때 스토리지로도 많이 사용된다. 만약 코어데이터를 사용하지 않고 직접 SQLite3를 제어하려면 어떻게해야할까? Xcode를 설치하면 SDK에 SQLite3가 포함되고, 실제로 Objective-C를 사용하면서도 간단히 이를 사용할 수 있다. SQLite3는 원래 C로 만들어졌고, Objective-C 역시 C와 동일하므로 Objective-C를 사용하여 코드를 작성할 때에는 SQLite3의 C

Swift에서 SQLite3 사용하기

SQLite3는 C/C++API를 제공하고 있으며, 사용하기도 그리 어렵지 않다. Swift에서 SQLite3를 사용하기 위한 가장 간단한 방법은 Obejctive-C로 DB를 액세스하는 함수나 클래스를 작성하고, Xcode 프로젝트에서 이 클래스를 추가해 Swift에서 사용하는 방법이다. 특히 코코아 클래스들과 Swift 타입들 간에는 바로 브릿징되면서 자동으로 변환되는 것들이 있기 때문에 사용하기에 편리한 점은 있지만, Objective-C에 익숙하지 않거나, 혹은 그냥 아무 이유없이 C API와의