<예제 가져오기>
아래의 예시로 실습해보자
DROP TABLE IF EXISTS student;
CREATE TABLE student (
id tinyint(4) NOT NULL,
name char(4) NOT NULL,
sex enum('남자','여자') NOT NULL,
address varchar(50) NOT NULL,
distance INT NOT NULL,
birthday datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO student VALUES (2, '박재숙', '남자', '서울', 10, '1985-10-26 00:00:00');
INSERT INTO student VALUES (1, '이숙경', '여자', '청주', 200, '1982-11-16 00:00:00');
INSERT INTO student VALUES (3, '백태호', '남자', '경주', 350, '1989-2-10 00:00:00');
INSERT INTO student VALUES (4, '김경훈', '남자', '제천', 190, '1979-11-4 00:00:00');
INSERT INTO student VALUES (8, '김정인', '남자', '대전', 200, '1990-10-1 00:00:00');
INSERT INTO student VALUES (6, '김경진', '여자', '제주', 400, '1985-1-1 00:00:00');
INSERT INTO student VALUES (7, '박경호', '남자', '영동', 310, '1981-2-3 00:00:00');
응 그래 너가 곱게 돌아갈 일이 없지 (한글을 써서 문제라고 한다)
ALTER TABLE (테이블명) convert to charset utf8;
했는데도~ 안됌 ㅠㅠㅠ
언젠간 한글을 써야하니깐 case study한다고 생각하고 계속 찾아본 결과
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=unicone&logNo=60105089746
여기서
SET character set euckr
이거 해보래서 해봤는데 해결됨!!!!!!!!!!!
이유를 좀 예상해보면
ALTER TABLE (테이블명) convert to charset utf8;
이렇게 utf-8로 설정을 하면 기존의 값을 불러올 수는 있지만 쓰기가 불가능 하다고 한다
그래서 글자를 euckr로 해줘서 쓰기까지 가능하게 해줌
자 하던거 마저 해보면 (위에 예시 복붙)
이제 Group by 연습해보자
특정 칼럼을 기준으로 데이터를 묶고 싶을 때 (GROUP BY)
SELECT * FROM 테이블명
GROUP BY 그룹핑 할 기준 칼럼명
SELECT sex FROM student GROUP BY sex;
뜻을 살펴보면 student테이블의 sex를 가져온다, 어떻게? -> 성을 기준으로
?? 어따 써먹냐...
데이터의 분포 같은거 확인 하고 싶을 때(아! sex는 남자와 여자로 데이터가 구분되어 있구나)
SELECT sex,sum(distance), avg(distance) FROM student GROUP BY sex;
이런식을 데이터 분석을 할 수 있다
특정 칼럼을 기준으로 데이터를 정렬하고 싶을 때 (ORDER BY)
SELECT * FROM 테이블명
ORDER BY 정렬의 기준으로 사용할 열 [DESC|ASC]
조회를 할 때 정렬 하는 거임
DESC -> 주로 최신 데이터를 가져오는 방법
SELECT * FROM student ORDER BY distance DESC;
distance가 큰 거부터 정렬된다.
SELECT * FROM student ORDER BY distance DESC, address ASC;
이러면 무슨 뜻이냐!
제일 먼저 distance에 대해 정렬을 하고
동일한 값이 있으면 다음 조건 (address)로 정렬
김정인 distance 200
이숙경 distance 200
임으로 address 가 ASC 즉. 사전순으로 대전 -> 청주
특정 칼럼을 기준으로 데이터를 정렬하고 싶을 때 (JOIN)
'Data Science > SQL' 카테고리의 다른 글
[SQL 입문부터 활용까지] 1차 과제 (0) | 2022.11.19 |
---|---|
[SQL][MYSQL] JOIN (0) | 2022.11.19 |
[SQL][10~13] MYSQL의 CRUD (0) | 2022.11.14 |
진도체크 (0) | 2022.11.14 |
[SQL][5~9] MySQL 서버 접속, 스키마(Schema), Table (0) | 2022.11.14 |