Skip to content

Commit ab13eed

Browse files
committed
250910-sqlite-data-type
1 parent 62eb48b commit ab13eed

File tree

4 files changed

+63
-0
lines changed

4 files changed

+63
-0
lines changed

content/blog/250908-sql/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: "[TIL] SQL (2025.09.08)"
33
description: "2025.09.08 오늘 공부한 SQL 내용 기록"
44
date: "2025-09-08T21:35:00"
5+
thumbnail: "./thumbnail.png"
56
category: "TIL"
67
tags: ["SQL", "DDL", "DB"]
78
---
5.56 KB
Loading
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: "[TIL] SQLite Data Type"
3+
description: "Playwright 탐구기록"
4+
thumbnail: "./thumbnail.png"
5+
date: "2025-09-10T16:39:00"
6+
category: "TIL"
7+
tags: ["SQL", "SQLite"]
8+
---
9+
10+
SQLite는 상당히 자유로운 친구입니다.
11+
12+
그래서 테이블을 만들때 다음과 같이 만들 수 있습니다.
13+
14+
```sql
15+
CREATE TABLE movies (
16+
title,
17+
released,
18+
overview,
19+
rating,
20+
director
21+
);
22+
```
23+
24+
보시다시피 컬럼을 정의할 때 타입을 지정하지 않고 만들 수가 있어요.
25+
26+
그런데 이렇게하면 문제가 생깁니다.
27+
28+
왜냐하면, 각각의 컬럼에 아무값이나 집어넣어도 데이터가 들어간다는건데, 이건 좀 이상하잖아요?
29+
30+
예를들어 rating은 일반적으로 숫자가 들어가야하는데 "abc" 이런걸 넣을 수도 있다고 생각해봅시다.
31+
32+
또 NULL을 넣을수도있고, 날짜를 넣을수도있고.. 아무튼 아무 값이나 다 넣을 수 있다는 것 자체가 조금 이상하잖아요? (사용 사례에 따라 안이상할 수도 있지만..)
33+
34+
그래서 우리는 데이터 타입이 어떤게 있는지 알아야하고, 테이블을 만들때 신경써서 데이터 타입도 같이 명확하게 정의하면서 만들어줘야합니다.
35+
36+
# SQLite Data Type
37+
38+
SQLite에는 다음과 같은 데이터 타입이 있습니다.
39+
40+
| 데이터 타입 | 설명 |
41+
| ----------- | --------------- |
42+
| INTEGER | 정수 |
43+
| REAL | 실수 |
44+
| TEXT | 문자열 |
45+
| BLOB | 바이너리 데이터 |
46+
| NULL | NULL |
47+
48+
> 다른 `RDBMS` 에서는 사용하는 데이터 타입이 다를 수 있습니다.
49+
50+
# 예시
51+
52+
```sql
53+
CREATE TABLE movies (
54+
title TEXT,
55+
released INTEGER,
56+
overview TEXT,
57+
rating REAL,
58+
director TEXT
59+
) strict;
60+
```
61+
62+
> 테이블을 생성할 때 strict 키워드가 추가되면 엄격한 타이핑 규칙이 해당 테이블에 적용됩니다.
5.56 KB
Loading

0 commit comments

Comments
 (0)