본문 바로가기
🌱 Computer Science/Database

SQL 기본문법정리1(DDL/DML/DCL/TCL)

by 카프리썬_ 2020. 1. 20.
728x90
728x90
데이터 정의어(DDL) 테이블의 구조를 정의함 CREATE, ALTER, DRTOP,TRUNCATE 
데이터 조작어(DML) 데이터 조회/삽입/삭제/변경 SELECT, INSERT, UPDATE ,DELETE
데이터 제어어(DCL) 데이터베이스에 접근권한 GRANT, REVOKE
트랜잭션 제어어(TCL) 트랜잭션 제어명령어 COMMIT, ROLLBACK, SAVEPOINT

1. DDL 데이터정의어

1) 테이블 생성 : CREATE문

create table tr_test(
  id int not null auto_increment,
  name varchar(10) not null not null,
  primary key(id)

2) 테이블 삭제 : DROP문

DRTOP table tr_test;

3) 테이블 삭제 : TRUNCATE문

TRUNCATE table tr_trest

3) 테이블 수정 : ALTER문 -컬럼삽입

altert table tr_test add ('222','lll');

 

2. DML 데이터 조작어

1) 데이터 삽입 : INSERT문

insert into tr_test (id, name) values ('111','kkk');

2) 데이터 수정 : UPDATE문

update tr_test set name = 'kqk' where name = 'kkk';

3) 데이터 삭제 : DELETE문

delete from tr_test : 모든 행 삭제 (delete는 * 가 없음!)

모든 데이터 행 삭제시 delete이용하는 것보다 truncate로 지우면 처리속도가 더 빠르다.   
detele from tr_test where where name = 'kkk'; 특정한 행만 삭제

4) 데이터 조회 : SELECT문

select * from tr_test : 모든 행 조회

 -오름차순정렬 : order by 기준컬럼 asc
 -내림차순정렬 : order by 기준컬럼 desc

select count(*)  from tr_test : NULL을 포함한 모든 레코드 수 반환

select count(변수) from tr_test : NULL을 제외한 모든 레코드 수 반환

-where조건

s로 시작 : like 's%'

t가 포함 : like '%T%'

두번째가 t : like '_t';

 

 

*DELETE VS DROP VS TRUNCATE  차이

공통점 : 삭제하는 명령어

DELETE : 테이블이 유지된 상태로 데이터만 삭제,(테이블 용량 지워지지 않음) 잘못 삭제한 경우 되돌릴 수 있음

DROP : 테이블도 삭제하고, 그 안에 데이터도 삭제함, 삭제 후 절대로 되돌릴 수 없음

TRUNCATE : 테이블이 유지된 상태로 데이터만 삭제,(테이블 용량,인덱스도 다 지워짐) 삭제후 되돌릴 수 없음

  DELETE DROP TRUNCATE
테이블 유지 삭제 유지
테이블 용량 유지 삭제 삭제
데이터

삭제
(특정한 행만 삭제가능)

삭제
(테이블 삭제되서 다 지워짐)
삭제
(특정한 행만 삭제 불가능)
롤백 가능 불가능 불가능

 

3. DCL 데이터 조작어

1) GRANT 

특정 데이터베이스 사용자에게 특정작업에 대한 수행 권한 부여

2) REVOKE

특정 작업수행 권한을 박탈/회수

 

어떤 권한들을 줄 수 있는가?

CONNECT - 데이터베이스 or 스키마에 연결하는 권한.

SELECT - 데이터베이스에서 데이터를 검색할 수 있는 권한

INSERT - 데이터베이스에서 데이터를 등록(삽입)할 수 있는 권한

UPDATE - 데이터베이스의 데이터를 업데이트 할 수 있는 권한

DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한.

USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한

 

728x90
반응형