SQL*Plus 실습, SQL명령어
DB사용자 = 오라클계정(Account)
권한을 부여해줄 때는 그 계정이 갖고있는 권한만큼만 부여해줄 수 있음.
사용자계정 | 설명 |
SYS | 오라클 Super 사용자 계정이며 데이터베이스에서 발생하는 모든 문제들을 처리할 수 있는 권한을 가지고 있다. |
SYSTEM | 오라클 데이터베이스를 유지보수 관리할 때 사용하는 사용자 계정이며, SYS 사용자와 차이점은 데이터베이스를 생성할 수 있는 권한이 없으면 불완전 복구를 할 수 없다. |
SCOTT | 처음 오라클을 사용하는 사용자의 실습을 위해 만들어 놓은 연습용 계정이다. |
HR | 이 역시 오라클에 접근할 수 있도록 샘플로 만들어 놓은 사용자 계정이다. |
명령어 대소문자 구분X
값은 대소문자 구분O
마지막에 세미콜론 찍어주기
null은 연산, 할당, 비교 불가
문자열, 날짜 등은 '단일따옴표'안에 표시
scott계정으로 연결하기
cmd환경에서 SQL*Plus 로그인
오라클 sqlplus에 (system계정으로) 접속하고, 로그인한다.
C:\Users\x0xa>sqlplus
SQL*Plus: Release 11.2.0.2.0 Production on 화 8월 2 20:42:57 2022
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Enter user-name: system
Enter password:(비밀번호입력)
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
scott계정을 활성화 시켜주기
scott 계정에 connect(접속),resource(리소스사용),unlimited tablespace(테이블사용제한풀기)
SQL> grant connect, resource, unlimited tablespace to scott identified by tiger;
Grant succeeded.
scott 테이블 스페이스 변경해주고, 로그인할때 대소문자 구분 안하도록 세팅
SQL> alter user scott default tablespace users;
User altered.
SQL> alter user scott temporary tablespace temp;
User altered.
SQL> alter system set sec_case_sensitive_logon = false;
System altered.
scott계정으로 연결시켜주고 show user로 확인
SQL> conn SCOTT/TIGER
Connected.
SQL> show user
USER is "SCOTT"
SQL문을 작성할 때 사용하는 각종 명령어
conn : 데이터베이스 접속
conn 계정명/패스워드
run, /: 바로 전에 실행했던 명령어 재실행
list: 명령어 찾기
ed 파일명, run 파일명: 메모장으로 명령어 작성 및 실행하기
column: 출력 모양을 조절하는 명령
TAB: TABLE의 약자. 사용자가 소유하고 있는 데이블의 정보를 알려주는 딕셔너리
SELECT * FROM TAB;
DESC: 테이블의 컬럼 이름, 데이터 형, 길이와 NULL 허용 유무 등과 같은 특정 테이블의 정보를 알려준다.
('DESC'에 'DESCRIBE'라고 길게 써줘도 됨)
DESC 테이블명
SELECT: 데이터를 조회하기 위한 명령어. ({}안에 *을 넣어 전체를 가져올수도있음)
DISTINCT를 추가해주면 중복을 제거한 결과를 가져올 수 있음.
SELECT [DISTINCT] {칼럼1, 칼럼2. . .}
FROM 테이블명;
DISTINCT: 중복 없이 출력할때 사용. 칼럼 앞에 적어줌
NVL: NULL값을 0또는 다른 값으로 변환하기 위한 함수
(연산에 참여시키기 위해)
NVL("값", "지정값")
as, "": 컬럼에 별칭 부여(앞에 적힐 필드명이랑 띄어쓰기 해주기)
||: 여러개의 칼럼을 연결(테이블값이 바뀌는건 아니고, 값을 연결해 보여주는것)
SQL> select ename || 'is a' || job 2
from emp;
ENAME||'ISA'||JOB
----------------------------------------------
SMITHis aCLERK
ALLENis aSALESMAN
WARDis aSALESMAN
...생략...
산술 연산자
+ - * /
종류 | 예 |
+ | SELECT sal + comm FROM emp; |
- | SELECT sal - 100 FROM emp; |
* | SELECT sal * 12 FROM emp; |
/ | SELECT sal / 2 FROM emp; |
데이터 형
데이터형(n) => 데이터형의 4자리
NUMBER : 숫자 데이터를 저장하기 위한 데이터형 (int 처럼!)
precision=전체 자리수(소수점 포함) / scale=소수점 이하 자리수
scale를 생략하면 소수점 이하는 반올림 되어 정수 값만 저장된다.
NUMBER(precision, scale)
DATE : 날짜 및 시간 데이터를 저장하기 위한 데이터형
기본 날짜 형식은 "YY/MM/DD"형식으로 “년/월/일”로 출력된다.
CHAR : 문자 데이터를 저장하기 위한 데이터형
입력된 자료의 길이와는 상관없이 정해진 길이만큼 저장 영역 차지
VARCHAR2 : 가변적인 길이의 문자열을 저장 (VARCHAR의 업그레이드 버전)