데이터베이스(DB)
데몬, 서비스 프로그램 > 화면이 없는 프로그램
SQL Developer
데이터베이스 클라이언트(DB Client)
전문적인 작업용
SQL * Plus
오라클과 같이 설치되는 기본 클라이언트 프로그램(CLI, Command Line Interface)
간단한 작업용
모델링 툴
🧐 SYS, SYSTEM, PDBADMIN : 오라클 계정으로 잊어버리지 않게 주의!
: cmd 창 > services.msc 검색
OracleServiceXE > 데이터 베이스
OracleOraDB21Home1TNSListener > 클라이언트 접속
💡cmd 창에서 services.msc을 통해 서비스 중지, 시작 가능
💡명령 프롬포트에서 net start 서비스, net stop 서비스 입력으로 가능
: SYS(회장님), SYSTEM(사장님)
1. SYSTEM 로그인 or 일반계정 로그인
- 로컬 or 원격 접속 가능
2. SYS로그인
- 로컬 접속만 가능
- 사용자명 입력 :/as sysdba
3. 일반 계정
- 생성 후 사용
💡 계정 생성 (c##****)
SQL > create user dog identified by java1234;
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.
💡 계정 생성 (c## 없이)
SQL > alter session set "_oracle_script" = true; //현재 접속에서만 적용
SQL > create user puppy identified by java1234;
SQL > grant connect, resource, dba to puppy;
https://github.com/oracle-samples/db-sample-schemas/releases 여기서 21c 버전 코드 다운
zip 파일 압축 풀기
human_resources 폴더 잘라내기
Oracle 다운 받은 폴더 안 dbhomeXE > demo > schema에 붙여넣기
- __SUB__CWD__
>> @?/demo/schema/human_resources/human_resources
으로 바꿔줌
터미널에서 아래와 같이 입력
sqlplus
SQL> alter session set "_oracle_script" = true;
SQL> @?/demo/schema/human_resources/hr_main.sql
SQL> 1의 값을 입력하십시오: java1234
SQL> 2의 값을 입력하십시오: users
SQL> 3의 값을 입력하십시오: temp
SQL> 4의 값을 입력하십시오: java1234
SQL> 5의 값을 입력하십시오: C:\class\dev\21c\dbhomeXE\demo\schema\log
SQL> 6의 값을 입력하십시오: localhost:1521/xe
오라클(데이터베이스) <-> SQL Developer(클라이언트) <-> SQL <-> 사람
구조화된 질의 언어
데이터베이스와 대화를 하기 위한 언어
1. 데이터베이스 제작사와 독립이다.
- 모든 데이터베이스에서 공통적으로 사용하기 위해 만들어진 언어
- DB 제작사에서 SQL라는 언어를 자신의 제품을 적용
2. 표준 SQL, ANSI-SQL
- 모든 DB에서 적용 가능한 SQL
3. 제조사별 SQL
- 특정 DB에만 적용 가능한 SQL
- Oracle > PL/SQL
- MS-SQL > T-SQL
1. DDL, Data Definition Language
- 데이터 정의어
- 테이블, 뷰, 사용자, 인덱스 등의 데이터베이스 오브젝트
생성/수정/삭제하는 명령어
a. CREATE : 생성
b. ALTER : 수정
c. DROP : 삭제
2. DML, Data Manipulation Language
- 데이터 조작어
- 데이터를 추가/수정/삭제/조회하는 명령어
- CRUD
- 사용 빈도가 가장 높음
a. select : 조회(읽기) > [R]ead
b. insert : 추가(생성) > [C]reate
c. update : 수정 > [U]pdate
d. delete : 삭제 > [D]elete
3. DCL, Data Control Language
- 데이터 제어어
- 계정 관리, 보완 관리, 트랜잭션 처리 등
a. commit
b. rollback
c. grant
d. revoke
4. DQL, Data Query Language
DML 중에서 Select문을 따로 부르는 표현
5. TCL, Transaction Control Language
DCL 중에서 commit. rollback 문을 따로 부르는 표현
📌 SQL
다만, 데이터(상수)는 대소문자를 구분한다.
오라클
📌 오라클 인코딩 설정
SQL Developer -> 도구 -> 환경설정 -> 환경 -> 인코딩 UTF-8