SQL(Structure Quary Language), SQLPLUS 사용하기
SQL(Structure Quary Language)
- 데이터베이스에 다룰 때 최적화된 언어
- java로 쓰면 10만개의 데이터 조회를 클래스,
변수선언, 반복문 10만번, 조건문 등등 을 써야하지만,
SQL언어이면 1줄이면 데이터조회가 가능하다.
- Quary Language : 질문하듯이 만든 언어이다.
SQL은 어떤 언어인가요?
1. 비절차적인 언어
2. 구성요소
SQL은 여러가지 언어를 조합해서 만든 것이다.
아래 네가지 언어를 합쳐서 SQL이라고 한다.
1) DDL (Data Definition Languge)
- 데이터 정의
- 데이터가 저장 될 수 있는 환경을 만들어 준다.
① CREATE 만들기
② DROP 삭제
③ ALTER 수정
- 환경을 만들고 삭제하고 수정한다.
- 개발자가 알고는 있어야 한다.
2) DML(Data Manipulation Languge)
- 데이터를 제어하는 언어
① INSERT 추가
② DELETE 삭제
③ UPDATE 수정
- 실제 데이터를 추가하고 삭제하고 수정한다.
- 개발자가 많이 사용한다.
3) DCL(Data Control)
- 보안, 백업, 계정관리...
- 전문적인 관리자들이 알아서 사용.
- 개발자는 거의 사용 할 일이 없다.
- GRANT정도만 알아두면 편하다.
- GRANT, REVOKE, .....
4) QL
- 검색 조회
- DB의 90%이상의 기능
- 매우 주요기능 개발자가 반드시 알아야한다.
- SELECT : 다른 것 합친 것 보다 기능이 많다.
sqlplus 사용법
1. 접속
[방법1]
sqlplus
사용자 ID :
비밀번호 :
예)
User@DESKTOP-G1R697G C:\Users\User
> SQLPLUS
SQL*Plus: Release 11.2.0.1.0 Production on 일 11월 26 11:04:01 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
사용자명 입력: SCOTT
비밀번호 입력:
결과값
다음에 접속됨:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Poduction
With the Partitioning, OLAP, Data Mining and Real Application Testig options
[방법2]
sqlplus 사용자ID/비밀번호 (비밀번호가 보이기 때문에 반드시 뒤를 조심한다.)
[방법3]
sqlplus 사용자ID
비밀번호
4) sqlplus 사용자ID/비밀번호@host명
- 다른 컴퓨터에 접속할 때 방법
- 별도의 설정이 필요하다.
5) connect 사용자ID/비밀번호
conn ... (connect 의 약자)
2) 계정관리
show user
를 치면 유저의 이름이 나온다.
SELECT username, account_status FROM DBA_USERS;
해석 : DBA_USERS 에서 username, account_status 를 가져와라
데이터베이스에는 데이터를 포함한 객체들로 구성되어 있다.
ALTER
데이터가 아닌 그외의 나머지 수정
▶ 아래는 초기설정에서 사용자계정을 잠금으로 설정한 경우에 사용
ALTER user scott ACCOUNT UNLOCK;
데이터가 아닌 scott이라는 사용자 계정을 잠금해제로 수정
ALTER user hr ACCOUNT UNLOCK;
데이터가 아닌 hr이라는 사용자 계정을 잠금해제로 수정
ALTER user scott IDENTIFIED BY 1111;
데이터가 아닌 scott이라는 사용자 계정의 비밀번호를 1111로
ALTER user hr IDENTIFIED BY 1111;
데이터가 아닌 hr이라는 사용자 계정의 비밀번호를 1111로
▶ scott을 연결해보자.
conn scott/1111
이는 샘플로 놓은 데이터이기 때문에 마음껏 사용해도 괜찮다.
★ Field( = duf, coumn, 속성)
칸 하나 하나
데이터의 최소단위
★레코드( = 튜블)
여기서 이름, 나이 성별, 주소 한 행을 레코드라고 한다.
레코드는 관련있는 필드끼리의 묶음이다.
- 필드 하나는 가치가 없지만 레코드부터 활용가치가 있다.
- 필드와 레코드까지는 메모리에 저장
- 테이블은 램에 저장
필드 < 레코드 < 테이블(파일) < 테이블 < 데이터베이스 < 데이터뱅크
여기서 실제 많이 사용하는 것은 데이터베이스 까지이다.
계정을 만들어 보자.
CREATE USER test1 IDENTIFIED BY 1111;
GRANT CONNECT TO test1;
GRANT 권한을 주는 객체
CONNECT 연결한다.
TO ~에게
test1 계정에 접근한다.
테이블을 생성하기 위한 명령어를 친다.
CREATE TABLE tbltest(id number, name varchar2(10));
권한이 불충분하다고 한다면, 관리자에게 간다.
GRANT RESOURCE TO test1 ;
다시 돌아가서 테이블을 생성한다.
CREATE TABLE tbltest(id number, name varchar2(10));
삭제 명령어인 DROP 을 사용해보자.
DROP USER test1;
를 누르면 삭제가 되지 않는다.
오라클의 안전장치 때문이다.
테이블을 먼저 삭제하고 계정을 삭제해야한다.
계정 강제삭제는 CASCADE 를 누르면 된다.
DROP USER test1 CASCADE;
'개발 > Oracle' 카테고리의 다른 글
[Database] 데이터베이스 개요, 오라클 소개 (0) | 2017.11.26 |
---|---|
[Database] 오라클 oracle 설치방법 / docs 문서보기 (0) | 2017.11.25 |