MySQL 설명에 앞서 Database란?
우리의 일상 생활에 매우 가깝게 붙어있다. 각 학생들의 성적 종합, 회사 재무재표 등등
수많은 '정보'를 데이터베이스라고 부른다.
위와 같은 데이터를 저장하고 조회 및 수정을 비롯하여 가공하기 위해서 쓰이는 대표적인 문법 두가지가 있다.
바로 SQL(Structured Query Language) 관계형 데이터베이스와 NoSQL 비관계형 데이터베이스이다.
SQL 관계형 데이터베이스
ACID 원자형, 일관성, 고립성, 지속성을 중점에 맞춰진 데이터베이스용 프로그래밍 언어로써, 스키마 제약조건에 따른 데이터베이스 query를 전송하여 데이터를 가공하는 문법이다. 주로 데이터가 자주 변경(수정)되는 어플일 경우 사용 추천한다.
NoSQL 비관계형 데이터베이스
스키마 제약 조건에 속박되지 않아 유연하게 데이터 조정이 가능한 프로그래밍 언어이다. 다른 구조의 데이터를 같은 컬렉션에 추가 가능한 특징이 있다. 주로 읽기 처리 위주이고, 데이터 구조를 자주 업데이트 하거나 막대한 데이터 양을 다뤄야 할시 사용할 것을 추천한다.
이번 시간에는 관계형 데이터베이스에 속하는 MySQL을 활용하여 데이터를 CRUD 및 기타 응용법에 대해 설명하겠다.
CREATE DATABASE 데이터베이스명
먼저 데이터베이스의 한 묶음을 상징하는 영역이므로 데이터베이스를 생성하는 역할과 같다.
CREATE TABLE 테이블명(열 (column) 구성)
데이터베이스 @@@
에는 여전히 비어있는 상태(empty)이므로 TABLE을 생성하여 본격적으로 틀을 구성한다.
구성된 테이블은 열(column)에 해당된다.
INSERT INTO 테이블명('name‘, ‘team‘) VALUES(‘james lebron’, ‘LA lakers’);
테이블는 틀만 짜여있을 뿐 내용물가 없는 관계로 각 테이블에 해당되는 데이터를 삽입한다.
'age‘, ‘heigth‘
은 테이블 열(column)이고, 27, 198
은 테이블 행(row)이다.
CREATE DATABASE NBA
CREATE TABLE `NBA_player` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255) not NULL,
`team` varchar(255) not NULL,
`heigth` int not NULL
);
INSERT INTO NBA(name, team, heigth) VALUES('james lebron', 'LA lakers', 203);
CREATE TABLE
에서 PRIMARY KEY
는 id를 하나의 프라이머리 키(해당 테이블을 대표하는 키)로 선언해둔 것이다.
AUTO_INCREMENT
은 숫자 인덱스가 자동적으로 오름차순 들어가므로 데이터를 생성할수록 1,2,3... id가 삽입된다.
not NULL
의 경우 해당 데이터는 NULL 값이 등록될수 없음을 뜻한다.
DESC @@@
작성된 데이터베이스의 테이블 상단바와 열(column)의 Type을 검토할 때 쓰이는 메서드이다.
SHOW TABLES;
해당 데이터베이스의 종합 테이블이 어떻게 구성되어 있는지 조회할 수 있다.
SELECT * FROM 테이블명;
해당 테이블에 담긴 데이터를 종합적으로 볼 수가 있다.
여기서 *
은 테이블에 저장된 모든 열을 조회할수 있고 만일 별도로 조회를 원한다면
SELECT 열(column) 이름 FROM 테이블명;
열(column) 이름을 작성하면 된다.
UPDATE 테이블명 SET 열 = 값 WHERE 열(보통 id를 활용) = 값;
테이블에 담긴 데이터를 수정해야할 상황이 생겼을 경우 위와 같은 방법을 하면 데이터 값을 변경할 수 있다.
단, WHERE
메서드는 원하는 기준으로 수정을 할 것인지 결정하는 역할인데,
이를 생략하고 SET
을 정할 경우 각 행의 모든 데이터가 작성한 값으로 변경되니 주의해야 한다.
DELETE FROM 테이블명 WHERE 열 = 값;
만일 행에서 삭제하고 싶은 데이터가 있을 경우 사용되며, 이 또한 WHERE
메서드를 사용하지 않을 경우
데이터가 통째로 날라갈 수 있으니 주의 하여야 한다.
MySQL의 CRUD를 다뤄보면 엑셀에서의 함수를 쓰듯 비슷하여 적응하는데 금방 익숙해질 것이다.
위의 주의를 다시 설명하지만 DELETE
, UPDATE
를 할때 WHERE
조건을
필히 걸어야 한다는 점에 대해 꼭 알아두자!!