SQL Lite 사용 방법
#
초기 설정
#
설치
#
실행
#
SQLite Shell 명령어
#
.tables
#
.schema
#
.exit
#
.backup
#
SQL
#
DDL (Data Definition Language: 데이터 정의 언어)
#
TABLE
#
CREATE TABLE
#
CREATE TABLE person (
id INTEGER NOT NULL,
name TEXT NOT NULL,
age INTEGER,
PRIMARY KEY (id AUTOINCREMENT)
);
ALTER TABLE
#
ALTER TABLE person ADD COLUMN salary INTEGER NOT NULL;
DROP TABLE
#
VIEW
#
CREATE VIEW
#
CREATE VIEW name_person AS
SELECT name FROM person;
DROP VIEW
#
INDEX
#
- 인덱스는 데이터를 빠르게 찾도록 도와주는 목차 같은 구조입니다.
- 인덱스로 검색하면 전체 데이터를 다 보지 않고 원하는 데이터를 바로 찾아가기 때문에 훨씬 빠릅니다.
- 단, 인덱스는 검색은 빠르게 하지만 삽입/갱신 시 성능에 약간의 영향을 줄 수 있으니 꼭 필요한 컬럼에만 사용하는 게 좋아요.
CREATE INDEX
#
CREATE INDEX index_person ON person(name);
DROP INDEX
#
DML (Data Manipulation Language: 데이터 조작 언어)
#
SELECT
#
INSERT INTO
#
INSERT INTO person (name, age) VALUES ('사원1', 28);
UPDATE
#
UPDATE person SET name = '사원2' WHERE name = '사원1';
DELETE
#
WHERE
#
SELECT * FROM person WHERE name = '사원1';
SELECT * FROM person WHERE name IS NOT NULL;
ORDER BY
#
SELECT * FROM person ORDER BY age;
DESK
#
SELECT * FROM person ORDER BY age DESC;
LIKE
#
SELECT * FROM person WHERE name LIKE '사원%'
AS
#
SELECT
id AS '사원 번호',
name AS '사원 이름',
FROM person;
-- | 사원 번호 | 사원 이름 |
-- | 1 | 사원1 |
-- | 2 | 사원2 |
SELECT
id '사원 번호',
name '사원 이름',
FROM person;
CASE
#
SELECT name, salary,
CASE
WHEN salary < 3000000 THEN '신입'
WHEN salary >= 3000000 AND salary < 4000000 THEN '사원'
WHEN salary >= 4000000 AND salary < 5000000 THEN '대리'
WHEN salary >= 5000000 AND salary < 7000000 THEN '과장'
ELSE '임원'
END AS position
FROM person;
round()
#
SELECT round(12.34567, 2) -- 12.34
substr()
#
SELECT substr('abcdefg', 2); -- bcdefg
SELECT substr('abcdefg', 3, 4); -- cdef
strftime()
#
SELECT strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime');
기타
#
PRAGMA
#
PRAGMA table_info(person);
EXPLAIN QUERY PLAN
#
-- 이렇게 입력하면 SQLite가 어떻게 검색할지를 알려줘요.
EXPLAIN QUERY PLAN SELECT * FROM person WHERE name = '사원1';