< 수강분량 : SQL CH.4 ~ 7 >
# person 테이블 생성 (컬럼 정보는 코드 참고)
CREATE TABLE person
(
id int,
name varchar(16),
age int,
sex CHAR
);
# 눈으로 확인
DESC person;
# 입력한 컬럼 이름의 순서와 값의 순서가 일치하도록 주의
INSERT INTO tablename (column1, column2, ...)
VALUES (value1, value2, ...);
# ID 값이 1인 이효리, 43세, 여자(F) 데이터 추가
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');
# 눈으로 확인
select * from person;
# 모든 컬럼값을 추가하는 경우에는 다음과 같이 컬럼 이름을 지정하지 않아도 되지만, 입력하는 값의 순서가 테이블의 컬럼 순서와 일치하도록 주의
INSERT INTO tablename
VALUES (value1, value2, ...);
# ID 값이 2인 이상순, 48세, 남자(M) 추가
INSERT INTO PERSON
VALUES (2, '이상순', 48, 'M');
# 눈으로 확인
select * from person;
# 테이블 내의 특정 칼럼에 대한 데이터를 조회
SELECT column1, column2, ...
FROM tablename;
# person 테이블 내의 이름, 나이, 성별 데이터를 조회
SELECT name, age, sex FROM person;
# 테이블 내의 모든 컬럼에 대한 데이터를 조회
SELECT *
FROM tablename;
# person 테이블 내의 모든 컬럼에 대한 데이터를 조회
SELECT *
FROM person;
# 테이블 내에서 조건을 만족하는 데이터 조회
SELECT column1, column2, ...
FROM tablename
WHERE condition;
# person 테이블에서 성별이 여자인 데이터 조회
SELECT * FROM person WHERE sex='F';
UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERE condition;
# 이효리 나이를 23세로 수정
UPDATE person SET age=23 WHERE name='이효리';
DELETE FROM tablename
WHERE condition;
# 이상순 데이터 삭제
DELETE FROM person WHERE name='이상순';
CREATE TABLE celeb
(
ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME varchar(32) NOT NULL DEFAULT '',
BIRTHDAY date,
AGE int,
SEX char(1),
JOB_TITLE varchar(32),
AGENCY varchar(32)
);
DESC celeb;
INSERT INTO celeb VALUES(1, '아이유', '1993-05-16', 29, 'F', '가수, 텔런트', 'EDAM엔터테인먼트');
INSERT INTO celeb VALUES(2, '이미주', '1994-09-23', 28, 'F', '가수', '울림엔터테인먼트');
INSERT INTO celeb VALUES(3, '송강', '1994-04-23', 28, 'M', '텔런트', '나무엑터스');
INSERT INTO celeb VALUES(4, '강동원', '1981-01-18', 41, 'M', '영화배우, 텔런트', 'YG엔터테인먼트');
INSERT INTO celeb VALUES(5, '유재석', '1972-08-14', 50, 'M', 'MC, 개그맨', '안테나');
INSERT INTO celeb VALUES(6, '차승원', '1970-06-07', 48, 'M', '영화배우, 모델', 'YG엔터테인먼트');
INSERT INTO celeb VALUES(7, '이수현', '1999-05-04', 23, 'F', '가수', 'YG엔터테인먼트');
SELECT column1, column2, ...
FROM tablename
ORDER BY column, column2, ... ASC | DESC;
# celeb 테이블에서 이름과 나이를 나이순으로 조회
SELECT age, name
FROM celeb
ORDER BY age ASC;
# celeb 테이블에서 이름과 나이를 나이 역순(내림차순)으로 조회
SELECT age, name
FROM celeb
ORDER BY age DESC;
# celeb 테이블에서 이름과 나이를 나이와 이름순으로 정렬하여 조회 (ASC 를 생략해도 기본은 오름차순 정렬)
SELECT age, name
FROM celeb
ORDER BY age, name;
# celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회
SELECT age, name
FROM celeb
ORDER BY age DESC, name ACS;
# 나이가 29세인 데이터 검색
SELECT name, age FROM celeb WHERE age=29 ORDER BY age;
# 나이가 29세가 아닌 데이터 검색
SELECT name, age FROM celeb WHERE age!=29 ORDER BY age;
# 나이가 29세 보다 큰 데이터 검색
SELECT name, age FROM celeb WHERE age>29 ORDER BY age;
# 나이가 29세 보다 작은 데이터 검색
SELECT name, age FROM celeb WHERE age<29 ORDER BY age;
# 나이가 29세 보다 크거나 같은 데이터 검색
SELECT name, age FROM celeb WHERE age>=29 ORDER BY age;
# 나이가 29세 보다 작거나 같은 데이터 검색
SELECT name, age FROM celeb WHERE age<=29 ORDER BY age;
# 나이가 29세 보다 크거나 작은 (같지 않은) 데이터 검색
SELECT name, age FROM celeb WHERE age<>29 ORDER BY age;
# 조건을 모두 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE condition1 AND condition2 AND condition3 ...;
# 하나의 조건이라도 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE condition1 OR condition2 OR condition3 ...;
# 조건을 모두 만족하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE NOT condition;
# 조건값이 범위 사이에 있으면 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column1 BETWEEN value1 AND value2;
# 목록 안에 조건이 존재하는 경우 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column IN (value1, value2, ...);
조건이 패턴에 맞으면 TRUE
SELECT column1, column2, ...
FROM tablename
WHERE column LIKE patern;
"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."