DB

SQL*Plus 실습, SQL명령어

짱코딩러 2022. 8. 2. 17:16
더보기

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의 업그레이드 버전)