마리아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
'DataBase' 카테고리의 다른 글
Postgresql에서 데이터 목록이 보이지 않을 때 해결책 (71) | 2024.03.27 |
---|---|
오라클 프로시져에서 커서타입리턴 {PROCEDURE:REFCURSOR} (4) | 2023.11.23 |
오라클 클라우드 무료 서버할당 가입신청하기 {유목민 알폰스} (1) | 2023.11.04 |
1000명의 회원 목록을 데이터베이스 실습 데이터로 드립니다. {유목민 알폰스} (2) | 2023.11.02 |
마리아 DB다운로드 및 설치하기 - mariadb install {유목민 알폰스} (1) | 2023.11.01 |