네이버클라우드 캠프 5기/학습내용 정리

12. Oracle - SQL

박세류 2023. 4. 12. 10:10

1. SQL(Structured Query Language)

1. SQL이란

  1. SQL이나 씨퀄 또는 쿼리(쿼리문)이라고 부릅니다.
  2. 데이터베이스에서 데이터를 다루고 관리하는 데 사용하는 질의 언어(명령)
  3. 쿼리를 작성해서 실행하면 데이터베이스가 실행결과를 알려준다.
  4. SQL의 분류
    • DQL(Data Query Language) : 데이터를 원하는 형태로 조회하는 명령(SELECT)
    • DML(Data Manipulation Language) : 데이터를 저장, 수정, 삭제하는 명령(INSERT, UPDATE, DELETE)
    • DDL(Data Definition Langauge) : 데이터 관리를 위한 테이블이나 다른 객체들을 생성, 수정, 삭제하는 명령(CREATE, DROP, ALTER)
    • TCL(Transaction Control Language) : 트랜잭션의 종료나 취소를 실행하는 명령(COMMIT, ROLLBACK)
    • DCL(Data Control Language) : 데이터 사용 권한과 관련된 명령(GRANT, REVOKE)

2. RDB의 구성요소

  1. 테이블 : 데이터베이스는 데이터를 행과 열을 갖는 2차원 표 형태로 관리하는데 이 표를 테이블이라고 한다.
  2. 행(Row) : 하나의 개체를 구성하는 여러개의 값을 늘어놓은 형태. 한 행에 저장되어 있는 데이터들은 모두 연관성을 갖는 값들.
  3. 열(Column) : 저장하려는 데이터를 대표하는 이름과 공통 속성을 정의한다. 테이블을 생성할 때 컬럼에 대한 정보를 지정(데이터타입, 데이터길이, null여부,...)한다.

3. 실습 데이터 쿼리 분석

-- dept 테이블 생성

  1. CREATE TABLE dept (
     -- dno컬럼 생성. 저장될 데이터는 varchar2(문자)에 최대 길이는 2byte인 문자만 저장가능
     dno varchar2(2),
     -- dname컬럼 생성. 저장될 데이터는 varchar2(문자)에 최대 길이는 20byte인 문자만 저장가능
     dname varchar2(20),
     -- locv컬럼 생성. 저장될 데이터는 varchar2(문자)에 최대 길이는 8byte인 문자만 저장가능
     loc varchar2(8) ,
     -- director 생성. 저장될 데이터는 varchar2(문자)에 최대 길이는 4byte인 문자만 저장가능
     director varchar2(4)
    );
    • CREATE TABLE 테이블명: 테이블명의 테이블을 생성해라.
    • ()안의 내용 : 테이블의 포함될 컬럼에 대한 정보(저장될 데이터의 타입, 길이)를 정의
      • varchar2(길이) : oracle에서 사용하는 문자타입, 매개변수는 데이터로 저장될 수 있는 최대 길이(byte)를 의미.
      • date : oralce에서 사용하는 날짜와 시간 타입.
      • number(길이) : 최대 길이만큼의 십진수 저장 가능.
      • number(정수, 정수) : 앞의 정수는 정수부 + 소수부의 길이를 지정. 뒤의 정수는 소수점 뒤 자리를 몇 자리까지 표출할건지 결정.
  2. INSERT INTO EMP(컬럼들) VALUES ('0201','안영숙','지원','0001', '1991-02-01:19:13:24',3900,2200,'01');
    • INSERT INTO 테이블명 : 해당 테이블에 데이터를 저장하라.
      • INSERT INTO 테이블명(데이터가 저장될 컬럼들....)
        VALUES(값들....)
      • 테이블의 모든 컬럼의 값을 저장할 때는 저장될 컬럼들을 생략할 수 있다.
      • 저장될 컬럼이 지정된 순서와 매칭된 값의 순서가 같아야 한다.
        ex) INSERT INTO STUDENT(SNO, SNAME, DATE) VALUES(1, '고기천', SYSDATE(오늘날짜));
        • INSERT INTO EMP(ENO, ENAME, JOB, MGR, HDATE, SAL, COMM,DNO) VALUES ('0201','안영숙','지원','0001', '1991-02-01:19:13:24',3900,2200,'01');
  3. DESC 테이블명; => 해당 테이블의 구조를 확인할 수 있는 명령
728x90

'네이버클라우드 캠프 5기 > 학습내용 정리' 카테고리의 다른 글

14. ORACLE - Join & SubQuery  (0) 2023.04.13
13. ORACLE - Select  (0) 2023.04.13
11. Oracle - Database  (0) 2023.04.12
10. JAVA - LamDa  (0) 2023.04.11
9. JAVA - MultiThread  (0) 2023.04.11