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;

+ Recent posts