본문 바로가기



마리아DB 기초 CRUD 예제 입니다. - MariaDB CRUD {유목민 알폰스}



마리아DB CRUD 간단 예제

마라아DB는 MYSQL의 업그레이드 버젼인 데이터베이스로서 버전이 업그레이드 되면서
더욱 개선된 부분을 제외하면 문법은 MYSQL과 동일하다고 보시면 됩니다.

 

1. 테이블 생성

위의 예제는 emp라는 테이블을 생성하고, 각 열과 테이블에 대한 코멘트 추가합니다.

CREATE TABLE EMP (
  EMPLOYEE_ID INT(10) PRIMARY KEY COMMENT '사원 ID',  -- 사원 ID
  FIRST_NAME VARCHAR(50) COMMENT '이름',  -- 이름
  LAST_NAME VARCHAR(50) COMMENT '성',  -- 성
  HIRE_DATE DATE COMMENT '입사일',  -- 입사일
  SALARY DECIMAL(10, 2) COMMENT '급여'  -- 급여
) COMMENT='사원 정보 테이블';

COMMIT;  -- 변경 사항 커밋

 

2. 인서트

-- 사원 데이터 삽입
INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (1, '홍', '길동', '2021-01-01', 5000);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (2, '김', '영희', '2021-02-01', 6000);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (3, '이', '철수', '2021-03-01', 5500);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (4, '박', '영수', '2021-04-01', 7000);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (5, '최', '미영', '2021-05-01', 4500);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (6, '정', '기호', '2021-06-01', 8000);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (7, '강', '지원', '2021-07-01', 6000);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (8, '윤', '민수', '2021-08-01', 5500);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (9, '신', '영호', '2021-09-01', 6500);

INSERT INTO EMP (EMPLOYEE_ID, FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY)
VALUES (10, '이', '지연', '2021-10-01', 5000);

COMMIT;  -- 변경 사항 커밋

 

인서트시 영문은 잘 입력이 되지만 한글입력시 에러가 나거나 글자가 깨져서 보인다면
아래 구문을 실행해서 set의 타입을 utf8로 맞춰주세요
 
데이터 인서트 시 에러가 발생했다면 아래 구문을 실행하세요.

-- 데이터 인서트시 에러가 발생했다면
ALTER TABLE emp CONVERT TO CHARACTER SET utf8;

 

3. 조회

-- 모든 필드 선택
SELECT
* 
FROM EMP;

-- 원하는 필드를 지정해서 조회
SELECT 
  EMPLOYEE_ID,  -- 사원 ID
  FIRST_NAME,  -- 이름
  LAST_NAME,  -- 성
  HIRE_DATE,  -- 입사일
  SALARY  -- 급여
FROM EMP;

-- 성이 '김' 이름에 '희'가 포함된 사람
SELECT 
  EMPLOYEE_ID,  -- 사원 ID
  FIRST_NAME,  -- 이름
  LAST_NAME,  -- 성
  HIRE_DATE,  -- 입사일
  SALARY  -- 급여
FROM EMP
WHERE FIRST_NAME = '김'
  AND LAST_NAME LIKE '%희%'
;

-- 급여가 6000보다 큰사람
SELECT 
  EMPLOYEE_ID,  -- 사원 ID
  FIRST_NAME,  -- 이름
  LAST_NAME,  -- 성
  HIRE_DATE,  -- 입사일
  SALARY  -- 급여
FROM EMP
WHERE SALARY > 6000
;

-- 순번출력, 성과 이름순으로 정렬, 입사일 가공해서 출력
SELECT
  ROW_NUMBER() OVER (ORDER BY FIRST_NAME, LAST_NAME) AS ROWNUM, -- 순번출력
  EMPLOYEE_ID,  -- 사원 ID
  FIRST_NAME,  -- 이름
  LAST_NAME,  -- 성
  DATE_FORMAT(HIRE_DATE, '%Y-%m-%d') AS HIRE_DATE, -- 입사일 가공해서 출력
  SALARY  -- 급여
FROM EMP
ORDER BY FIRST_NAME, LAST_NAME;
;

 
 

4. 수정

-- 이름이 길동인 ROW를 제니로 변경
UPDATE EMP 
SET LAST_NAME = '제니'
WHERE LAST_NAME = '길동';
COMMIT;

 

5. 삭제

-- 이름이 길동인 ROW를 삭제
DELETE FROM EMP 
WHERE LAST_NAME = '길동';
COMMIT;

 
 

By. 알폰스 - Alphonse Elric