본문 바로가기
MySQL

MySQL -기초(1)

by J-non 2024. 7. 2.

<목차>

1. 데이터베이스와 DBMS

2. SQL이란?

3. DDL

4. DML

5. DCL

 


 

1. 데이터베이스와 DBMS

 

데이터베이스란?

데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음이며, 일반적으로 컴퓨터 시스템에 전자적으로 저장된다.

데이터베이스를 한 마디로 정의하면 데이터의 집합이라고 할 수 있다.

 

DBMS란?

데이터베이스를 데이터의 집합이라고 정의한다면, 이런 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)라고 한다.

즉, DBMS는 특정 기능을 넣어서 데이터를 저장하고 조회하는 소프트웨어이다.

 


 

2. SQL이란?

Structured Query Language의 약어로, 데이터 베이스에서 데이터를 조회하고 조작하는 데이터 처리언어이다.

  • DBMS에서 구현된 기능을 실행시키기 위해, 특정 언어로 실행해 데이터를 조작한다.
  • SQL을 사용하는 것을 SQL이라 하고, 사용하지 않는 것을 NO SQL이라 한다.

 

3. DDL

Data Definition Language의 약어로, 데이터의 구조를 정의하는 언어이다.

 

구조 정의하기

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

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

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

 

구조 변경하기

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

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

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

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

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

 

구조 삭제하기

drop [구조] [이름]

# ex)
drop table user

 


 

4. DML

Data Manipulation Language의 약어로, 데이터를 생성, 변경, 삭제 등 조작하는 언어이다.

 

데이터 추가하기

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

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

 

데이터 조회하기

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

# ex)
select *
from user

 

데이터 변경하기

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

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

 

데이터 삭제하기

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

# ex)
delete
from user
where id = 0;

 


 

5. DCL

Data Control Language의 약어로, 데이터에 접근할 수 있는 권한을 다루는 언어이다.

 

권한 주기

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

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

 

권한 회수

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

# ex)
revoke select on user from root

 

 

참고자료

https://do-devel.tistory.com/78