본문 바로가기
DB

[DB] SQL 기본 문법과 활용

by inyeong 2024. 5. 31.

CREATE 구문

  • 데이터베이스 생성 : CREATE DATABASE [DB_NAME];
    ex)
    create database example;
  • 테이블 생성 : CREATE TABLE [NAME] ([COLUMN_NAME] [DATA_TYPE]);
    ex) create table member(seq int, name char(20),email char(50));

INSERT 구문 

  • 데이터 삽입 : INSERT INTO [TABLE_NAME] ([COLUMN1]…) VALUES([DATA1]…);
    ex) insert into member(seq,name,email) values(1,'iy','iy@tistory.com');

SELECT 구문 

  • 데이터 조회 : SELECT [COLUMN1] FROM [TABLE] WHERE [CONDITION];
    ex) select * from member;
    ex) select name, email from member;
    ex) select name, email from member where seq=1;

UPDATE 구문 

  • 데이터 수정 : UPDATE [TABLE] SET [COLUMN1]=[DATA1] WHERE [CONDITION];
    ex) update member set name='inyeong' where seq=1;
    where절 생략하면 전체 수정 

DELETE 구문 

  • 데이터 삭제 : DELETE FROM [TABLE] WHERE [CONDITION];
    ex) delete from member where seq=2;

DROP 구문 

  • 데이터베이스/테이블 삭제 : DROP [DATABASE/TABLE] [NAME];
    ex) drop table member;

SQL 연산자

  • 산술 연산자 : +, -, *, /

    * / 우선순위 1
    + -  우선순위 2

    ex) select 1+4;

    ex) select 1+4*2;
    ex) select * from member where seq=6-1;
  • 비교 연산자 : >, >=, <, <=, ==, <>, !=
    ex) select * from member where seq>2;
  • 논리 연산자 : NOT, AND, OR

    NOT 부정 우선순위 1
    AND 그리고 (논리곱) 우선순위 2
    OR 또는 (논리합) 우선순위 3

    ex) select * from member where seq=1 and seq=5;

    ex) select * from member where seq=1 or seq=5;
    ex) select * from member where seq=1 and name='iy';
  • 비트 논리 연산자 : &, |, ^

    ORACLE ||
    MSSQL +
    MYSQL 공백
  • 연결 연산자 : 공백 

    ORACLE ||
    MSSQL +
    MYSQL 공백
    ex) select 'te' 'st';
    ex) select name * from member where name='gue' 'st'; 
    ex) select concat('in','yeong');
  • IN 연산자 : [컬럼/값] IN (값1, 값2..)
    ex) select name, email from member where id in ('admin', 'guest');
  • NOT IN 연산자 : [컬럼/값] NOT IN (값1, 값2..)
    ex) select name, email from member where id not in ('admin', 'guest'); 
  • like 연산자 
    검색 기능에 많이 사용, 일부 문자만 입력해도 정보가 출력됨
    % 모든 문자 : 

함수 

  • 문자열 함수 substring
  • 문자, 아스키코드 변환 함수

    DBMS CHAR → ASCII  ASCII  → CHAR
    ORACLE ASCII CHAR
    MSSQL ASCII CHAR
    MYSQL ASCII, ORD CHAR
  • count 함수
    집계, 레코드 개수 구하는 함수
    select count(column) from [table] 
    ex) select count(*) from member;
  • 길이 함수

    DBMS 함수
    ORACLE LENGTH
    MSSQL LEN
    MYSQL LENGTH

    ex) select length('test');
    ex) select name, length(email) from member; 

조건문

ORACLE DECODE 함수, CASE WHEN 구문
MSSQL CASE WHEN 구문
MYSQL IF 함수, CASE WHEN 구문


case when [condition] then [true] else [false] end
condition(조건)이 참일 때 true 실행, 거짓일 때 false 실행 
ex) select case when 1=1 then 1 else 2 end; 
ex) select * from member where seq=(case when 1=1 then 1 else 2 end); 

 

'DB' 카테고리의 다른 글

[DB] 파일 시스템과 DBMS  (1) 2024.09.05
[DB] 데이터베이스 개념  (0) 2024.05.31