DML을 통해 데이터를 조작(CRUD)하는 방법을 알아보자.
이번 포스팅에서는 SELECT 문을 사용하여 간단하게 단일 테이블에서 데이터를 조회하고,
ORDER BY 절을 사용하여 쿼리의 결과를 정렬하는 방법을 알아보겠다.
다음은 이번 게시물에서 실습 예제에서 사용한 파일명이니 게시물을 읽을 때 참고하세요!
DML.sql
CREATE TABLE users (
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
age INTEGER NOT NULL,
country TEXT NOT NULL,
phone TEXT NOT NULL,
balance INTEGER NOT NULL
);
mydb.sqlite3
users.csv
$ sqlite3
sqlite> .open mydb.sqlite3
$ sqlite3 mydb.sqlite3
sqlite> .exit
;
)을 입력하고 엔터를 치면 다시 처음으로 돌아갈 수 있다.sqlite> q
...> exit
...> .exit
...> quit
...> .quit
$ sqlite3 mydb.sqlite3
sqlite> .mode csv
sqlite> .import users.csv users
이번에는 SELECT 문을 사용하여 간단하게 단일 테이블에서 데이터 조회하는 방법을 알아보겠다.
sqlite3 tool에서도 SQL 문을 사용할 수 있지만, 실습의 편의와 명령어 기록을 위해 sql 확장자 파일에서 진행하였다.
SELECT column1, column2 FROM table_name;
*
) 컬럼 조회 ( 모든 데이터 조회 )SELECT * FROM users;
SELECT first_name, age FROM users;
SELECT rowid, first_name FROM users;
SELECT select_list FROM table_name
ORDER BY column_1 ASC, column_2 DESC;
SELECT first_name, age FROM users ORDER BY age ASC;
SELECT first_name, age FROM users ORDER BY age;
SELECT first_name, age FROM users ORDER BY age DESC;
SELECT first_name, age, balance FROM users
ORDER BY age, balance DESC;
-- 모든 데이터 조회하기
SELECT * FROM users;
-- 이름, 나이 조회하기
SELECT first_name, age FROM users;
-- rowid, first_name 조회하기
SELECT rowid, first_name FROM users;
-- 나이가 어린 순서대로 이름과 나이 조회하기
SELECT first_name, age FROM users ORDER BY age ASC;
SELECT first_name, age FROM users ORDER BY age;
-- 나이가 많은 순서대로 이름과 나이 조회하기
SELECT first_name, age FROM users ORDER BY age DESC;
-- 이름, 나이, 계좌 잔고를 나이가 어린 순으로,
-- 만약 같은 나이라면 계좌 잔고가 많은 순으로 정렬해서 조회하기
SELECT first_name, age, balance FROM users
ORDER BY age, balance DESC;