이 4가지 주요 개념만을 알고있으면 누구든지 DB를 정의하고 조작하고 통제할 수 있는 것입니다.
우선 Ctrl + R 을 이용해 실행 창을 열어줍니다.
거기에 cmd 를 입력해주고 커맨드 창을 띄워줍니다.
첫 명령어는
cd (MySQL 설치 경로)\MySQL Server 8.2\bin
ex) cd C:\Program Files\MySQL\MySQL Server 8.2\bin
MySQL이 설치된 경로로 이동해줍니다.
그 이후 MySQL을 실행해줘야하는데 아래와 같은 명령어로 실행이 가능합니다.
C:\Program Files\MySQL\MySQL Server 8.2\bin>mysql -uroot -p MySQL이 설치된 폴더 경로 속에는 mysql.exe 라는 파일이 존재합니다. 이 명령어는 mysql exe를 실행시키는데 -uroot와 -p 옵션을 주고 실행시키는 것 입니다. mysql : MySQL 클라이언트 실행 명령어 -uroot : MySQL 사용자 이름을 지정하는 옵션으로 최고관리자 권한을 가진 root로 로그인 함을 의미 -p : MySQL 사용자 비밀번호를 입력하는 옵션. 이것을 생략하고 mysql -uroot <다운로드 시 설정한 비밀번호>로도 가능한데 이렇게되면 비밀번호가 눈에 보이기때문에 보안상의 문제로 대부분 -p 옵션을 주고 다음 라인에 비밀번호를 입력하는 편
C ) Create
Create는
새로운 데이터베이스를 생성한다는 의미입니다.
전체적인 구조는
데이터베이스 서버(SQL) 속에 데이터베이스(스키마; Schema)가 존재하고 그 속에 테이블이 존재하는 구조입니다.
이 부분은 차차 설명드리도록 하겠습니다.
새로운 DB 서버를 생성하는 명령어는 다음과 같습니다.
mysql> CREATE DATABASE <데이터베이스 이름>;
이제 생성된 DB를 확인해야합니다.
mysql > SHOW DATABASES;
자 이제 데이터베이스 서버에 데이터베이스를 만들어주었고
데이터베이스 안에 테이블들을 만들어줄 차례입니다.
테이블은 아래와 같은 구성으로 이루어져 있습니다.
ID
title
Description
1 (PK)
MySQL
This is MySQL...
2 (PK)
NoSQL
This in NotMySQL...
이러한 테이블을 만들어주기 위해서 아래와 같은 명령어를 사용하면 됩니다.
mysql> USE <데이터베이스 이름>
mysql> CREATE TABLE <테이블 이름> ( key1, key2, ... )
다만 이렇게보는 것보다는 예시를 드는게 이해하기 편하기에 예시를 들어보겠습니다.
ID
Title
Description
Created
Author
Profile
...
...
...
...
...
...
이런 테이블이 있다고 가정하면 우리는 명령어 속에서 첫 번째 컬럼의 값들을 다 지정해주어야 합니다.
mysql> CREATE TABLE topic ( -> id INT(11) NOT NULL AUTO_INCREMENT, -> title VARCHAR(100) NOT NULL, -> description TEXT NULL, -> created DATETIME NOT NULL, -> author VARCHAR(30) NULL, -> profile VARCHAR(100) NULL, -> PRIMARY KEY(id) );
각 컬럼의 의미는 다음과 같습니다.
id : 자동으로 증가(AUTO_INCREMENT)하는 최대 11자의 정수형(INT)으로, 각 행을 고유하게 식별합니다.
title : 최대 100자의 문자열(VARCHAR)로, 비어 있을 수 없습니다(NOT NULL).
description : 텍스트 형식(TEXT)으로, 비어 있을 수 있습니다(NULL).
created : 날짜와 시간 형식(DATETIME)으로, 생성된 날짜와 시간을 나타냅니다. 비어 있을 수 없습니다(NOT NULL).
author : 최대 30자의 문자열(VARCHAR)로, 토픽 작성자의 이름을 나타냅니다. 비어 있을 수 있습니다(NULL).
profile : 최대 100자의 문자열(VARCHAR)로, 토픽 작성자의 프로필을 나타냅니다. 비어 있을 수 있습니다NULL).
PRIMARY KEY(id) : id 컬럼을 주요 키로 설정하는 것입니다. 주요 키의 역할은 각 행을 고유하게 식별할 수 있게 해줍니다. 인간 사회로 치면 절대 겹치지 않는 주민번호와도 같은 것입니다.