기본 세팅

[cmd]

  • sqlplus
  • system
  • 1234
  • @C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql;
  • ALTER USER scott IDENTIFIED BY tiger;

 

[접속]

  • Name -> scott
  • 사용자 이름 -> scott
  • 비밀번호 -> tiger

 

[도구 - 환경설정]

  • 글꼴 크기
  • 행 번호 표시

 

scott 테이블 명세서

[BONUS] 각 사원 보너스 정보테이블
의미 컬럼이름 타입
사원의 이름 ENAME 문자열
사원의 직무 JOB 문자열
급여 SAL 숫자
커미션 COMM 숫자

 

 

[DEPT] 부서 정보 테이블
의미 컬럼이름 타입
부서 번호 DEPTNO 숫자
부서 이름 DNAME 문자열
부서 지역 LOC 문자열

 

 

[EMP] 사원 정보
의미 컬럼이름 타입
사원 번호 EMPNO 숫자
사원 이름 ENAME 문자열
담당 직무 JOB 문자열
직속 상관의 사원번호 MGR 숫자
입사일 HIREDATE 날짜
급여 SAL 숫자
커미션 COMM 숫자
근무 부서 번호 DEPTNO 숫자

 

 

[SALGRADE] 급여 등급 테이블
의미 컬럼이름 타입
등급 GRADE 숫자
등급 최저 급여액 LOSAL 숫자
등급 최고 급여액 HISAL 숫자

 

 


 

SQL 명령문

DDL (Data Define Language / 데이터 정의어)

데이터베이스 관리자나 설계자가 사용함

명령어 기능
CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의한다.
ALTER 테이블을 변경한다.
DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제한다.

 

 

DML (Data Manipulation Language / 데이터 조작어)

데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공

명령어 기능
SELECT 테이블에서 튜플을 검색한다.
INSERT 테이블에서 새 튜플을 삽입한다.
DELETE 테이블에서 튜플을 삭제한다.
UPDATE 테이블에서 튜플을 변경한다.

 

 

DCL (Data Control Language / 데이터 제어어)

사용자 권한, 작업의 취소 등을 처리할 수 있는 언어

명령어 기능
COMMIT 명령 결과를 디스크에 저장하고,관리자에게 완료를 알려준다.
ROLLBACK 오류 발생 시 복구한다.
GRANT 데이터베이스 사용자에게 사용 권한을 부여한다.
REVOKE 데이터베이스 사용자의 사용 권한을 취소한다.

 

 

TABLE 구성

 


 

DML

select

select * from 테이블; 테이블의 모든 정보를 가져온다.
select 컬럼1, 컬럼2 from 테이블; 테이블의 컬럼1, 컬럼2의 정보를 가져온다.

 

연산자

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기

※ null값으로 연산을 하면 null 값이 반환

select 컬럼+ from 테이블; 테이블의 컬럼+을 가져온다.
select nvl(컬럼, 값) from 테이블; 테이블의 컬럼(null이면 값)을 가져온다.
select 컬럼 || '문자열' from 테이블; 테이블의 컬럼문자열을 합쳐서 가져온다.
select distinct 컬럼 from 테이블; 테이블의 컬럼에서 중복된 값을 빼고 가져온다.

 

조건절(where)

  • < : 작은가
  • > : 큰가
  • <= : 작거나 같은가
  • >= : 크거나 같은가
  • = : 같은가
  • <>, !=, ^= : 다른가
select 컬럼 from 테이블 where 조건절; 테이블의 컬럼 조건이 맞으면 가져온다.

 

논리 연산자

  • and : 둘 다 참이면 참
  • or : 둘 다 거짓이면 거짓
  • not : 결과를 부정
select 컬럼 from 테이블 where 조건절1 and 조건절2; 테이블의 컬럼조건절1 조건절2가 맞으면 가져온다.
select 컬럼 from 테이블 where not(조건절1 or 조건절2); 테이블의 컬럼 중 (조건절1이나 조건절2가 맞지) 않으면 가져온다.

 

  • between and : 범위조건
  • in : 항목 조건
select 컬럼 from 테이블 where between 숫자1 and 숫자2; 테이블의 컬럼 중 숫자1 ~ 숫자2라면 가져온다.
select 컬럼 from 테이블 where 조건절 in ('문자열1', '문자열2') 테이블의 컬럼 중 ('문자열1'/'문자열2')라면 가져온다.

 

