일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- join
- 혼공챌린지
- 안드로이드스튜디오
- 자바
- 코테
- Kotlin
- 오블완
- Til
- 혼공단
- 알고리즘
- 혼공파
- java
- 카카오코테
- MySQL
- 기술면접
- SQL
- 인프런
- 안드로이드
- 코틀린
- 스터디
- Android
- select
- groupby
- 정처기
- doitandroid
- CS
- 프로그래머스
- 티스토리챌린지
- 정보처리기사
- 자료구조
- Today
- Total
Welcome! Everything is fine.
[MySQL] CRUD 기본 정리 및 예제 풀이 본문
Udemy 강의 <실무 활용 중심의 MySQL 부트캠프> 강의를 보고 실습한 내용입니다.
📝 CRUD 기본 정리
예제를 실습하면서 다시 한 번 복습한 내용을 정리해보았다. 자주 써야 까먹지 않는 것 같다..🫠
Create
데이터베이스 생성
CREATE DATABASE 데이터베이스명;
테이블 생성
CREATE TABLE 테이블명 (
열1 데이터유형 제약조건,
열2 데이터유형 제약조건,
...
);
데이터 삽입
INSERT INTO 테이블명 (열1, 열2, ...)
VALUES (값1, 값2, ...);
Read
전체 데이터 조회
SELECT * FROM 테이블명;
특정 데이터 조회
SELECT 열1, 열2, ...
FROM 테이블명;
조건부 조회
SELECT 열1, 열2, ...
FROM 테이블명
WHERE 조건;
정렬된 데이터 조회
- ORDER BY 사용하기
- 기본이 오름차순 정렬, DESC 키워드 사용 시 내림차순 정렬
SELECT *
FROM 테이블명
ORDER BY 기준열이름 DESC; -- 내림차순 정렬
데이터 제한
- LIMIT 절로 조회할 데이터의 개수 제한
SELECT * FROM 테이블명
LIMIT 5; -- 상위 5개 데이터만 조회
중복 제거
- DISTINCT 키워드로 중복 값을 제거한 결과 조회
SELECT DISTINCT 열이름
FROM 테이블명;
Update
데이터 수정
UPDATE 테이블명
SET 열1 = 값1, 열2 = 값2, ...
WHERE 조건;
Delete
데이터베이스 삭제
- 데이터베이스와 그 안의 모든 테이블 및 데이터를 완전히 삭제
DROP DATABASE 데이터베이스명;
테이블 삭제
- 테이블 자체를 삭제
DROP TABLE 테이블명;
테이블 초기화
- 테이블의 모든 데이터 삭제 후 테이블 구조 초기화
TRUNCATE TABLE 테이블명;
데이터 삭제
- 데이터만 삭제되고 테이블 구조는 유지
- 트랜잭션을 지원하므로 ROLLBACK으로 복구 가능
DELETE FROM 테이블명
WHERE 조건;
📌 기타 자주 사용하는 명령어 정리
1. 데이터베이스 확인 및 선택
- SHOW DATABASES;
현재 서버에 존재하는 모든 데이터베이스 목록을 보여준다. - USE [데이터베이스명];
작업할 데이터베이스를 선택한다. - SELECT DATABASE();
현재 사용 중인 데이터베이스 이름을 확인한다.
2. 테이블 확인 및 구조 조회
- SHOW TABLES;
선택한 데이터베이스에 포함된 모든 테이블 목록을 보여준다. - DESC [테이블명];
지정한 테이블의 구조(열 이름, 데이터 유형, 키 등)를 확인한다.
(DESCRIBE [테이블명];과 동일)
📝 예제 풀이
옷장에 있는 셔츠들을 관리하는 데이터베이스를 만들고, 여러 작업을 수행하는 실습을 진행하였다. 모른다고 무작정 답을 보기 보다는 천천히 생각해보고, 정말 모른다면 직접 검색해서 알아내는 것이 훨씬 좋을 것 같다. 문제는 내가 따로 한국어로 바꿔서 정리해보았다.
문제
1. shirts_db 데이터 베이스를 생성하세요.
2. shirts 테이블을 생성하세요. 컬럼의 정보는 다음과 같습니다.
- shirts_id[PRIMARY_KEY]
- article
- color
- shirt_size
- last worn
3. shirts 데이블에 데이터를 넣으세요.
4. shirts 테이블에 새 셔츠를 추가하세요.
- purple polo shirt, 사이즈 M, 마지막으로 입은지 50일
5. 모든 셔츠를 조회하세요. 단, article 컬럼과 color 컬럼만 나오도록 하세요.
6. 사이즈가 M인 셔츠를 모두 조회하세요. 단, shirt_id를 제외한 모든 컬럼이 나오도록 하세요.
7. 모든 polo shirts의 사이즈를 L로 바꾸세요.
8. 마지막으로 입은지 15일인 셔츠를 오늘 입었으므로 마지막으로 입은 기간을 0으로 바꾸세요.
9. 모든 white shirt의 사이즈를 XS로, 색상을 'off white'로 바꾸세요.
10. 마지막으로 입은 지 200일이 된 오래된 셔츠를 삭제하세요.
11. 모든 tank top을 삭제하세요.
12. 모든 셔츠를 삭제하세요.
13. shirts 테이블을 삭제하세요.
나의 풀이
1. shirts_db 데이터 베이스를 생성하세요.
CREATE DATABASE shirts_db;
2. shirts 테이블을 생성하세요.
CREATE TABLE shirts (
shirt_id INT AUTO_INCREMENT PRIMARY KEY,
article VARCHAR(50),
color VARCHAR(20),
shirt_size VARCHAR(20),
last_worn INT
);
3 . shirt 데이블에 데이터를 넣으세요.
INSERT INTO shirts (article, color, shirt_size, last_worn)
VALUES
('t-shirt', 'white', 'S', 10),
('t-shirt', 'green', 'S', 200),
('polo shirt', 'black', 'M', 10),
('tank top', 'blue', 'S', 50),
('t-shirt', 'pink', 'S', 0),
('polo shirt', 'red', 'M', 5),
('tank top', 'white', 'S', 200),
('tank top', 'blue', 'M', 15);
4. shirt 테이블에 새 셔츠를 추가하세요.
INSERT INTO shirts(article, color, shirt_size, last_worn)
VALUES ('polo shirt', 'purple', 'M', 50);
5. 모든 셔츠를 조회하세요. 단, article 컬럼과 color 컬럼만 나오도록 하세요.
SELECT article, color
FROM shirts;
6. 사이즈가 M인 셔츠를 모두 조회하세요. 단, shirt_id를 제외한 모든 컬럼이 나오도록 하세요.
SELECT article, color, shirt_size, last_worn
FROM shirts
WHERE shirt_size = 'M';
7. 모든 polo shirts의 사이즈를 L로 바꾸세요.
UPDATE shirts
SET shirt_size = 'L'
WHERE article = 'polo shirt';
8. 마지막으로 입은지 15일인 셔츠를 오늘 입었으므로 마지막으로 입은 기간을 0으로 바꾸세요.
UPDATE shirts SET last_worn = 0
WHERE last_worn = 15;
9. 모든 흰색 셔츠의 사이즈를 XS로, 색상을 'off white'로 바꾸세요.
UPDATE shirts
SET shirt_size = 'XS', color = 'off white'
WHERE color = 'white';
10. 마지막으로 입은 지 200일이 된 오래된 셔츠를 삭제하세요.
DELETE FROM shirts
WHERE last_worn = 200;
11. 모든 탱크탑을 삭제하세요.
DELETE FROM shirts
WHERE article = 'tank top';
12. 모든 셔츠를 삭제하세요.
DELETE FROM shirts;
13. shirts 테이블을 삭제하세요.
DROP TABLE shirts;
'MySQL' 카테고리의 다른 글
[MySQL] Create, Read, Update, Delete 사용하기 (0) | 2024.10.23 |
---|---|
[MySQL] 기본키와 AUTO_INCREMENT 설정하기 (0) | 2024.10.10 |
[MySQL] NULL과 NOT NULL, DEFAULT 설정하기 (0) | 2024.10.02 |
[MySQL] Command Line에서 테이블 생성 / 확인 / 제거하기 (0) | 2024.09.18 |
[MySQL] MySQL 설치하고 Workbench, Command Line 실행하기 (2) | 2024.09.14 |