Study/database

DATABASE 1일차 (설치 / select / where)

됵이 2022. 8. 8. 19:37

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 /    >    + -