Like 연산자

와일드 카드

  • _ : 글자 하나
  • % : 글자 0개 이상

 

select 컬럼 from 테이블 where 컬럼 like '__A%' 테이블의 컬럼세 번째 글자가 A라면 가져온다.

 

null 비교

  • null : 정해지지 않은 값(무한대 값)
select 컬럼1, 컬럼2 from 테이블 where 컬럼2 is null 테이블의 컬럼1, 컬럼2컬럼2없다면 가져온다.
select 컬럼1, 컬럼2 from 테이블 where 컬럼2 is not null 테이블의 컬럼1, 컬럼2컬럼2있다면 가져온다.

 

정렬(order by)

  • ASC: 오름차순(생략 가능)
  • DESC: 내림차순
select 컬럼1, 컬럼2 from 테이블 order by 컬럼2 asc; 테이블의 컬럼1, 컬럼2컬럼2의 오름차순으로 가져온다.
select 컬럼1, 컬럼2 from 테이블 order by 컬럼2 desc; 테이블의 컬럼1, 컬럼2컬럼2의 내림차순으로 가져온다.

 

숫자 함수

  • abs(숫자) : 절대값
  • floor(숫자) : 버림
  • round(숫자, 반올림 자릿수) : 반올림
  • trunc(숫자, 버림 자릿수) : 버림
  • mod(숫자, 숫자) : 나머지

 

문자열 함수

  • lower(문자열) : 소문자로 변경
  • upper(문자열) : 대문자로 변경
  • initcap(문자열) : 첫 글자만 대문자, 나머지는 소문자로 변경
  • concat(문자열, 문자열) : 문자열 연결
    문자열 || 문자열
  • length(문자열) : 문자열의 길이 반환(공백 포함)
  • lengthb(문자열) : 문자열의 Byte를 반환(공백 포함)
  • substr(문자열, 시작 위치, 자를 문자 수) : 문자열 잘라내기
  • instr(문자열, 찾을 문자열, 시작 위치, 발생 횟수) : 문자열 찾기
  • lpad(문자열, 총 문자 길이, 채울 문자) : 왼쪽부터 특정 문자로 채우기
  • rpad(문자열, 총 문자 길이, 채울 문자) : 오른쪽부터 특정 문자로 채우기
  • trim(문자열) : 공백 제거
  • ltrim(문자열, 지울 문자) : 왼쪽부터 특정 문자 제거
  • rtrim(문자열, 지울 문자) : 오른쪽부터 특정 문자 제거
  • replace(문자열, 찾을 문자, 변환 문자) : 문자열 변경

 

날짜 함수

  • 메뉴 → 도구 → 환경설정 → 데이터베이스 → NLS → 날짜 형식
  • 날짜 형식 : YYYY-MM-DD HH24:MI:SS로 변경

 

  • sysdate : 현재 날짜와 시간을 반환
  • months_between(날짜1, 날짜2) : 두 날짜간의 개월 수를 반환
  • add_months(날짜, 숫자) : 주어진 개월 수만큼 더함
  • next_day(날짜, '월요일') : 다음 월요일의 날짜를 반환
  • last_day(날짜) : 지정된 달에 마지막 날을 반환
  • to_char(날짜, 'YYYY-MM-DD HH:MI:SS AM') : 날짜 데이터를 문자 데이터형으로 변경
  • to_date('2025-03-27 09:07:24 오후', 'YYYY-MM-DD HH:MI:SS AM') : 문자 데이터형을 날짜 데이터형으로 변경

 

  • round(날짜, 'CC') : 년도 두자리 반올림
  • round(날짜, 'YYYY') : 월 반올림
  • round(날짜, 'MM') : 일 반올림
  • round(날짜, 'DAY') : 주 반올림
  • round(날짜, 'DDD') : 시 반올림
  • round(날짜, 'HH') : 분 반올림
  • round(날짜, 'MI') : 초 반올림
  • trunc(날짜, 'CC') : " 내림

 

'----------고3---------- > 데이터베이스' 카테고리의 다른 글

[고3 데이터베이스] 이론  (0) 2025.03.17