일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드
- TEST
- drift
- 앱바
- livedata
- Compose
- Navigation
- scroll
- tabbar
- 계측
- DART
- Dialog
- binding
- Coroutines
- LifeCycle
- data
- activity
- 테스트
- textview
- viewmodel
- intent
- Button
- ScrollView
- CustomScrollView
- Kotlin
- 앱
- android
- Flutter
- textfield
- appbar
- Today
- Total
Study Record
[SQL] SQL 살펴보기 본문
😶 Relational Database?
데이터베이스(Database)란 전자적으로 엑세스하고 기록할 수 있는 데이터의 구조화된 모음이다. 그 중에서 관계형(related) 데이터베이스는 데이터를 테이블, 열, 행으로 구성하는 일반적인 유형의 데이터베이스이다.
테이블은 다른 테이블을 참조할 수 있고 테이블 간의 관계를 가질 수 있다.
😶 SQL
관계형 데이터베이스에 단독으로 엑세스할 때 SQL 문법이 사용된다. SQL 은 구조화된 Query 언어를 의미하며 관계형 데이터베이스에서 데이터를 읽고 조작할 수 있도록 하는 언어이다.
일반적인 SQL 문은 다음과 같다.
SELECT | 데이터 테이블에 대한 구체적인 정보를 언을 수 있고 여러가지 필터된 결과를 얻을 수 있다. |
INSERT | 테이블에 새로운 row 를 추가한다. |
UPDATE | 테이블의 row 를 업데이트한다. |
DELETE | 테이블로부터 row 을 삭제한다. |
😶 SQL 문법 + 예시
SELECT Statement
기본 SELECT FROM문
SELECT * FROM park;
SELECT city, name, established FROM park;
SELECT 뒤에는 기본적으로 가져올 칼럼의 이름을 적는다. * 는 전체 칼럼을 의미한다. FROM 뒤에는 테이블 이름을 적는다.
LIMIT Keyword
LIMIT 는 결과 row 의 개수를 제한한다. 다음 예시는 최대 5개까지 row 를 가져온다.
SELECT name FROM park
LIMIT 5;
WHERE
가져올 데이터 row 에 조건을 걸 수 있다.
SELECT name FROM park
WHERE type != "recreation_area"
AND area_acres > 100000;
SELECT name FROM park
WHERE type == "national_park";
COUNT(*) 는 결과 row 의 개수를 의미한다. 실행하면 park 테이블의 row 개수를 알 수 있다.
SELECT COUNT(*) FROM park;
SUM() 은 결과 row 의 값을 전부 더한 값을 반환한다.
SELECT SUM(park_visitors) FROM park
WHERE type == "national_park";
MAX(), MIN()
MAX() 는 가장 큰 값, MIN() 는 가장 작은 값을 반환한다.
SELECT MAX(area_acres) FROM park
WHERE type = 'national_park';
SELECT MIN(area_acres) FROM park
WHERE type = 'national_park';
DISINICT Keyword
중복된 row 값을 제거한다.
SELECT DISTINCT type FROM park;
SELECT COUNT(DISTINCT type) FROM park;
ORDER BY [Column] [ASC|DESC]
결과로 받을 row 를 명시할 column 기준으로 정렬할 수 있다. 맨 뒤의 ASC 가 붙으면 오름차순, DESC 가 붙으면 내림차순으로 정렬한다.
SELECT name FROM park
ORDER BY name DESC;
SELECT name FROM park
ORDER BY name ASC;
GROUP BY [Column]
명시할 Column 을 기준으로 부분 집합으로 분리가 가능하다.
SELECT type, name FROM park
GROUP BY type
INSERT Statement
Insert 문의 기본 문법이다. 콤바를 이용하여 여러 row 를 insert 할 수 있다.
INSERT INTO table_name VALUES
(column1, column2, ...),
(column1, column2, ...),
(column1, column2, ...);
UPDATE Statement
UPDATE park
SET area_acres = 46,
established = 1088640000,
type = 'office'
WHERE name = 'Googleplex';
DELETE Statement
where 문으로 삭제할 row 에 조건을 걸 수 있다.
DELETE FROM park
WHERE name = 'Googleplex';