본문 바로가기
자바과정/DB(Oracle)

SQL 기본 정리

by Parkej 2021. 3. 12.

출처: https://stricky.tistory.com/34

 

SQL 이란

 - SQL  Structured Query Language의 약자로 데이터베이스에서 데이터를 , 입력, 수정, 삭제 저장 하는데 사용되는 질의 언어 입니다.

- SQL은 관계형 데이터베이스에 대해서 데이터의 구조를 정의, 데이터 조작, 데이터 제어 등을 할 수 있는 절차형 언어

- SQL은 ANSI/ISO 표준을 준수하기 때문에 데이터베이스 관리 시스템이 변경되어도 그대로 사용할 수 있다.

- SQL 은 역할에 따라 DML, DDL, DCL, TCL 로 나뉩니다.

 


DDL (Data Definition Language) : 데이터 정의 언어, 테이블 구조 관련

 - 관계형 데이터베이스 테이블을 생성, 변경, 삭제하는 것으로 데이터를 저장할 구조를 정의하는 언어

 - create, alter, drop, rename

 

CREATE ( 데이터 베이스 객체 생성 )

 SQL> CREATE TABLE 테이블명 ;

 SQL> CREATE INDEX 인덱스명 ;

 

ALTER ( 기존의 생성된 객체를 변경 )

 SQL> ALTER TABLE 테이블명

           ADD PARTITION ……;

 

DROP ( 데이터 베이스 객체 삭제 )

 SQL> DROP TABLE 테이블명 ;

 SQL> DROP INDEX 인덱스명 ;

 

RENAME (객체 이름 변경)

 SQL > RENAME 테이블명 TO 바꿀테이블명;



DML (Data Manipulation Language) : 데이터 조작 언어, 테이블 행(데이터)에 관련

 - 데이터 구조가 DDL로 정의되면 테이블에 데이터를 입력, 수정, 삭제, 조회한다.

 - insert, update, delete, select

 

INSERT ( 신규데이터 입력 )

SQL> INSERT INTO 테이블 ( Column1, Column2 ) VALUES ( Column1 Column2  );

 

UPDATE ( 기존 데이터 수정 )

SQL> UPDATE 테이블 SET 변경 Column1 =  WHERE 조건절 ;

 

DELETE ( 데이터 삭제 )

SQL> DELETE FROM 테이블 WHERE 조건 ;

 

SELECT ( 데이터 조회 )

 - SELECT 문은 테이블에 저장된 데이터를 조회하는데 사용되는 SQL 입니다

 - SELECT 문의 기본 패턴은 다음과 같습니다

 - SQL> SELECT 컬럼1 FROM 테이블 WHERE 조건 ;

 


DCL (Data Control Language) : 데이터 제어 언어
 - 데이터베이스 사용자에게 권한을 부여하거나 회수
 - grant, revoke

 

GRANT (객체에 권한 부여 )
SQL> GRANT privilege   
        ON object     
        TO {user | role | PUBLIC }
        [WITH GRANT OPTION] ;

REVOKE (객체에 부여된 권한 삭제 )
SQL> REVOKE {privilege | ALL}       
        ON object   
        FROM {user | role | PUBLIC}
        [CASCADE CONSTRAINTS]

 


TCL (Transaction Control Language) : DML문의 변경을 관리함.

 - 트랜잭션을 제어하는 명령어

 - commit, rollback

 - 트랜잭션 : 데이터베이스의 작업을 처리하는 단위

 

COMMIT

데이터 변경 작업을 한뒤 COMMIT을 실행해야만 변경된 데이터들이 데이터 파일에 반영이 됩니다.

 SQL> COMMIT ;

 

ROLLBACK

COMMIT과 반대 개념으로 변경된 데이터들을 변경 전 상태로 되돌립니다.

 SQL> ROLLBACK ;


도스창으로 쿼리문 연습(hr 계정 접속)

DDL 데이터 정의 언어

CREATE로 테이블 생성해보기

- CREATE TABLE member( ~~ );

 

CREATE TABLE member(
id NUMBER NOT NULL Primary Key,
username VARCHAR(20),
dept VARCHAR(7),
birth DATE,
email VARCHAR(40),
tel VARCHAR(30) NOT NULL
);

 

- 출력


ALTER로 속성 추가해보기

 - ALTER TABLE member add (tel varchar2(30) NOT NULL);

 

 

속성 타입 변경해보기 

- ALTER TABLE member modify (username varchar2(10));

 

 

속성 삭제해 보기

- ALTER TABLE member DROP (tel);

 

 


테이블 삭제해 보기

 - TABLE DROP 테이블명


테이블 이름 변경해보기

 - RENAME 테이블명 TO 바꿀테이블명;

 

 

속성 이름 변경해보기

 - ALTER TABLE member RENAME COLUMN username to name;

 


DML 데이터 조작 언어

INSERT로 데이터 삽입해보기

INSERT INTO member VALUES(202103,'홍길동','SL','00.01.01','m@m.com','000-0000-0000');
INSERT INTO member VALUES(202104,'장길산','SL','00.01.01','m@m.com','000-0000-0000');
INSERT INTO member(id,dept,username,birth,email,tel) VALUES(202101,'SL','너무해','01.02.02','2@3.com','010');

- 테이블 속성에 들어갈 VALUES 값들의 순서랑 일치해야함. 

 

성공일시

 

그리고 COMMIT; 을 해준다 (무조건 해줘야함!!!)


SELECT로 데이터 조회해보기

 - SELECT * FROM member;

 

 

SELECT 조건절을 이용하여 조회해보기

- select * from member WHERE id = '202101';

 

 

- SELECT id, username, birth FROM member WHERE id = 202101 AND DEPT = 'SL';

 

SQL Developer로 확인해보기

 - 데이터 삽입 확인하기 

 

 

SQL Developer 워크시트 작성해보기

 - select * from member;


UPDATE로 데이터 수정해보기

 - UPDATE member set username = 'aaa' where id = '202104';

 - UPDATE member set username = 'jjj' where id = '202103';

 - UPDATE member set username = 'ppp' where id = '202101';

 - commit;

 

 


DELETE로 데이터 삭제해보기

- DELETE FROM member WHERE id = '202101' AND username = 'ppp';

 

반응형

'자바과정 > DB(Oracle)' 카테고리의 다른 글

데이터베이스란? 1부  (0) 2021.03.14
SQL 조건문  (0) 2021.03.12
JDBC 프로그램 작성  (0) 2021.03.12
DB 스키마  (0) 2021.03.12
SQL Developer 사용법과 hr 계정 접속  (0) 2021.03.12

댓글