[SQL] 기본 문법✍🏻

Ariel·2023년 2월 16일
2

SQL

목록 보기
1/3

1. SQL 이란?


  • SQL(Structured Query Language)은 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어

  • SQL문을 사용하여 데이터베이스에서 정보를 저장, 업데이트 제거 및 검색을 할 수 있다.

  • 대화식 언어이기 때문에, 명령문이 짧고 간결하다.

  • RDBMS 종류
    - MySQL, Oracle, PostgreSQL, SQLite, MariaDB 등등


2. SQL 문법의 종류


  • DDL(Data Definition Language, 데이터 정의 언어)
    - 데이터베이스 구조를 생성, 변경, 삭제하는데 사용하는 명령어
    - 명령어: CREATE, ALTER, DROP, TRUNCATE

  • DML(Data Manipulation Language, 데이터 조작 언어)
    - 데이터를 검색, 추가, 수정, 삭제하는데 사용하는 명령어
    - 명령어: SELECT, INSERT, DELETE, UPDATE

  • DCL(Data Control Language, 데이터 제어 언어)
    - 사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루는 명령어
    - 명령어: GRANT, REVOKE, COMMIT, ROLLBACK


3. SQL 기본 구문


💡대소문자를 구분하지 않는다.
💡문장 제일 앞에 --을 입력하거나 ctrl + /를 누르면 주석으로 표시된다.

  • CREATE (테이블 생성)
    1. 새로운 테이블 생성

    CREATE TABLE [스키마명].[테이블명](
    	 [컬럼명] [데이터타입]
       , [컬럼명] [데이터타입]
       ...
       );
    
    -- [example] id: 숫자, name: 문자, score: 소수점인 test.score 테이블 생성 
     CREATE TABLE test.score(
         id    int(11)
       , name  varchar(20)
       , score float(8,2)
       );
    2. 존재하는 테이블에서 특정 값만 선택하여 새로운 테이블 생성
    CREATE TABLE [스키마명].[테이블명] AS
     SELECT
         [column 1]
       , [column 2]
       ...
     FROM [스키마명].[테이블명];
    
    -- [example] test.score에서 id, name만 column으로 하는 test.want 테이블 생성
     CREATE TABLE test.want AS
     SELECT
         id
       , name
     FROM test.score;

  • SELECT (테이블 조회)
    💡데이터 추출 시, limit를 사용하면 n개의 행만 추출 가능
    1. 데이터 조회

    SELECT * FROM [스키마명].[테이블명];
     SELECT [column 1], [column 2] FROM [스키마명].[테이블명];
    
    -- [example 1] test.score 테이블 내 전체 컬럼 조회
     SELECT * FROM test.score;
    
    -- [example 2] test.score 테이블 내 id, name 컬럼 조회
     SELECT id, name FROM test.score;
    
    -- [example 3] test.score 테이블 내 전체 컬럼의 10개 행만 조회
     SELECT * FROM test.score limit 10; 

    2. 특정 조건의 데이터 조회

    SELECT * FROM [스키마명].[테이블명] WHERE [조건];
    
    -- [example] test.score 테이블에서 score가 85점 이상인 데이터 조회
     SELECT * FROM test.score WHERE score >= 85;

    3. 중복 제거한 데이터 조회

     SELECT distinct * FROM [스키마명].[테이블명];
      SELECT distinct [column 1], [column 2] FROM [스키마명].[테이블명];
     
     -- [example] test.score 테이블 내 unique한 name 조회
      SELECT distinct name FROM test.score
    4. 데이터 정렬 후 조회
    SELECT distinct * FROM [스키마명].[테이블명] ORDER BY [column 1], [column 2];
    
    -- [example] test.score 테이블 내 name 정렬 후 조회
     SELECT * FROM test.score ORDER BY name;        -- 오름차순
     SELECT * FROM test.score ORDER BY name desc;   -- 내림차순
profile
Data Analyst

0개의 댓글