Maria DB > 우분투 리눅스

본문 바로가기

[실습] Maria DB

필기자
2023-05-16 11:00 3,773 0

본문

Maria DB

  • 마리아DB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 초기에 MySQL로 알려진 이 데이터베이스는 MySQL의 개발자들이 MySQL의 상용 버전에 대한 제약을 해결하고 발전시키기 위해 만들어졌습니다. 마리아DB는 GPL(General Public License) 라이선스로 배포되며, 개발과 사용이 무료입니다.
  • 마리아DB는 MySQL과 호환성이 높습니다. 기존 MySQL 사용자들은 마리아DB로 쉽게 마이그레이션할 수 있습니다. MySQL과 마리아DB는 SQL(Structured Query Language)을 사용하여 데이터베이스를 조작하며, 동일한 클라이언트 라이브러리와 API를 공유합니다.
  • 마리아DB는 대량의 데이터를 처리할 수 있는 고성능 데이터베이스입니다. 멀티스레드와 멀티버전 동시성 제어(MVCC)를 지원하여 동시에 여러 개의 연결을 처리할 수 있습니다. 또한 마스터-슬레이브 복제와 클러스터링과 같은 고가용성 및 확장성 옵션을 제공합니다.
  • 마리아DB는 데이터의 안정성과 신뢰성을 보장하기 위해 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 지원합니다. 또한 데이터의 보안을 위해 다양한 암호화 기능과 접근 제어 기능을 제공합니다.
  • 마리아DB는 다양한 운영 체제에서 사용할 수 있으며, 많은 개발자와 기업들이 사용하고 있습니다. 마리아DB는 웹 애플리케이션, 엔터프라이즈 솔루션, 데이터 웨어하우스 등 다양한 분야에서 데이터베이스 관리 시스템으로 활용됩니다.

 

우분투에서 Maria DB 설치


sudo apt update
sudo apt install mariadb-server
sudo systemctl status mariadb

20230516105320_5a5b79cb4ecd3d21e641939bd626f69d_pn44.png

 

20230516105439_5a5b79cb4ecd3d21e641939bd626f69d_c12a.png

 

우분투에서 Maria DB 사용법

  • 시작: sudo systemctl start mariadb
  • 중지: sudo systemctl stop mariadb
  • 재시작: sudo systemctl restart mariadb

 

  • 시작: sudo service mariadb start
  • 중지: sudo service mariadb stop
  • 재시작: sudo service mariadb restart

 

우분투에서 Maria DB 접속 방법



sudo mysql

 

20230516105825_5a5b79cb4ecd3d21e641939bd626f69d_aahu.png

 

mysql 콘솔에서 데이터베이스 확인


show databases;

 

20230516110338_5a5b79cb4ecd3d21e641939bd626f69d_olwf.png

 

데이터베이스 생성하기, 생성된 데이터베이스 선택 사용


create database st_db;
show databases;
use st_db;

20230516110910_5a5b79cb4ecd3d21e641939bd626f69d_8q8c.png


테이블 확인, 테이블 생성하기


show tables;
create table st_info(ST_ID int, NAME varchar(20), DEPT varchar(25)) default charset=utf8;
create table st_grade(ST_ID int, Linux int, DB int);
show tables;

 

20230516111510_5a5b79cb4ecd3d21e641939bd626f69d_qjwa.png

 

20230516111552_5a5b79cb4ecd3d21e641939bd626f69d_peif.png

 

테이블 확인 구조 확인


explain st_info;
explain st_grade;

20230516111818_5a5b79cb4ecd3d21e641939bd626f69d_t71p.png

 

기본키 추가 하기


ALTER TABLE st_info MODIFY ST_ID INT NOT NULL;
ALTER TABLE st_grade MODIFY ST_ID INT NOT NULL;
ALTER TABLE st_info ADD CONSTRAINT pk_stinfo PRIMARY KEY (ST_ID);
ALTER TABLE st_grade ADD CONSTRAINT pk_stgrade PRIMARY KEY (ST_ID);

20230516112950_5a5b79cb4ecd3d21e641939bd626f69d_3ke2.png

 

20230516113028_5a5b79cb4ecd3d21e641939bd626f69d_tg6j.png

 

레코드 삽입하기


insert st_info set ST_ID = '101', NAME = '이길동', DEPT = 'Game';
insert st_info set ST_ID = '102', NAME = '김길동', DEPT = 'Computer';
insert st_info set ST_ID = '103', NAME = '홍길동', DEPT = 'Game';

insert st_grade set ST_ID = '101', Linux = '90', DB = '80';
insert st_grade set ST_ID = '102', Linux = '70', DB = '95';
insert st_grade set ST_ID = '103', Linux = '103', DB = '65';

20230516113618_5a5b79cb4ecd3d21e641939bd626f69d_vfmi.png

 

20230516113646_5a5b79cb4ecd3d21e641939bd626f69d_g33f.png

 

레코드 검색


select * from st_info;
select * from st_grade;


20230516113838_5a5b79cb4ecd3d21e641939bd626f69d_5ynt.png

 

레코드 조건 검색

  • 학번이 101인 학생의 이름과 학과를 검색
  • 학번이 101인 학생의 리눅스 성적을 검색
  • 학번이 101인 학생의 이름과 학과, DB 성적을 한 번에 검색


select NAME, DEPT from st_info where ST_ID = '101';
select Linux from st_grade where ST_ID = '101';
select A.NAME, A.DEPT, B.DB from st_info A left join st_grade B ON A.ST_ID = B.ST_ID where A.ST_ID = '101';

20230516115708_5a5b79cb4ecd3d21e641939bd626f69d_wa1o.png

 

레코드 수정


update st_grade set DB = '90' where ST_ID = '101';
select * from st_grade where ST_ID = '101';

20230516120006_5a5b79cb4ecd3d21e641939bd626f69d_3s6j.png

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색