TIL

230216 [SQL] (테이블 생성 / 데이터 삽입 & 조회)

하차모 2023. 2. 16. 17:10

1.SQL

 

1.1 테이블 생성

  문법 : 컬럼명 자료형 [제약조건]

    PRIMARY KEY 기본 키

CREATE TABLE MEMBER (
    MEM_NUM NUMBER PRIMARY KEY
    , MEM_NAME VARCHAR2(50)
    , MEM_AGE NUMBER
);

1.2 데이터 삽입

  문법 : INSERT INTO 테이블명 (컬럼명들...) VALUES(값들..)

INSERT INTO MEMBER (MEM_NUM, MEM_NAME, MEM_AGE)
VALUES(1, 'KIMJAVA', 20);
COMMIT;

INSERT INTO MEMBER (MEM_NUM, MEM_NAME, MEM_AGE)
VALUES(2, 'KIMJAVA', 20);
ROLLBACK;

  테이블에 저장된 데이터에 변화가 생기는 추가, 삭제, 수정 등의 쿼리는 실행 후 수정 내용을 확정할 지 취소할 지 결정해야 한다.
  변경 확정 명령어 : COMMIT, 변경 취소 : ROLLBACK (단, 한번 COMMIT한 데이터는 ROLLBACK 불가)

 

  컬럼명 없이 값을 넣었을 때는 순서대로 들어간다.

INSERT INTO MEMBER VALUES (2, 'kimJava', 30);
INSERT INTO MEMBER VALUES (3, 'kimjaVa', 30);
INSERT INTO MEMBER VALUES (4, 'kimJAVA', 30);
COMMIT;

 

1-3. 조회 시 별칭 부여 하기 : 컬럼명 AS 별칭 / 컬럼명 별칭

  (일시적으로 별칭을 부여하는 것이지, 컬럼명 자체가 변경되는 것은 아니다.)

SELECT EMPNO AS 사번, ENAME 이름, SAL AS MONEY
FROM EMP;

  +) 포함된 데이터를 조회하는 방법 : LIKE 연산자와 와일드 카드

    와일드 카드

      1. '%' : 랜덤한 글자, 글자 수는 마음대로 ('김%' -> 김으로 시작하는 모든 단어 / '%이' -> 이로 끝나는 모든 단어)

      2. '_' : 랜덤한 한 글자 ('김_' -> 앞 글자가 김인 두 글자의 단어)

        ex) '_김%' -> 두 번째 글자가 '김'인 모든 단어

-- 사원명에 '이'가 포함된 사원 조회
SELECT *
FROM EMP
WHERE ENAME LIKE '%이%';

 

  +) 대소문자 변경하는 함수

    UPPER() : () 안에 들어간 컬럼의 값을 대문자로 조회

    LOWER() : () 안에 들어간 컬럼의 값을 소문자로 조회

    INITCAP() : () 안에 들어간 컬럼의 값을 앞글자만 대문자로 조회

SELECT UPPER(MEM_NAME) 대문자
    , LOWER(MEM_NAME) 소문자
    , INITCAP(MEM_NAME) 앞글자만
FROM MEMBER;

-- MEMBER 테이블의 회원명으로 'java'라는 글자가 포함된 모든 회원의 정보를 조회(대소문자 구분 없이)
SELECT *
FROM MEMBER
WHERE LOWER(MEM_NAME) LIKE '%java%';