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
직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면
아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)
(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)
'프로그래밍 > MS-SQL' 카테고리의 다른 글
SQL 기본 구문 (0) | 2018.03.04 |
---|---|
프로그래밍기초] break문 (0) | 2017.09.13 |
[프로그래밍기초] continue문 (0) | 2017.09.13 |
[프로그래밍기초] 반복문연습 (이중 for문) (0) | 2017.09.12 |
[프로그래밍기초] 반복문연습 (for문) (0) | 2017.09.12 |