ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQLite 1. SELECT
    SQL/Sqlite 2021. 12. 28. 22:42
    반응형

    DB를 커맨드 라인으로 조작할 수도 있지만,
    초보가 학습하기에는 GUI 환경이 더 좋은 것 같다. 

     

    가장 먼저 기본 용어 몇 가지 

    테이블

    구조화 된 데이터 목록.
    이렇게 데이터를 테이블 형식으로 저장해서 쓴다. 

    Column, Row

    세로 줄을 Column이라고 부르고,
    가로 줄을 Row라고 부른다. 

    주키

    테이블에는 고유한 값이 있야 한다. 
    주키는 UNIQUE 해야 되고 NULL 이면 안된다. 

    (동명이인이 있는)
    아담의 키를 180으로 고쳐줘 라고 DB에게 요청한다면..
    모든 아담의 키를 180을 고칠 수도 없는 노릇이다...
    고유 번호가 있으면 편하게 처리할 수 있다. 

     

    SELECT

     

    항목 가져오기

    SELECT Name FROM mlb_players;

    SQL에서 여러 개의 공백은 하나로 인식된다. 

    한 문장으로 끝나는 쿼리에서는 마지막 세미콜론은 붙일 필요가 없다. 

    SQL은 대소문자를 구분하지 않는다.
    하지만 테이블 명, 컬럼 명, 값의 대소문자는 구분한다.

    (sqlite는 테이블 컬럼명의 대소문자까지 무시한다.
    값의 대소문자는 무시하지 않는다. 
    뭔가 편안한 다 받아주는 DBMS~! ㅎㅎㅎ.
    다른 DBMS도 설정하기 나름이긴 하다.)

    명령어는 대문자를 쓰고, 테이블 명은 소문자를 사용하는 관례가 있다. 

    요즘은 컬러로 잘 표시되니까
    명령어를 소문자로 쓰는 사람도 많다. 

     

    SELECT name -- 일부러 소문자를...
    FROM mlb_players

    이렇게 줄을 나눠 쓰면
    긴 쿼리를 사용할 때 가독성이 좋아진다.

    주석은 --, /**/ 이 가능하다. 

     

    여러 항목 가져오기

    SELECT Name, Position
    FROM mlb_players

     

    모든 항목 가져오기

    와일드 카드 문자 *을 이용한다. 
    도스 창을 좀 만져봤다면 친숙한 문자일 것이다. 

    SELECT *
    FROM mlb_players

     

    중복 출력 방지하기

    SELECT DISTINCT Position
    FROM mlb_players

     

    LIMIT와 OFFSET

    결과를 n개만 보고 싶을 때..
    MySQL, MariaDB, SQLite는 LIMIT를 사용하지만 다른 DBMS는 ..... 

    SELECT DISTINCT Position
    FROM mlb_players
    LIMIT 3

    SELECT DISTINCT Position
    FROM mlb_players
    LIMIT 2 OFFSET 3

    3개를 스킵(OFFSET)하고, 2개를 출력(LIMIT)하라.

    4번째 ROW부터 2개 출력되었다. 

    SELECT DISTINCT Position
    FROM mlb_players
    LIMIT 3, 2

    이렇게 줄여 쓸 수도 있는데 LIMIT <skip>, <count> 순으로 순서가 바뀐다. 

    반응형
Designed by Tistory.