본문 바로가기

DataBase/MySQL

MySQL 2편 - 데이터의 입력과 수정

전편에서는 데이터 입력을 위한 테이블, 그리고 테이블을 위한 데이터베이스(혹은 schema)를 만들었다. 이번편에서는 저번편에 만든 myFirstTable이라는 테이블에 데이터를 입력하고 입력된 데이터를 수정하는 작업을 소개하겠다.


1.데이터 입력하기

데이터를 입력해주기 전에 먼저 우리가 만든 테이블을 다시 확인하면서 어떠한 컬럼들이 존재하는지 살펴보자. 다음의 커맨드를 이용하면 우리가 만든 myFirstTable에 존재하는 컬럼과 그 컬럼들의 속성들을 확인할 수 있다.

 

DESC myFisrtTable

 

우리가 제대로 테이블을 만들었다면 다음과 같은 결과 화면을 볼 수 있을 것이다.

+---------+--------------+------+-----+---------+----------------+
| Field   | Type         | Null | Key | Default | Extra          |
+---------+--------------+------+-----+---------+----------------+
| id      | int          | NO   | PRI | NULL    | auto_increment |
| title   | varchar(50)  | NO   |     | NULL    |                |
| content | varchar(200) | NO   |     | NULL    |                |
+---------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

 

이 화면속에서 Field는 컬럼, Type은 각 컬럼의 자료형 NULL은 공란이 가능한지 Key는 해당 컬럼이 Primary Key인지 Default는 기본값을 알려주고 있으며 Extra는 이외의 추가 사항들을 알려주고 있다.

그럼 이제 myFirstTable이 생각한 구조대로 생성되었다는걸 확인하였으니 자료를 입력해보자. 자료를 입력하기 위해서는 다음의 커맨드를 이용한다.

 

INSERT INTO {테이블이름}({Field명}) VALUES({Field의 입력될 정보});

예)
INSERT INTO myFirstTable(title,content) VALUES('init','initial post');

 

입력이 완료되었다. 그럼 이제 확인을 해봐야하는데 확인을 위해서는 다음편에 나올 내용은 SELECT를 사용해야 한다. 이번편에서는 간단한 확인만 필요하니심플한 SELECT를 사용해서 확인해보겠다. 터미널에서 다음과 같은 커맨드를 실행해보자.

 

SELECT * FROM myFirstDB

데이터가 성공적으로 저장되었다면 다음과 같은 결과를 볼 수 있을 것이다.

 

+----+-------+---------------------------+
| id | title | content                   |
+----+-------+---------------------------+
|  1 | init  | this is initial insertion |
+----+-------+---------------------------+

결과를 통해 데이터가 성공적으로 저장된 것을 볼 수 있다. 또 하나 특이한 점은 우리는 분명 id 값을 저장하지 않았는데 MySQL이 스스로 1이라는 값을 넣어주었다. 이는 우리가 설정했던 id의 세팅값을 통해 나타난 현상으로서 데이터가 추가될수록 이 id 값은 1씩 증가하며 저장될 것이다.

2. 데이터 수정하기

우리는 성공적으로 데이터를 테이블로 입력했다. 하지만 우리가 코딩을 할 때 수정을 하는 것처럼 데이터 또한 수정이 필요한 순간이 있다. 그리고 수정을 위해서 우리는 mySQL의 UPDATE 기능을 이용하면 된다.

다음과 같은 테이블이 있다.

 

+----+------------+---------------------------+
| id | title      | content                   |
+----+------------+---------------------------+
|  1 | init       | this is initial post      |
|  2 | secondpost | this is initial post      |
+----+------------+---------------------------+

 

이전에 우리가 만들었던 테이블에 secondpost라는 두번째 자료가 들어가있는 것을 볼수있다. 그런데 두번째 자료의 content를 보니 this is initial post라고 적혀있다. 분명 두번째 자료인데 첫번째 포스트라니... 바꿔줘야겠다. 두번째 자료의 수정은 다음의 커맨드를 통해 할 수 있다.

 

UPDATE myFirstTable SET content='this is second post' WHERE title='secondpost';

 

위의 커맨드는 myFirstTable에서 titlesecondpost인 자료를 찾아서 이 자료의 contentthis is second post로 바꿔달라는 명령어이다. 이 명령어에서 SET은 바꿔야할 컬럼을 지정하고 그 컬럼에 들어갈 새로운 내용을 지정해준다. 그리고 WHERE은 내용을 바꿔야할 특정 자료를 선택해준다. 만약 WHERE을 쓰지 않는다면 모든 데이터의 content내용이 바뀌어버리는 대참사가 일어나기때문에 조심 또 조심하자.

'DataBase > MySQL' 카테고리의 다른 글

MySQL 1편 - MySQL 구조와 시작  (0) 2020.04.15