본문 바로가기

DBMS

SQL 명령어 [DML]

■ "DML (Data Manipulation Language)" 이란?

: 데이터 관리 언어

: 데이터베이스의 데이터를 조회, 삽입, 수정, 삭제하는 기능을 담당한다.

 

1. select

: 데이터를 조회하기 위한 SQL 명령어

 

· 기본 구조

select [컬럼명 1], [컬럼명 2], ...

from [테이블명]

where [조건]

 

☞ 전체 테이블의 칼럼을 모두 조회할 경우 select 키워드 뒤에 별표 (*)를 사용하여 조회한다.

☞ select문 뒤에 작성되는 칼럼 순서로 조회된다.

 

· 실습 코드

use company;
select employee_age, employee_name
from human_resources;

 

2. insert

: 테이블에 새로운 데이터를 삽입하기 위한 SQL 명령어

 

· 기본 구조

insert into [테이블명] ([컬럼명 1], [컬럼명 2], ...)

values ([데이터 1], [데이터 2], ...)

 

☞ 칼럼명을 지정하지 않은 경우, 전체 칼럼에 데이터가 입력된다.

 

· 실습 코드

insert into human_resources 
(employee_number, employee_name, employee_age, employee_email, employee_score)
values (4, '이주헌', 60, 'xyz', 90);
- 테이블명, 칼럼명(열 이름)은 따옴표 지정 없이 작성 가능하다.
- 데이터 값은 문자열의 경우 따옴표를 붙여서 작성해야 한다. (char, varchar, data 형식)

 

3. update

: 테이블의 내용을 수정하기 위한 SQL 명령어

 

· 기본 구조

delete from [테이블명]

set [컬럼명 1] = [값 1], [컬럼명 2] = [값 2], ...

where [조건]

 

· 실습 코드

update human_resources
set employee_score = 80;

 

4. delete

: 테이블의 데이터를 삭제하기 위한 SQL 명령어

 

· 기본 구조

delete from [테이블명]

where [조건]

 

· 실습 코드

delete from `human_resources`;

 

☞ 테이블의 전체 데이터를 삭제할 경우 where 조건식을 생략한다.

· Safe Mode
: 표준 SQL에서 사용자가 실수로 많은 데이터를 변경하거나 삭제하는 것을 방지하는 기능이다.

☞ Edit > Preferences > SQL Editor > Safe Mode 제거
· DBMS MySQL Workbench 백틱 & 따옴표
- 백틱 (`)
: 데이터베이스명, 테이블명, 열 이름과 같은 '식별자'를 둘러싸는 기호
: 주로 공백이나 특수문자를 포함할 때 사용된다.

- 따옴표 (' ', " ")
: 문자열을 나타내기 위해 사용한다.
: 표준 SQL에서는 싱글 따옴표 사용을 권장한다.

 

 

 


■ 실습 (DDL & DML)

use practice;

 

[DDL 실습]

# Students 테이블에 phone라는 칼럼을 추가 
- 데이터 타입: VARCHAR
- 최대 길이: 15
- NULL 값 허용

alter table students add Phone varchar(15) null;

 

# Students 테이블의 Major 칼럼의 데이터 타입을 VARCHAR(150)로 변경

alter table students modify column Major varchar(150);

 

# 새로운 테이블 Courses 생성

- CourseID: 강좌를 유일하게 식별하는 ID. (정수형, 주요 키, NULL 불허)
- CourseName: 강좌 이름 (문자열, 최대 길이 100, NULL 불허)
- Instructor: 강좌의 지도 교수 (문자열, 최대 길이 50, NULL 허용)

create table `Courses` (
	CourseID int primary key not null,
    CourseName varchar(100) not null,
    Instructor varchar(50) null
);

 

# Students 테이블에서 Age 칼럼 삭제

alter table students drop column Age;

 

[DML 실습]

# Students 테이블에 정보 추가

- StudentID: 101
- FirstName: "John"
- LastName: "Doe"
- Major: "Computer Science"
- Email: "johndoe@email.com"
- Phone: "123-456-7890"

insert into students (StudentID, FirstName, LastName, Major, Email, Phone)
values (101, 'John', 'Doe', 'Computer Science', 'johndoe@email.com', '123-456-7890');

 

# Students 테이블에서 StudentID가 101인 학생의 Major를 "Electrical Engineering"로 변경

update students
set Major = 'Electrical Engineering'
where StudentID = 101;

 

# Students 테이블에서 StudentID가 101인 학생의 정보 삭제

delete from students
where StudentID = 101;

 

# Courses 테이블에 정보 추가

- CourseID: 501
- CourseName: "Introduction to AI"
- Instructor: "Dr. Smith"

insert into courses
values (501, 'Introduction to AI', 'Dr. Smith');

'DBMS' 카테고리의 다른 글

DML [insert, update, delete]  (0) 2023.11.07
DML [select]  (0) 2023.11.06
데이터 형식 [숫자형, 문자형, 날짜형]  (1) 2023.11.02
SQL 명령어 [DDL]  (0) 2023.11.02
데이터베이스(DB) [DBMS, SQL]  (0) 2023.11.02