전공심화동아리에서 데이터베이스를 배우기 위해 MySQL을 배우기 시작했다.
그 준비 과정으로 workbench 설치 완료!

: 데이터를 등록하고, 수정하고, 삭제하고, 조회하고..
데이터베이스에는 CRUD (Create Read Update Delete)가 있다.
MySQL에 데이터를 넣어두고 다른 사람이 데이터를 볼 수 있게끔 하는 것이라고 하는데, 쉽게 말해 데이터베이스란 데이터를 보관할 수 있는 하나의 중앙 서버를 만드는 것이다.
모든 프로그램들이 같은 데이터를 공유할 수 있게 만드는 시스템이기 때문에
같은 데이터를 공유할 수 있다는 장점이 있다.
: 데이터 베이스를 조작하는 프로그래밍(구조적 질의) 언어
: DB 구조에 대한 언어
SQL에는 DDL, DCL, DML 등이 있지만, 내 머릿속 용량과 수업시간은 한계가 있기 때문에 오늘은 DML만 배우기 시작했다.
: Data Manipulation Language
Manipulation 은 내 마음대로 주무르는 느낌
데이터를 CRUD 만들고, 읽고, 수정하고 제거할 수 있는 것이 DML 언어이다.
자, 그럼 근본적인 질문을 해보자.
왜 프로그래밍 언어는 이렇게 생긴 것인가?
이것은 영어권 문화에서 만들었기 때문이다.
나는 치킨을 좋아한다. - 한국어 일본어는 끝에 동사가 나옴
He loves you - 영어는 동사가 먼저, 말하고자 하는 목표가 가장 먼저 나옴
그래서 SQL도 영어 문화권의 영향을 받았기 때문에
SELECT(데이터 조회)와 같은, 핵심이 먼저 나오는 것이다.
* : 모든 컬럼을 다 보여줘FROM : 어떤 테이블의만약 SELECT city, id, citycitycity 로 하면 두 개의 열만 가지겠다는 뜻이다.
SELECT * 하면 모든 것을 다 보여줘라는 뜻이다.
<> : 서로 다르다.= : 같다.AND : 자바의 &&OR : 자바의 ||여기까지 보았을 때
"어? 뭔가 MySQL의 문법이 사람 언어와 비슷한데?"
라고 생각했다면 그게 맞다.
위에서 알 수 있듯이 SQL은 사람 언어에 친화적이다.
반대로 Java C언어는 컴퓨터 친화적이다.
ASC : 오름차순DESC : 역순이제 기본적인 문법을 알았으니 코딩테스트로 MySQL의 기본 문법을 다루는 기본적인 방법을 익혀보자.
SELECT *
FROM ANIMAL_INS
ANIMAL_INS 테이블의 모든 자료를 조회하겠다는 의미이다.
여기서 테이블의 이름은 소문자로 쳐도 상관없다.
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC; # ASC 오름차순 DESC 내림차순
ANIMAL_INS 테이블의 NAME, DATETIME 데이터를 DESC 내림차순으로 정렬한다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = "Sick"
ORDER BY ANIMAL_ID, NAME;
ANIMAL_INS 테이블에서 ANIMAL_ID, NAME 데이터를
INTAKE_CONDITION이 "Sick"인 경우의 데이터만 조회한다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> "Aged"
ORDER BY ANIMAL_ID ASC;
ANIMAL_INS 테이블에서 ANIMAL_ID, NAME 데이터를 오름차순 정렬한 것의 INTAKE_CONDITION이 Aged가 아닌 경우의 데이터만 조회한다.