728x90
반응형
SMALL
안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)
SQL(Structured Query Language)의 종류
SQL(Structured Query Language)의 종류에는 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL)가 있습니다.
DDL
- 데이터 정의어(Data Definition Language)
데이터의 구조를 정의하기 위한 테이블 생성, 수정,삭제 같은 데이터의 전체 골격을 결정하는 역할의 언어를 말합니다.
CREATE : 데이터베이스, 테이블 등을 생성
DROP : 데이터베이스, 테이블을 삭제
ALTER : 테이블 수정
TRUNCATE : 테이블에 있는 모든 데이터 삭제
// 테이블 생성(CREATE)
CREATE TABLE SAMPLE
(
TEST_VARCHER VARCHAR(10),
TEST_INT INT
);
// 테이블 수정(ALTER)
SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'SAMPLE';
1. 컬럼추가
ALTER TABLE SAMPLE ADD TEST_VARCHAR2 VARCHAR(15);
// 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼이 생성 된 것을 확인 할 수 있다.
2. 컬럼수정
ALTER TABLE SAMPLE MODIFY TEST_VARCHAR2 VARCHAR(5);
// 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼의 사이즈가 5로 변경 된것을 확인 할 수 있다.
3. 컬럼삭제
ALTER TABLE SAMPLE DROP COLUMN TEST_VARCHAR2;
// 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼이 제거 된 것을 확인 할 수 있다.
// 테이블 제거(DROP)
DROP TABLE SAMPLE;
// 테이블 정보 조회시 조회 결과가 출력 되지 않는다.
DML
- 데이터 조작어(Data Manipulation Language)
데이터 조회 및 변형을 위한 명령어
SELECT : 데이터 조회
INSERT : 데이터 입력
UPDATE : 데이터 수정
DELETE : 데이터 삭제
간단한 예시 코드들로 알아보겠습니다.
우선 데이터를 담을 테이블이 존재해야 데이터를 조작 할 수 있으므로 테이블을 생성해줍니다.
// 테이블 생성
CREATE TABLE TB_MEMBER
(
ID INT,
NAME VARCHAR(10),
AGE INT
);
// 데이터 입력( INSERT )
INSERT INTO 테이블명( 컬럼1, 컬럼2, 컬럼3... ) VALUES ( '값1', '값2', '값3'.... );
INSERT INTO TB_MEMBER( ID, NAME, AGE )
VALUES ( '1', 'JACK', '35' );
INSERT INTO TB_MEMBER( ID, NAME, AGE )
VALUES ( '2', 'SUJAN', '34' );
// 데이터 조회( SELECT )
// 1. 데이터 전체 조회
SELECT * FROM 테이블명 ;
SELECT * FROM TB_MEMBER;
// 2. 데이터를 모두 조회 하고 싶지 않고 특정한 조건에 맞는 데이터를 조회 하고 싶을때 WHERE를 사용하여 데이터를 조회 할 수 있다.
SELECT * FROM 테이블명 WHERE 컬럼1 = '값1' ;
SELECT * FROM TB_MEMBER
WHERE ID = '1';
// ID가 1인 데이터 하나만 조회 되는 것을 확인 할 수 있다.
// 3. 데이터에서 특정한 컬럼 값만 보고 싶으면 * 대신 컬럼명을 사용한다.
SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼1 = '값1' ;
SELECT NAME FROM TB_MEMBER
WHERE ID = '1';
// ID가 1인 데이터 하나의 NAME만 조회되는 것을 확인 할 수 있다.
// 데이터 수정( UPDATE )
UPDATE 테이블명 SET 컬럼2 = '수정할 값1' WHERE 컬럼1 = '값1'
UPDATE TB_MEMBER
SET NAME = 'HERA'
WHERE ID = '1';
// 데이터 삭제( DELETE )
DELETE 테이블명 WHERE 컬럼1 = '값1'
DELETE TB_MEMBER WHERE ID = '1';
DCL
- 데이터 제어어(Data Control Language)
사용자에게 권한 생성 혹은 권한 삭제 같은 명령어
GRANT : 권한 생성
REVOKE : 권한 삭제
// GRANT
1. 권한을 생성 하기 위해서는 우선 DBA로 접속을 해야 한다.
CONN SYS/ORACLE AS SYSDBA
2. 이후 권한을 부여해 줄 사용자를 생성 한다.
CREATE USER SAMPLE_USER IDENTIFIED BY PASSWORD;
3. 생성된 사용자에게 CONNECT 권한 및 RESOURCE 권한을 준다.
- CONNECT는 접속 권한
- RESOURCE는 객체(생성, 수정, 삭제), 데이터(입력, 수정, 조회, 삭제) 권한
- RESOURCE로 권한을 주지 않고 테이블 생성 데이터 입력만 가능하도록 일부 권한만 줄 수도 있다.
GRANT 권한 종류1, 권한 종류2 TO 권한을 줄 사용자
GRANT CONNECT, RESOURCE TO SAMPLE_USER;
* 관리자계정에서 실행
728x90
반응형
LIST
'。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★ > 나의 면접 준비 자료 ✿˘◡˘✿' 카테고리의 다른 글
[취업/면접] 추상클래스와 인터페이스 차이점 (0) | 2023.10.08 |
---|---|
[취업/면접] IT분야의 최근 경향(이슈, 트랜드) (0) | 2023.10.07 |
[취업/면접] 인스턴스란(Instance)? (클래스, 인스턴스, 객체 차이점) (0) | 2023.10.04 |
[취업/면접] OOP란? (캡슐화, 추상화, 다형성, 상속성) (1) | 2023.10.03 |
[취업/면접] 상속(Inheritance)이란? (0) | 2023.10.03 |