17일차 수업( SQL 종류, Select 문, 계정생성 및 권한부여)

SQL - ( Structured Query Language )

구조화 질의어라고 하며 데이터 정의어(DDL)와 데이터 조작어(DML)를 포함한 데이터베이스용 질의언어(query language)의 일종이다.

특정한 데이터베이스 시스템에 한정되지 않아 널리 사용된다.

 

1) DML ( Data Manipulation Language )
- insert (데이터 삽입)
- delete (데이터 삭제)
- updata (데이터 수정)
- merge  (데이터 병합)
==> 트랜잭션 (transaction) 고려해야 된다.

2) DDL ( Data Definition Language )
- create (객체 생성)
- alter  (객체 수정)
- drop   (객체 제거)

 

3) TCL ( Transaction Control Language )
=> 트랜잭션 관련 명령어
- commit
- rollback

라. 권한할당 / 권한취소
- grant (권한 할당)
- revoke (권한 취소)

마. qurey
- select ( 데이터 조회 )

 

관계형 데이터베이스 
- 데이터를 테이블 형태로 관리하며, 테이블간에 관계를 맺으면서 데이터를 관리하는 방법

- 용어를 잘 이해하고 있어야 한다.

 

열(컬럼)
  이름     나이    주소     ==> 컬럼헤딩
 -----------------------
 박보영     24     증평     ==> 행(레코드 : 자바의 인스턴스)
 김상진     25              ==> 비어있는 컬럼 ( null 값을 갖는다고 표현 )
 다비치     25     경기

 

<제약조건 5가지> => 테이블의 올바른 데이터 설정하기 위해서.

 

가. primary key 제약조건 (PK)
=> 레코드를 식별하기 위해서 특정 컬럼에 지정. (유일하기 때문에)
=> 지정된 컬럼은 반드시 유일한 값을 갖는다.
   또한 null값을 갖지 못한다.
=> 중복데이터 저장을 방지할 수 있다.
=> 예> 주민번호, 사원번호, 학번

나. unique 제약조건 (UK)
=> 컬럼에 유일한 값을 저장하기 위한 제약조건.
   null값 허용.

다. not null 제약조건 (NN) (개체 무결성)
==> 컬럼에 null 값을 허용 안함.

라. check 제약조건 ( CK )
=> 컬럼에 저장할 데이터의 조건체크해서 저장여부 결정

 예> age > 20

마. foreign key 제약조건 ( FK ) (참조 무결성)
=> 다른 테이블의 PK값을 갖거나 또는 null 값을 가질수 있는 제약조건

 

<select 문> 

query 문으로 질의를 던져 원하는 데이터를 조회할 목적으로 사용되는 SQL 문 

 

사용방법에 대해 알아보자.

 

select (컬럼명)

from (테이블명)

where (조건명);

 

* 참고사항 : 데이터베이스에서 ' * ' 모두를 의미한다.

 

기본 구조는 위와 같으며 여러가지 옵션이 존재한다. 지금부터 어떠한 옵션이 있는지 알아보자.

 

1) 논리연산자 : AND ,OR, NOT

2) 범위 연산자 : BETWEEN

ex) where salary between 5000 AND 7000;       -- 5000 ~ 7000 사이의 셀러리 값을 갖는것

 

3) IN 연산자 : 일치하는 값만 검색

ex) where salary IN(2000,4000,6000);               -- 셀러리 값이 2000,4000,6000, 인것을 찾는것

 

4) LIKE 연산자 : 부분적으로 일치하는 값을 검색

%  : 없거나 여러문자 대치
_   : 한문자 대치

 

ex)  이름이 a로 시작하는 사람 검색
      where name LIKE a%';

      이름이 a로 끝나는 사람 검색
      where name LIKE '%a;

      이름에 a문자를 갖는 사람 검색
      where name LIKE '%a%';

      이름이 5글자이고 s끝나는 사람 검색
      where name LIKE '____s';

 

5) IS NULL 연산자와 IS NOT NULL 연산자

where Student_num IS NULL;         -- 학번 값이 NULL 인것을 검색

where Student_num IS NOT NULL;    --  학번 값이 NULL 이 아닌 것을 검색

 

6) 오름차순과 내림차순 연산자

오름차순 : asc, ASC
==> order by 컬럼명 ASC;
내림차순 : desc, DESC
==> order by 컬럼명 DESC;

 

<DDL - Data Definition Language> 데이터를 정의 하는 언어!
- create
- alter
- drop

스키마 ( schema )
: 특정 사용자가 접속해서 생성한 객체들의 대표이름.
: 사용자 개정명과 동일하다.
  스키마라고 하면 계정을 의미한다.

: 스키마는 반드시 소유자가 있다.
  다른 스키마는 접속 불가. ( 권한 없기 때문에 )

==> 스키마.테이블명;

예> select * from hr.employee;  -- hr 스키마의 employees 테이블 접근

 

< 계정 생성 및 권한 부여>

 

먼저 계정생성은 관리자만 가능하다!

생성 하는 방법은 아래와 같다.

 

create user 계정명
identified by 비번;

 

create user man

          identified by 123;

 

이렇게 계정을 생성했으면 권한을 부여를해야한다.

접속권한(connect),객체생성권한(resource)를 부여하는 방법을 예를 들어보자.

               

                grant 권한, 권한2
                    to 계정;

           

          grant connect,resource    -- 접속권한과 객체생선권한을

          to man;                           -- man 계정에게 준다

 

롤( role )?
==> 권한들의 묶음을 의미.
==> 권한부여 및 취소를 편리하게 하기 위해서 사용한다.
예> connect, resource

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,