rivercity310 2021. 12. 21. 14:42

설치 및 세팅

 

 

우선 MySQL 데이터베이스를 사용하려면 설치해야겠죠.

http://dev.mysql.com/downloads/installer에 접속해서 설치를 완료해줍니다.

 

 

그런 다음 window 기준 cmd에서 MySQL에 접속하기 위해 설치된 경로로 이동해야합니다.

경로를 찾아보니 제 컴퓨터에선 다음 경로와 같습니다.

설치된 폴더로 이동해줍니다. 

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

 

 

폴더에 이동한 뒤에 MySQL에 접속하기 위해 다음 첫줄과 같은 쿼리 문장을 써줍니다.

문장을 입력하면 비밀번호를 입력하라고 나오는데

이때 처음 설치 시에 설정했던 비밀번호를 입력하면 cmd에서 접속이 완료됩니다.

mysql -u root -p
Enter password: ********

 

 

데이터베이스를 하나 만들어보죠.

아래 첫번째 쿼리 문장을 입력하면 데이터베이스가 생성됩니다. 

또한 기존에 만들어둔 데이터베이스 목록을 보고싶다면 두번째 쿼리 문장을 통해 확인할 수 있습니다.

CREATE DATABASE School;
SHOW DATABASES;

 

 

성공적으로 만들어졌습니다.

본격적으로 들어가기 전에 가볍게 개념에 대해 살펴보겠습니다. 

데이터베이스 안에는 테이블이라는 개념이 존재합니다.

이 테이블 안에 우리가 원하는 데이터를 채워넣을 수 있는 것이죠.

가령 데이터베이스를 도서관이라고 비유한다면, 테이블은 책이고 데이터는 책 속에 담긴 정보라고 볼 수 있습니다.

 

이 데이터베이스 테이블의 세로 열을 "필드", 가로 행을 "레코드"라고 부릅니다.

테이블을 생성할 때는 각 필드에 어떠한 자료형이 들어갈 것인지 지정해주어야 하죠.

자료형은 굉장히 많지만 기본적으로 다음 세가지만 우선 알아두면 됩니다.

자료형 설명
VARCHAR string
INT 정수
DOUBLE 실수

 

 

앞서 만든 School 데이터베이스를 사용하기 위해서 다음 쿼리 문장을 통해 알려주어야 합니다.

USE School;

 

 

이어서 School 데이터베이스 안에 테이블을 만들어 보겠습니다. 테이블을 생성할 때는 필드명, 자료형, 필드 속성 순으로 입력합니다.

CREATE TABLE Freshman (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	name VARCHAR(30) NOT NULL,
    	gender VARCHAR(10) NOT NULL
    );

 

 

성공적으로 테이블이 만들어졌습니다. 위에서 사용된 필드 속성은 다음과 같습니다.

속성 설명
NOT NULL 반드시 입력해야 함
AUTO_INCREMENT 자동으로 숫자 카운트
PRIMARY KEY 기본 키로 지정

 

 

테이블을 생성했으면 다음 쿼리 문장으로 테이블 필드와 관련된 정보를 살펴볼 수 있습니다.

DESCRIBE Freshman;

 

 

 

 

 

 

 

 


 

 

데이터 저장과 조회

 

 

 

귀찮더라도 이 빈 테이블에 데이터를 한번 채워보도록 하겠습니다.

id 필드는 AUTO_INCREMENT 속성을 적용했으니 별도로 지정하지 않아도 자동으로 생성됩니다.

다음과 같이 데이터를 인서트 해줍니다.

INSERT INTO Freshman (name, gender) VALUES
	-> ("Mike", "Male"),
    	-> ("Suyeon", "Female"),
    	-> ("Seungsu", "Male"),
    	-> ("Joon", "Male"),
    	-> ("Katy", "Female");"

 

 

 

입력한 데이터를 조회하려면 다음과 같은 쿼리문을 사용합니다.

*을 사용하면 모든 데이터를 조회할 수 있습니다.

만약 원하는 특정 데이터만 조회하려면 조회를 원하는 필드를 선택해서 데이터를 받아올 수 있습니다.

SELECT * FROM Freshman;
SELECT id, name FROM Freshman;

 

 

DB에서 데이터를 불러올 때 특정 조건을 만족하는 경우의 데이터만 불러올 수 있습니다.

다음은 WHERE 명령어를 사용해서 남자인 경우에만 데이터를 불러오도록 하였습니다.

또한 논리곱 연산자(AND)와 논리합 연산자(OR)을 WHERE 명령어에서 사용할 수 있습니다.

AND 연산자를 사용하면 나열된 조건을 모두 만족하는 데이터를 불러오고,

OR 연산자를 사용하면 한가지라도 만족하는 데이터를 불러옵니다.

SELECT * FROM Freshman WHERE gender="Male";
SELECT * FROM Freshman WHERE gender="Male" AND name="Mike";
SELECT * FROM Freshman WHERE gender="Female" OR name="Mike";

 

 

특정 부분이 일치하는 데이터를 조회하고 싶다면 LIKE 명령어를 사용합니다.

LIKE 명령어는 문자 개수까지 "_"를 통해 지정해줄 수 있습니다.

다음은 이름이 M으로 시작하는 4글자 데이터를 불러옵니다.

SELECT * FROM Freshman WHERE name LIKE "M___";

 


 

 

 

데이터 정렬, LIMIT, 수정, 삭제

 

 

 

ORDER BY 명령어를 사용하면 데이터를 정렬할 수 있습니다.

default 값은 오름차순(ASC)입니다. 만약 내림차순으로 정렬하고 싶다면 DESC을 붙여줍니다.

다음 쿼리 문장을 통해 데이터를 영문 내림차순으로 정렬합니다.

 

 

 

LIMIT 명령어를 사용하면 특정 위치의 데이터만 선택할 수 있습니다.

다음 첫번째 쿼리 문장은 상위 3개의 데이터만 선택합니다.

두번째 쿼리 문장은 3개를 건너뛴 뒤 2개의 데이터를 선택합니다.

SELECT * FROM Freshman LIMIT 3;
SELECT * FROM Freshman LIMIT 3,2;

 

 

 

UPDATE 명령어를 사용하면 데이터를 수정할 수 있습니다.

주의해야 할 점은 WHERE 명령어를 통해 어느 데이터를 수정할 것인지 꼭 명시해주어야 한다는 것입니다.

만약 따로 지정해주지 않으면 모든 데이터의 속성이 한번에 변경되므로 주의하여야 합니다.

UPDATE Freshman
	-> SET name="IU", gender="Female"
   	-> WHERE id=1;

 

 

 

DELETE 명령어를 사용하면 데이터를 삭제할 수 있습니다.

마찬가지로 DELETE 명령어를 사용할 때 WHERE 명령어를 함께 꼭 사용해주어야 합니다.

만약 WHERE 명령어를 통해 어느 데이터를 삭제할 것인지 명시하지 않으면 모든 데이터가 삭제되므로 주의하여야 합니다. 

DELETE FROM Freshman WHERE id=1;

 

 

데이터 삭제 후 AUTO_INCREMENT로 지정된 id 속성을 보면 삭제된 번호만 비어있는 것을 확인할 수 있습니다.

자동으로 앞당겨지진 않네요.

 

테이블을 삭제하거나 데이터베이스를 삭제할 때는 다음 쿼리 문장을 사용합니다.

DROP TABLE Freshman;
DROP DATABASE School;