■ "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 |