728x90
DML (Data Manipulation Language)로서 데이터를 조작하는 데 사용되는 언어이다. (CRUD)
목차
- 사전 준비
- Simple query
- Sorting rows
1. 사전 준비
- 우선 데이터 더미들을 .csv로 저장 후 해당 csv 파일 데이터를 import 해서 사용해주어야 한다.
sqlite3 기본 사용법
1. 시작하기
2. 데이터베이스 파일 열기
3. 종료하기
CSV 파일을 SQLite 테이블로 가져오기
1. DML.sql 파일 생성 (새로운 파일 생성)
2. 테이블 생성하기
3. 데이터베이스 파일 열기
4. 모드(.mode)를 csv로 설정
5.. import
6. import 된 데이터 확인하기
- sqlite3 tool에서도 SQL 문을 사용할 수 있지만, 편의와 명령어 기록을 위해 sql 확장자 파일에서 진행
2. Simple query
- SELECT 문을 사용하여 간단하게 단일 테이블에서 데이터를 조회하기
SELECT statement
- "Query data from a table"
- 특정 테이블에서 데이터를 조회하기 위해 사용
- 문법 규칙
- SELECT 절에서 컬럼 또는 쉼표로 구분된 컬럼 목록을 지정
- From 절(clause)에서 데이터를 가져올 테이블을 지정
- SELECT 문은 SQLite에서 가장 복잡한 문
- 다양한 절과 함께 사용할 수 있으며 하나씩 알아가 보자.
- ORDER BY
- DISTINCT
- WHERE
- LIMIT
- LIKE
- GROUP BY
이름과 나이 조회해보기
SELECT first_name, age FROM users;
전체 데이터 조회하기
- 모든 컬럼에 대한 shorthane(약칭)인 * (asterisk)를 사용할 수 있음
SELECT * FROM users;
rowid 컬럼 조회
SELECT rowid, first_name FROM users;
3. Sorting rows
- 위에서 잠시 봤던 ORDER BY 절을 사용하여 쿼리의 결과를 정렬해보자
SELECT select_list FROM table_name
ORDER BY column_1 ASC, column_2 DESC;
- "Sort a result set of a query"
- SELECT 문에 추가하여 결과를 정렬
- ORDER BY 절은 FROM 절 뒤에 위치함
- 하나 이상의 컬럼을 기준으로 결과를 오름차순, 내림차순으로 정렬할 수 있음
- 이를 위해 ORDER BY 절 다음에 'ASC' 또는 'DESC' 키워드를 사용
- ASC : 오름차순(기본 값)
- DESC : 내림차순
이름과 나이를 나이가 어린 순서대로 조회하기
SELECT first_name, age FROM users ORDER BY age ASC;
SELECT first_name, age FROM users ORDER BY age;
이름, 나이, 계좌 잔고를 나이가 어린순으로, 만약 같은 나이라면 계좌 잔고가 많은 순 정렬
SELECT first_name, age, balance FROM users
ORDER BY age ASC, balance DESC;
- ORDER BY 절은 하나 이상의 컬럼을 정렬할 경우 첫 번째 열을 사용하여 행을 정렬하고,
- 그런 다음 두 번째 컬럼을 사용하여 정렬되어 있는 행을 정렬하는 방식
- 즉, age 기준 먼저 오름차순, 이 결과를 balance 기준 내림차순
※ 참고 - Sorting NULLs
- NULL의 정렬 방식
- 정렬과 관련하여 SQLite는 NULL을 다른 값보다 작은 것으로 간주
- 즉, ASC를 사용하는 경우 시작 부분에 NULL이 표시
728x90
'CS > Database with SQLite' 카테고리의 다른 글
[DB] DML3 - Grouping, Changing data (1) | 2022.10.05 |
---|---|
[DB] DML2 - Filtering data (1) | 2022.10.05 |
[DB] DDL2 - ALTER, DROP TABLE (0) | 2022.10.05 |
[DB] DDL1 - create table (0) | 2022.10.04 |
[DB] SQL (1) | 2022.10.04 |