포렌식과 개발의 잡동사니

[MariaDB] 간단한 DB, 테이블 생성 본문

카테고리 없음

[MariaDB] 간단한 DB, 테이블 생성

Lusika 2026. 5. 19. 15:54

환경: Rocky linux

 

1. dnf -y install mariadb를 쳐서 프로그램 다운로드

2. /etc/my.cnf라는 파일에 들어가기

파일 하단에 다음과 같이 작성

mariadb 실행

SQL: DBMS에서 데이터베이스 관리를 위해 사용하는 언어. 구조화된 DB언어. 질의를 통해 명령을 내리고 그 결과를 받아보는 형태. DBMS마다 사용하는 SQL의 문법, 형태 다르지만 기본 형태는 비슷. DDL, DML, DCL이 있음.

 

DDL: Data Definition Lanaguage. DB 생성, 수정, 삭제. DB나 테이블 같은 큰 구조 생성, 수정, 삭제할 때 사용하는 SQL. 주로 DB 관리자가 사용하는 SQL. CREATE, ALTER,DROP.TRUNCATE(초기화)
DML: Data Manifulation Lanaguage, 실제 저장된 데이터를 조작. INSERT(삽입), UPDATE(수정), DELETE(삭제), SELECT(조회)
DCL: Data Control Language, DB 구조나 실제 저장된 데이터 제외 나머지 제어. 보안, 무결성, 복구 설정 등 권한에 관련된 설정. GRANT(권한 할당), REVOKE(권한 회수), COMMIT(작업 완료, 실행), ROLLBACK(작업 취소, 복구)

 

어떤 db가 있는지 우선 판단: show databases

기본적 저장 DB: information schema, mysql, perfomance_schema


information schema: 기본 설정 정보(테이블, 컬럼, 설정 등)
mysql: 계정, 권한에 관련된 모든 정보 저장, 관리 DB.
perfomance_schema: 특정한 이벤트, 문제가 발생한 경우 기록.

DB 선택: use (DB 이름);

show tables;: 특정 테이블 보기

create database DB;

drop database DB;

테이블 생성: create table table명 (컬럼명, 데이터 타입, 옵션, 제약 조건)(괄호를 컬럼 하나당 입력함)
컬럼명: 각 열의 이름
데이터 타입: 각 열에 들어간 데이터의 종류 → 필수

옵션: 데이터의 삽입, 수정, 삭제 시 추가할 규칙
제약 조건: 해당 컬럼에 들어갈 데이터의 제약 사항(무결성을 지키기 위해 제한. 데이터 값의 범위나 조건을 지정하거나, NULL 값 사용 제한하거나, 중복을 금지하거나…)

byte는 byte형 만든다음 그대로 저장함.(용량 낭비 문제 있을 수 있음)
varchar는 데이터 크기에 따라 유동적으로 크기를 늘리고 줄여 저장.

기본키: 모든 정보를 구분할 수 있는 기준이 되는 값(중복되지도 않고, 비어있을수도 없는 값들)
(primary key를 넣는 순간 null이 들어갈 수 없음)

기본 값 설정: default
테이블 확인하기: desc (테이블 이름)

 

  1. alter table 테이블명 add 컬럼명 데이터타입 옵션 제약 조건 위치 옵션; :컬럼 추가 (컬럼명과 데이터 타입은 무조건 써야됨)
  2. (위 명령어에 추가) first, alter(특정 컬럼 다음): 원하는 위치에 추가
  3. alter table 테이블명 drop 컬럼명; : 컬럼 삭제
  4. alter table 테이블명 modify 기존 컬럼명 데이터 타입 옵션 제약조건; :컬럼 설정 변경
  5. alter table 테이블명 change 기존컬럼명 새컬럼명 데이터타입 옵션 제약 조건 : 특정 컬럼 내용을 완전히 다 바꿈
  6. alter table 테이블명 rename 새 테이블명; : 테이블 이름 변경 =rename table 기존 테이블명 to 새 테이블명;
  7. truncate 테이블명; : 테이블 초기화(해당 테이블 삭제 후 같은 테이블 생성)
  8. drop table 테이블명; :테이블 삭제