본문 바로가기
DB & SQL

SQL 이란?

by 무사뎀벨레 2021. 10. 13.

 

 

 

 

 

 

1. SQL이란?


데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어를 말합니다. SQL, 혹은 시퀄이라고 읽습니다. 로고는 SQL을 사용하는 회사별로 색상을 다르게 해 표현하지만, 심볼 자체는 원통을 쌓은 모양이 공용으로 쓰이고 있습니다.

이 직관적인 언어는 어느 데이터베이스에서나 기본으로 제공하기 다양하게 사용되지만 , NoSQL 계열에서는 SQL 문을 사용하지 않습니다.

그러나 데이터베이스 종류에 따라 사용하는 SQL에는 다소 차이가 있습니다.  ANSI(미국 국립 표준 협회, American National Standards Institute, ANSI) SQL이라고 하는 표준 SQL 구문이 존재합니다. 일반적으로 사용하는 데이터베이스는 RDB(관계형 데이터베이스)이며, RDB에서 데이터 처리는 데이터 모음인 테이블을 기준으로 이루어지기 때문에 SQL 역시 테이블을 염두에 두고 읽으면 이해하기 쉽습니다.

 

 

 

 

 

2. SQL 대표 문법


  1. SELECT
    - 데이터를 읽어오는 구문입니다. 사용하다 보면 가장 복잡하고 고려할 사항이 많은, 중요하고 어려운 구문입니다.
    테이블에서 지정된 값을 가져오는 구문이며, 모든 값을 가져오기 위해 field 부분을 생략하고 *로 표기하기도 합니다.

    - [SELECT 컬럼1, 컬럼2, ... FROM 테이블 명 WHERE 조건] 의 형태로 사용합니다. 
    SELECT field1, field2, ... FROM table {WHERE 조건};

    - 테이블의 모든 컬럼을 조회하기 위해선 [SELECT * FROM 테이블 명] 과 같이 사용합니다. 아래와 같이 WHERE 조건 은 필수가 아닙니다.
    SELECT * FROM table;

    - [과일] 이라는 테이블에서 [색깔]빨간색인 데이터를 SELECT 합니다.
    SELECT * FROM 과일 WHERE 색깔 = "빨간색";





  2. INSERT
    - 데이터를 입력하는 구문입니다. 형식은 아래와 같습니다.
    INSERT INTO table(field1, field2, ...) VALUES (value1, value2, ...);

    - [과일] 이라는 테이블에 [사과]라는 데이터를 INSERT 합니다.
    INSERT INTO 과일(과일 이름, 색깔, 모양) VALUES ("사과", "빨간색", "동그라미");​




  3. UPDATE
    - 데이터를 수정하는 구문입니다. 형식은 아래와 같습니다.
    UPDATE table SET field1=value1, field2=value2, {WHERE 조건};

    - [과일] 테이블에서 [사과]라는 데이터의 [색깔][모양]을 변경합니다. 
    UPDATE 과일 SET 색깔="초록색", 모양="삼각형", WHERE 과일 이름 = "사과";



  4. DELETE
    - 데이터를 삭제하는 구문입니다. 조건절이 없을 경우 테이블의 모든 데이터를 비우게 되므로, 대개 조건절과 함께 사용합니다.
    DELETE FROM table {WHERE 조건};

    - [과일] 테이블에서 과일 이름이 [호박] 이라는 데이터를 삭제합니다.
    DELETE FROM 과일 WHERE 과일 이름 = "호박";

 

 

 

 

 

 

 

 

3. SQL 주의점


  1. 조건절을 이용하여 효율적으로 이용
    - 데이터가 몇 없는 테이블의 데이터를 추출하려면 문제가 되지 않지만, 어느 적정 개수 이상의 데이터가 존재한다면 조건절을 이용하여 데이터를 추출하는 것이 효율적입니다. 예를 들어, 영국 프로축구리그인 프리미어리그에 뛰고 있는 축구선수 중 한국 국적을 가진 선수를 찾을 때 프리미어리그에 뛰고있는 축구선수 모두를 조회한 뒤 국적이 한국인 선수를 세는 것보다 조건절을 이용하여 조회될 때 한국 국적 선수만 추출하는 것이 더욱 효율적입니다.

  2. 데이터 업데이트, 삭제 시 조회를 통해 확인
    - UPDATE나 DELETE 문을 이용하기 전에 SELECT 문으로 원하는 데이터가 조회되는지 확인합니다. 종종 있는 상황으로 테이블 내의 조건을 정확히 확인하지 않고 UPDATE나 DELETE 문을 사용하여 테이블 내의 데이터가 예상과 다르게 변경, 삭제될 위험이 있습니다. 예를 들어, 어떠한 쇼핑몰의 회원 명단이 담긴 테이블에서 '홍길동'이라는 이름을 가진 회원을 삭제하는 경우가 있는데, 만약 '홍길동'이라는 이름을 가진 사람이 여러 명이라면 더 정확한 조건을 추가해야합니다. 조건을 추가하지않는다면, 이런 상황에선 동일한 성명을 가진 사람 여러명이 테이블에서 삭제될 수 있습니다. 그렇기 때문에, UPDATE나 DELETE 문을 이용하기 전에는 올바른 데이터를 추출하는지 SELECT 문을 통하여 조회한 뒤 사용하는 것이 좋습니다.

  3. 모든 데이터베이스가 문법이 동일하지 않음
    - MySQL에서는 CAST라는 형 변환 함수 문이 존재합니다. 하지만 MSSQL에서는 CONCAT 함수 문을 사용하여 형 변환을 진행합니다. 이처럼, 모든 SQL문이 동일하지 않고, 사용하는 데이터베이스에 따라 사용되는 문법이 다르다는 것을 인지하는 게 좋습니다.

 

반응형

'DB & SQL' 카테고리의 다른 글

자동값 증가(Oracle, MSSQL, MySQL)  (4) 2021.11.16
문자열 병합 CONCAT 함수 사용하기  (0) 2021.10.14
[MySQL] SYSDATE()와 NOW() 의 차이  (2) 2021.10.14
[MySQL] CAST와 CONVERT  (0) 2021.10.14
DataBase 란?  (6) 2021.10.13

댓글