DATABASE 1일차 (설치 / select / where)
ORACLE 설치
VMware - GUI 버전으로 가상머신 설치
No | 설정 | 내용 |
1 | 메모리 | 8기가 |
2 | 하드 디스크 | 60기가 |
3 | vmnet | 8번 |
4 | hostname | oracle18c |
5 | IP address | 192.168.108.3/24 |
6 | selinux | disabled |
7 | 방화벽 | tcp 1521 |
확인 해볼 사항들
vim /etc/sysconfig/network-scrpits/ifcfg-ens33
#확인 해볼 것
vim /etc/resolve.conf
#192.168.108.2로 되어 있는지 확인 해볼 것
sed -i '$a 192.168.108.3 oracle18c oracle18c.labs.local' \/etc/hosts
#hostname 변경
설치
cd/opt
yum localinstall -y oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
yum localinstall -y oracle-database-ee-18c-1.0-1.x86_64.rpm
/etc/init.d/oracledb_ORCLCDB-18c configure
#5번줄에 있는 것 설치 후에 나오는 6번줄과 같은 내용을 복사한 후 스냅샷을 찍어 두는게 좋다.
#설치 완료
echo 'oracle' | passwd --stdin oracle
#oracle에 대한 passwd 설정
#root 계정 로그아웃 => gui에서 로그아웃 해야한다 su로 계정을 변경 해서는 안된다.
#오라클에 대한 환경 설정 파일 변경
cat << EOF > ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_HOME=/opt/oracle/product/18c/dbhome_1
export ORACLE_SID=ORCLCDB
export NLS_LANG=KOREAN_KOREA.AL32UTF8
PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$ORACLE_HOME/bin
export PATH
#변경된 설정 파일 적용
source ~/.bash_profile
#적용이 잘 되었는지 확인
echo $PATH
테스트 해볼 샘플 스키마 설치 및 모바엑스톰에서 실행 가능 하도록 세션 설정
sqlplus / as sysdba
# sysdba 로 접속
※휴지인스턴스 입니다. 라고 나오게 되면 db가 안켜진 상태 이므로 켜줘야 한다.
startup
alter session set "_ORACLE_SCRIPT"=true;
#세션에서 실행이 가능 하도록 설정
@?/demo/schema/human_resources/hr_main.sql
#hr 스키마 sql 실행
hr
users
temp
$ORACLE_HOME/demo/schema/log/
#11번 부터 14번 까지 입력
HR 스키마
스키마 내용
SELECT 문
* = 모든
colum = 열
즉 모든 열을 식별 하거나 column 명을 적어줘서 해당 column 만 보거나
FROM = 해당 table 명
SQL문 특성
- SQL 문은 대 소문자를 구분하지 않는다.
- SQL 문은 한 줄 또는 여러 줄에 입력할 수 있다.
- 키워드는 약어로 표기하거나 여러 줄에 걸쳐 입력 할 수 없습니다.
- 절은 대개 별도의 줄에 입력한다.
- 가독성을높이기 위해 들여쓰기 사용
- SQL Developer에서 SQL 문은 선택적으로 세미콜론(;)으로 끝날 수 있다, 세미콜론은 여러 SQL 문을 실행하는 경우에 필요하다.
- SQL*PLUS 에서는 각 SQL 문이 반드시 세미콜론(;)으로 끝나야 한다.
산술식
위의 내용은 salary 라는 문자에 300을 더하는 것이 아니고 salary 안에 data 값에 300을 더하는 것이다.
null 값
null값은 사용할 수 없거나 , 할당되지 않았거나, 알 수 없거나 적용할 수 없는 값이다.
0은 null이 아니다 왜냐하면 0이라고 정의가 되었기 때문이다.
SQL에서 not null이라고 하게 되면 무조건 값이 들어가야 한다는 뜻이다.
alias
alias
- 열 머리글의 이름을 바꾼다.
- 열 이름 바로 뒤에 나온다.
- 열 이름과 alias 사이에 선택 사항이 AS 키워드 사용이 가능하다.
- 공백이나 특수 문자를 포함하거나 대소문자를 구분하는 경우 큰따옴표가 필요하다.
연결 연산자
||
- 열이나 문자열을 다른 열에 연결한다.
- ||로 나타낸다.
employees 테이블에서 last_name 과 job_id 를 이어서 출력 하고 별칭은 Employees로 해라
※만약 last_name과 job_id 사이에 특정 문자를 넣고 싶다면 ' ' 으로 해서 넣어주면 된다(리터럴 문자열 사용)
대체 인용 연산자
q
' ' 안에 ' 를 넣고 싶은 경우 사용
중복된 행 미출력
DISTINCT
※테이블 구조를 보는 명령어 : DESCRIBE
WHERE
조건문과 같은 개념으로 해당 값이 들어있는 것만 출력 하는 것이다.
90이라는 값이 들어있는 것만 출력
알아둘 것
alter session set nls_date_format='yyyy-mm-dd';
표현하는 세션 변경
변경 전 : 03/07/08
변경 후 : 2003/07/09
alter session set nls_date_format='mon-dd-rr';
6월 -17-03
연산자의 우선순위
() > x / > + -