DBMS란?
데이터 베이스를 관리하는 애플리케이션으로 데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정하고 삭제하는 역할을 합니다. DBMS는 크게 관계형 DBMS인 RDBMS와 비관계형 DBMS인 NoSQL으로 나누어져 있습니다.
관계형 DBMS (RDBMS)
관계형 DBMS는 행과 열의 집합으로 구성된 테이블 묶음 형식으로 데이터를 관리하는 DBMS입니다. 테이블 형식의 데이터를 조작할 수 있는 관계 연산자가 제공되며, 해당 관계 연산자로 사용하는 쿼리 언어가 SQL(Structured Query Language)입니다. SQL을 이용해 데이터를 추가, 조회, 수정, 삭제할 수 있으며 목적과 행위에 따라 다양한 구조의 쿼리가 구성됩니다. SQL을 사용하는 RDBMS에는 MySQL, MariaDB, PostgreSQL, SQLite 등이 있으며 이번 포스팅에서는 MySQL에 대해 설명해 보겠습니다. 비관계형 DBMS에 대한 내용은 다른 포스팅에서 다루겠습니다. (비관계형 DBMS)
MySQL
MySQL은 대중적으로 쓰이는 RDBMS 중 하나입니다. 우분투에서 실습 환경을 구축하고 MySQL을 사용해 보겠습니다.
MySQL 실행 방법
1 . 시스템 업데이트 후 mysql을 설치
sudo apt-get update
sudo apt-get install mysql-server
2 . 설치 여부를 버전 확인을 통해 확인 가능
mysql --vercion
3 . mysql 서버 실행
sudo systemctl start mysql
4 . 서버 상태 확인 (정상적으로 실행 중인 경우 아래 사진과 같이 파란불 표시)
sudo systemctl status mysql
5 . 서버 접속 (예시는 root 유저로 접속하는 방법 -> 처음 접속 후 계정 생성 후에는 해당 계정으로도 접속 가능)
sudo mysql -u root -p
Enter password : 가 출력될 경우 그냥 Enter 눌러서 넘어갈 수 있음
MySQL 사용법
계정 조회
SELECT user, host, plugin FROM user;
계정 추가
//외부 접근 허용 사용자
CREATE USER '[계정명]'@'%' IDENTIFIED BY '[password]';
//내부 접근 허용자
CREATE USER '[계정명]'@'localhost' IDENTIFIED BY '[password]';
데이터 베이스 생성
CREATE DATABASE [데이터베이스명];
데이터 베이스 조회
SHOW DATABASES;
데이터 베이스 사용 (이를 통해 해당 데이터 베이스의 데이터 관리 가능)
USE [데이터베이스명];
테이블 생성
CREATE TABLE [테이블명](
[필드명] [데이터 타입] [선택 조건],
...
...
...
);
- 데이터 타입
- INT : 정수형
- VARCHAR (최대길이) : 가변 길이 문자열
- CHAR (길이) : 고정 길이 문자열
- TEXT : 큰 문자열
- DATE : 날짜
- 선택 조건
- NOT NULL : NULL 값을 허용하지 않음
- PRIMARY KEY : 기본 키로 설정, 고유하며 NULL을 가질 수 없음
- AUTO_INCREMENT : 자동으로 증가하는 숫자
테이블 조회
SHOW TABLES;
테이블 구조 조회
DESC [테이블명];
테이블에 데이터 생성
INSERT INTO [테이블명]([컬럼명],[컬럼명]) Values([내용],[내용]);
테이블 데이터 조회
SELECT * FROM [테이블명];
테이블 데이터 수정
UPDATE [테이블명] SET [컬럼명]=[수정할 값];
테이블 일부 데이터 삭제
DELETE FROM [테이블명] WHERE [조건문];
테이블 전체 데이터 삭제
DELETE FROM [테이블명];
데이터베이스 및 테이블 삭제
DROP TABLE [테이블명];
DROP DATABASE [데이터베이스명];