개발자doc 2024. 6. 12. 21:28
목차
1. SQL이란
2. DDL
3. DML
4. DCL
1. SQL이란
  • Structured Query Language
  • 데이터 베이스에서 데이터를 조회하고 조작하는 데이터 처리언어

관계형 데이터베이스에서 데이터를 다룰 때 사용하는 언어로 데이터의 생성, 업데이터, 삭제 등 할 수 있다. 데이터끼리의 관계성을 나타내거나 성능 최적화에도 사용된다.

2. DDL
  • Data Definition Language
  • 데이터의 구조를 정의하는 언어

1 ). 구조 정의하기

create [구조] [사용할 이름]

데이터베이스나 테이블 같은 구조에 해당하는 종류는 다음과 같다

database 데이터 베이스
table 특정 데이터가 있는 테이블
user 데이터 베이스에 접근할 수 있는 유저
role 데이터 베이스에 접근할 수 있는 유저 그룹
index 데이터를 조회할 때 속도를 빠르게 할 index

2 ) 구조 변경하기

alter [구조] [이름]
[변경타입] [변경할 속성] [값|속성]

# ex)
alert table user
add column passoword varchar(20) not null

alter는 데이터의 구조를 변경하는 명령어로 이름을 변경하거나 테이블의 컬럼 추가, 삭제, 속성 변경 등 여러 용도로 사용한다.

변경 타입에 해당하는 것은 다음과 같다.

rename 이름을 변경
add column 컬럼을 추가할 때 사용하며 새로 추가될 이름과 속성, 옵션을 같이 명시한다.
drop column 컬럼을 삭제
modify 기존 속성을 변경할 때 사용하며 이름을 

3 ) 구조 삭제하기

drop [구조] [이름]

# ex)
drop table user
3. DML
  • Data Manipulation Language
  • 데이터를 생성, 변경, 삭제 등 조작하는 언어

 1 ) 데이터 추가하기

insert into [테이블명](필드명1,필드명2..) 
values(데이터1,데이터2..)

# ex)
insert into user(id,name)
values(0,'홍길동');

2 ) 데이터 조회하기

select [컬럼명]
from [테이블명]

# ex)
select *
from user

3 ) 데이터 변경하기

update [테이블명]
set [새로운 데이터가 들어갈 컬럼명] = [새로운데이터]
where [변경할 컬럼명] = [검색데이터];

# ex)
update user
set name = '임꺽정'
where id = 0

4 ) 데이터 삭제하기

delete
from [테이블명]
where [삭제할 컬럼명] = [검색 데이터]

# ex)
delete
from user
where id = 0;

 

4. DCL
  • Data Control Language
  • 데이터에 접근할 수 있는 권한을 다루는 언어

1 ) 권한 주기

grant [권한] on [테이블명] to [유저|role] [옵션]

# ex)
grant select on user to root
all  전체 권한 부여
select 조회권한
update 변경 권한
insert 데이터 추가권한
delete  삭제 권한 

 

2 ) 권한 회수

revoke [권한] on [테이블명] from [유저|role] [옵션]

# ex)
revoke select on user from root

 

 

자료참고

https://www.elancer.co.kr/blog/view?seq=156

 

SQL 이란? 정의부터 특징까지 SQL을 사용하는 이유를 알려드립니다! I 이랜서 블로그

데이터 베이스에서 필요한 데이터를 추출하고 분석하는데 사용하는 '데이터 처리 언어 SQL'의 정의부터 특징과 사용하는 이유까지 자세하게 알려 드립니다. I sql, sql developer, sql join, sql 자격증, sq

www.elancer.co.kr