MySQL WorkBench(워크벤치)를 이용한 MariaDB 테이블 생성 방법입니다.
MySQL과 MariaDB는 다른 DBMS(Database Management System)인데 MySQL용 Workbench로 MariaDB 테이블을 생성한다니 좀 이상하죠?
MariaDB는 MySQL과 호환성이 우수합니다. 이유는 MariaDB가 MySQL 기반으로 만들어진 오픈소스 데이터베이스이기 때문입니다.
MySQL : 오라클에서 관리하는 오픈소스 데이터베이스, 하지만 2중 라이선스로 커뮤니티, 엔터프라이즈 2가지 버전이 존재(커뮤니티 버전에서는 일부 기능이 제한됩니다)
MariaDB : MariaDB재단에서 관리하는 오픈소스 데이터베이스, GPL(General Public License) v2 라이선스로 자유로운 사용 가능
* 제가 사용한 워크벤치와, 마리아 DB 버전은 아래와 같습니다
워크벤치 : MySQL Workbench 8.0.18
마리아DB : MariaDB 10.3.13
이제 본격적으로 워크벤치를 활용한 MaraDB 테이블 생성 방법입니다.
다운로드부터 테이블 생성까지 크게 4단계로 요약할 수 있습니다.
아래 경로에서 MySQL Workbench 다운로드가 가능하고, 굳이 회원가입 안 해도 다운 가능합니다.
설치는 스크린샷을 따로 안 찍었는데요, Next를 눌러서 설치하시면 됩니다.
설치가 완료되고 워크벤치를 실행하며 아래와 같은 화면을 볼 수 있습니다.
ERD를 만들기 위해 File - New Model을 클릭합니다(단축키 : 컨트롤 + N)
다음으로는 Add Diagram을 클릭해서 Diagram을 생성합니다.
Add Diagram을 클릭하면 아래와 같은 시트가 생성되고 테이블을 생성하시면 됩니다.
아래는 테이블을 생성한 모습이고, 이제 만든 테이블을 Export 하는 방법을 말씀드리겠습니다.
File - Export - Forward Engineer SQL CREATE Script 클릭
SQL 스크립트를 저장할 경로 설정, 해당 경로에 스크립트가 생성됩니다.
경로 지정 후에 Next를 누르시면 스크립트 미리 보기 창이 나오는데 계속 Next 눌러서 넘어가면 됩니다.
생성된 스크립트는 아래와 같습니다.
아래 내용에서 '--'으로 처리된 행은 주석 처리된 행들이고 주석처리된 행들을 제외하고 나머지 행들을 차례대로 입력하면 데이터베이스 및 테이블이 생성됩니다.
아래는 생성된 코드 전문입니다.
MariaDB에 들어가서 아래에서 '--'으로 주석 처리된 행들을 제외하고 차례대로 복사해서 입력해주면 됩니다.
-- MySQL Script generated by MySQL Workbench
-- Fri Dec 6 19:00:22 2019
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema testDB
-- -----------------------------------------------------
-- 20191206 make database test
-- -----------------------------------------------------
-- Schema testDB
--
-- 20191206 make database test
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `testDB` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
USE `testDB` ;
-- -----------------------------------------------------
-- Table `testDB`.`test_20191206`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `testDB`.`test_20191206` (
`ID` INT NOT NULL,
`NAME` VARCHAR(45) NULL,
`HOBBY` VARCHAR(45) NULL,
PRIMARY KEY (`ID`))
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
위의 스크립트는 3가지 과정으로 이루어져 있습니다.
기본 변수 설정
데이터베이스 생성
테이블 생성
마지막으로 스크립트 입력 및 생성된 테이블 모습입니다.
1. MySQL과 MariaDB의 공통점/차이점에 대해 잘 정리한 글 : https://sir.kr/cm_free/1489073
2. GPL License 가 무엇인지 궁금한 분들을 위한 링크 : https://www.olis.or.kr/license/Detailselect.do?lId=1004
3. 워크벤치 다운로드 경로 : https://www.mysql.com/products/workbench/
4. 워크벤치란 ? : https://ko.wikipedia.org/wiki/MySQL_%EC%9B%8C%ED%81%AC%EB%B2%A4%EC%B9%98
[MariaDB 설정 파일 찾는 방법] 모든 Linux 배포판 적용 가능 (0) | 2019.12.19 |
---|---|
[프로그래머스, SQL 문제] 없어진 기록 찾기(Join) (0) | 2019.12.18 |
[진행중 2] MariaDB 원격접속 설정 - Workbench를 이용한 접속 (0) | 2019.12.15 |
[진행중] MariaDB 원격접속 설정 - Workbench를 이용한 접속 (0) | 2019.12.14 |
[마리아DB설치] CentOS에 MariaDB 설치하는 방법 2가지 (4) | 2019.11.02 |