[실습] 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
우분투에서 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
mysql 콘솔에서 데이터베이스 확인
show databases;
데이터베이스 생성하기, 생성된 데이터베이스 선택 사용
create database st_db;
show databases;
use st_db;
테이블 확인, 테이블 생성하기
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;
테이블 확인 구조 확인
explain st_info;
explain st_grade;
기본키 추가 하기
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);
레코드 삽입하기
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';
레코드 검색
select * from st_info;
select * from st_grade;
레코드 조건 검색
- 학번이 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';
레코드 수정
update st_grade set DB = '90' where ST_ID = '101';
select * from st_grade where ST_ID = '101';
댓글목록0