기본 세팅
[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 |
---|