개발/DB(MariaDB)

3. DB - (DML-1)

oneidsin 2025. 3. 17. 16:25

DML문

DML은 데이터 조작어이다. DML의 종류는 다음과 같다.

 

SELECT : 데이터를 검색
INSERT : 데이터를 삽입
UPDATE : 데이터를 수정
DELETE : 데이터를 삭제

 

INSERT

INSERT 문 사용법은 다음과 같다.
-- 1. 데이터 삽입
-- INSERT INTO [테이블명]([넣을 컬럼명, ...]) VALUES([컬럼에 대당하는 값, ...]);

insert into employees(
	emp_no, first_name, family_name, email, mobile, salary, depart_no, commission
) values(
	111, '지훈', '김', 'email@naver.com', '01012341234', 9000000, 'dev01', 0.9
);

 

UPDATE

UPDATE 문 사용법은 다음과 같다.
-- 2. 데이터 수정
-- UPDATE [테이블명] SET [컬럼] = [값] WHERE [조건];

update employees set depart_no = 'dev001' where emp_no = 111;
update employees set depart_no = 'dev002' where depart_no is null;

-- commission 이 null 인 데이터는 모두 0.1 로 변경
update employees set commission = 0.1 where commission is null;

 

DELETE

-- 3. 데이터 삭제
-- DELETE FORM [테이블명] WHERE [조건];

delete from employees where emp_no = '119';

 

SELECT

SELECT 문은 다양한 사용법이 존재한다.

-- 1. 데이터 조회
-- 1) 특정 컬럼 조회
-- SELECT [컬럼] FROM [테이블명];

select * from employees;
select family_name, first_name, salary from employees;

 

AS 를 붙여서 특정 컬럼의 이름을 변경할 수 있다.

select family_name, first_name, salary * 12 as 연봉 from employees;

 

CONCAT() 을 써서 컬럼을 합칠 수도 있다.

select concat (family_name, first_name) as name, salary * 12 as 연봉 from employees;

 

TRUNCATE : 소수점을 없앨 수 있다.

CONCAT 으로 묶고, 뒤에 '만원' 을 붙이면 000 만원 이런 식으로 나오게도 가능.

select emp_no, concat (family_name, first_name) as name,
concat (truncate(salary / 10000, 0), ' 만원') as 급여 from employees;
-- truncate : 소수점 없애기

 

특정 조건의 데이터 조회

-- 2) 특정 조건의 데이터 조회
-- SELECT [컬럼] FORM [테이블] WHERE [조건];

-- family_name 이 '김' 인 사람의 정보(emp_no, family_name, first_name, salary) 추출
select emp_no, family_name, first_name, salary from employees 
where family_name = '김';

-- salary 가 500만원 이상인 사람의 정보(emp_no, family_name, first_name, salary) 추출
select emp_no, family_name, first_name, salary from employees 
where salary >= 5000000;

 

AND 조건

-- 2-1) AND 조건 &&
-- salary 가 50만원 보다 크거나 같고, 400만원보다 작거나 같은 사람들의 first_name 과 family_name, salary 를 구하시오
select first_name, family_name, salary from employees 
where salary >= 500000 and salary <= 4000000;

 

OR 조건

-- 2-2) OR 조건 ||
-- family_name 이 김 이거나 salary 가 200만원 보다 작거나 같은 사람들의 first_name 과 family_name, salary 를 구하시오
select first_name, family_name, salary from employees 
where family_name = '김' or salary <= 2000000;

 

BETWEEN AND

크거나 같고 작거나 같은 조건에 사용된다.

select first_name, family_name, salary from employees 
where salary between 500000 and 4000000;

 

'개발 > DB(MariaDB)' 카테고리의 다른 글

6. DB - (key)  (0) 2025.03.17
5. DB - (트랜잭션)  (0) 2025.03.17
4. DB - (DML-2, ORDER BY, GROUP BY, HAVING)  (0) 2025.03.17
2. DB - (테이블 생성, 수정)  (0) 2025.03.17
1. DB - (유저 생성, 삭제, 권한)  (0) 2025.03.17