[MYSQL] 기본적인 사용법

jihan kong·2022년 3월 12일
0

MySQL 

목록 보기
2/9
post-thumbnail

지난 포스팅에서 MySQL을 직접 설치하고 실행해보았다.

그러면 이제 직접 데이터를 삽입해보자. 데이터를 DB에 삽입하기 위해서는 먼저 테이블을 만들어야 하는데, 테이블을 만들기 위해선 database를 먼저 만들어야한다.


(사진 출처: 생활코딩 Node.js 로 Database 다루기 소개와 웹애플리케이션 만들기)

위 그림처럼 topic 이라는 테이블은 o2 라는 database 안에 담겨있는 구조이다. 따라서 database를 먼저 생성하고, 테이블을 생성하는 것이 순서이다. (논외로database server와 database는 다른 개념이다. database server는 소프트웨어 그 자체를 말하는 것이고, database는 table들을 그룹핑하는 일종의 폴더 같은 것이다.)

database 생성

일단 CREATE DATABASE o2; 명령어로 o2 라는 이름의 database를 생성하자. CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci; 으로 인코딩값을 설정해도 좋지만 이 내용은 생략해도 된다.

위와 같이 Query OK 가 뜨면 성공.

SHOW DATABASES; 를 입력해서 현재 존재하는 database들을 살펴보자.

내가 생성했던 database 목록이 뜬다.
이 중, o2라는 database를 사용할 것이므로 use o2; 를 입력해서 database를 바꿔준다.

database가 준비되었으니 그 안에 담길 table을 생성해보자.

CREATE TABLE `topic` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(100) NOT NULL,
      `description` text NOT NULL,
      `author` varchar(30) NOT NULL,
      PRIMARY KEY (id)
     );

위 명령어를 통해 PK가 idtopic 이라는 table을 생성하였다.
잘 생성되었나 확인하기 위해 SHOW TABLES; 를 입력하면...

topic 이라는 테이블이 생성되었고, 이제 데이터를 삽입할 일만 남았다.
다음과 같은 명령어를 통해 데이터를 topic에 INSERT 해보자.

INSERT INTO topic (title, description, author) VALUES('JavaScript', 'Computer language for web.', 'kkongji');
INSERT INTO topic (description, title, author) VALUES('Package manager', 'NPM', 'leezche');



CRUD

DBMS에서는 기본적으로 CRUD라고 하여 데이터를 크게 4가지 정도로 다루고 있다. Create(생성), Read(조회), Update(갱신), Delete(삭제)가 그것이다. 우리는 방금 명령어를 통해 데이터를 생성하는 과정을 거쳤다. 그러면 이제 데이터를 조회해보자.

SELECT * FROM topic;


topic의 내용은 SELECT * FROM 으로 모두 조회할 수 있다. 우리가 INSERT한 것이 보이는 것을 확인할 수 있다.

만약 id가 2인 데이터만을 조회하고 싶다면 SELECT * FROM topic WHERE id=2; 처럼 WHERE 문을 사용하면 된다.

아직 UPDATEDELETE 가 남아있다. TABLE topic에서 id값이 2인 행의 title 값을 바꾸려고 한다면 다음과 같이 입력한다.

UPDATE topic SET title='npm' WHERE id=2;

그 후, SELECT문으로 변경사항을 확인해보면...

topic 테이블의 id값이 2인 행을 지우려고 한다면

DELETE FROM topic WHERE id=2;

이렇게 입력하면 된다.

(id=2인 행이 DELETE 된 모습)

이 때, 각별히 주의할 점은 WHERE를 꼭 써주어야 한다는 것이다. 행여 실수로 WHERE문을 빠뜨린다면 전체 레코드가 변경, 혹은 삭제될 수 있는 재앙이 초래될 수 있다... 따라서 백업을 자주하고, sql문을 신중히 작성하는 것이 필요하다.

profile
학습하며 도전하는 것을 즐기는 개발자

0개의 댓글