SQLite – 테이블을 다른 데이터베이스로 이관하기

테이블을 다른 데이터베이스 파일로 이관하는 방법은 단순하다. 새로운 DB 파일을 새 데이터베이스로 연결해서, CREATE TABLE .. AS SELECT .. 구문을 사용해서 복사한다. 다음 예제는 외부 DB 파일을 반입한 다음, 특정 테이블 하나의 내용으로 새로운 테이블을 채우는 과정을 보여준다. ATTACH ‘file-archives.db’ AS other; CREATE TABLE other.images AS SELECT * FROM main.images; DETACH others; CREATE TABLE …

INSERT문 – 테이블에 값 삽입하기 – SQLite3

테이블에 값을 삽입할 때는 INSERT 구문을 사용한다. 이 구문은 크게 세가지 형태로 만들어질 수 있다. INSERT INTO table (columns…) VALUES (…. ); : 각 칼럼에 (정의하지 않으면 스키마의 모든 칼럼에) ( … ) 의 값을 각각 적용해서 새로운 레코드를 삽입한다. 지정한 칼럼이나 혹은 전체 칼럼과 값의 개수가 맞지 않으면 에러가 발생한다. INSERT INTO table SELECT …; : SELECT 구문을

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)를 정의할