MariaDB / VIEW / 만들기, 수정하기, 삭제하기

예제로 사용한 데이터베이스는 employees이다.

VIEW

VIEW는 SELECT의 결과를 테이블처럼 사용할 수 있게 해준다. 반복되는 쿼리를 대체하거나, 민감한 정보를 숨기고 싶을 때 사용한다.

VIEW 만들기

CREATE VIEW

예를 들어 남자인 직원의 first_name과 last_name을 VIEW로 만든다고 하자. 우선 VIEW로 만들 데이터를 추출하는 쿼리를 만든다.

SELECT
  first_name, last_name
FROM employees
WHERE gender = 'M'
;

CREATE VIEW로 VIEW를 만든다. v_employees_male는 VIEW의 이름으로, 적절히 정한다.

CREATE VIEW v_employees_male
AS
  SELECT
    first_name, last_name
  FROM employees
  WHERE gender = 'M'
;

CREATE OR REPLACE VIEW

기존 VIEW와 이름이 같으면 VIEW가 생성되지 않는다. CREATE VIEW 대신 CREATE OR REPLACE VIEW를 사용하면, 같은 이름의 VIEW가 있을 때 기존 VIEW를 대체한다.

CREATE OR REPLACE VIEW v_employees_male
AS
  SELECT
    first_name, last_name
  FROM employees
  WHERE gender = 'M'
;

CREATE VIEW IF NOT EXISTS

CREATE VIEW 대신 CREATE VIEW IF NOT EXISTS를 사용하면, 같은 이름의 VIEW가 없을 때만 VIEW를 만든다.

CREATE VIEW IF NOT EXISTS v_employees_male
AS
  SELECT
    first_name, last_name
  FROM employees
  WHERE gender = 'M'
;

VIEW 수정하기

VIEW 수정은 ALTER VIEW로 한다. CREATE 자리에 ALTER가 있다고 보면 된다. 수정하는 것이므로, 당연히 기존에 정의된 VIEW가 있어야 한다. 아래는 위에서 만든 VIEW에 gender를 추가한 것이다.

ALTER VIEW v_employees_male
AS
  SELECT
    first_name, last_name, gender
  FROM employees
  WHERE gender = 'M'
;

VIEW 삭제하기

DROP VIEW로 VIEW를 삭제한다. 예를 들어 VIEW의 이름이 v_employees_male이라면 다음과 같이 한다.

DROP VIEW v_employees_male;
같은 카테고리의 다른 글
DBeaver / MariaDB / 데이터베이스 만들기, 삭제하기

DBeaver / MariaDB / 데이터베이스 만들기, 삭제하기

데이터베이스 만들기 Databases를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭합니다. 데이터베이스 이름을 입력하고, Charset과 Collation을 선택한 후 를 클릭하면... 데이터베이스가 생성됩니다. 데이터베이스 수정하기 왼쪽에서 데이터베이스를 두 번 클릭하면 데이터베이스 정보가 나옵니다. 필요한 수정을 하고 를 클릭한 다음... 팝업 창의 내용을 확인하고 를 클릭하면... 데이터베이스가 수정됩니다. 데이터베이스 삭제하기 데이터베이스를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭하고... 를 클릭하면... 데이터베이스가 삭제됩니다.

MariaDB / 함수 / ROUND

MariaDB / 함수 / ROUND

ROUND는 반올림하는 함수이다. 별도 설정을 하지 않으면 소수 첫째 자리에서 반올림한다. SELECT ROUND( 1.4 ); +--------------+ | ROUND( 1.4 ) | +--------------+ | 1 | +--------------+ SELECT ROUND( 1.5 ); +--------------+ | ROUND( 1.5 ) | +--------------+ | 2 ...

MariaDB / 피벗 테이블 만들기

MariaDB / 피벗 테이블 만들기

피벗 테이블은 엑셀의 유용한 기능 중의 하나이다. 예를 들어 아래의 왼쪽 데이터를 오른쪽 표처럼 만드는 것이 피벗 테이블이다. 조건에 따라 그룹화시켜서 보기 좋게 데이터를 정리하는 것이라 보면 된다. MariaDB에서도 몇 가지 함수를 이용하여 피벗 테이블을 만들 수 있다. 테이블의 이름이 pivot이라 가정하면, 아래처럼 쿼리를 짜면 된다. SELECT company , ...

MariaDB / TABLE / 만들기, 삭제하기, 이름 변경하기

MariaDB / TABLE / 만들기, 삭제하기, 이름 변경하기

테이블 만들기 test 데이터베이스를 만듭니다. MariaDB > CREATE DATABASE test; Query OK, 1 row affected (0.00 sec) test 데이터베이스를 사용합니다. MariaDB > USE test; Database changed table1을 만듭니다. 열이 하나도 없으면 테이블이 만들어지지 않으므로, 적어도 하나 이상의 열을 만듭니다. MariaDB > CREATE TABLE table1 ( column1 VARCHAR(100) ); Query OK, 0 rows affected (0.35 sec) 테이블이 만들어졌는지 확인합니다. MariaDB > SHOW ...

MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

예제로 사용한 데이터베이스는 employees입니다. COUNT COUNT는 특정 조건을 만족하는 행의 개수를 세는 함수입니다. employees 테이블의 전체 행 개수를 구합니다. 의미 상 전체 직원 수를 구하는 것입니다. SELECT COUNT( * ) AS Count FROM employees ; +----------+ | Count | +----------+ | 300024 | +----------+ WHERE를 이용하여 조건을 추가할 수 있습니다. 다음은 남자 직원의 수를 구하는 쿼리입니다. SELECT ...

MariaDB / HeidiSQL / 쿼리 실행하는 방법

MariaDB / HeidiSQL / 쿼리 실행하는 방법

HeidiSQL을 실행하고 데이터베이스 서버에 연결합니다. 쿼리를 실행할 데이터베이스를 선택합니다. 탭을 클릭합니다. 쿼리를 입력하고 삼각형 모양의 아이콘을 클릭하면 쿼리가 실행됩니다. 단축키는 F9입니다. 쿼리 결과는 하단에 표시됩니다. 여러 개의 쿼리를 입력하고 실행하면, 각 결과가 별도의 탭으로 표시됩니다. 쿼리를 선택하고 을 클릭하면 선택한 쿼리만 실행됩니다. 단축키는 Shift+Ctrl+F9입니다.

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

REPLACE는 특정 문자열을 찾아 다른 문자열로 바꾸는 함수입니다. 특정 위치의 문자열을 다른 문자열로 바꾸고 싶다면 INSERT 함수를 사용합니다. 문법 REPLACE( string, from_string, to_string ) string : 찾아서 바꾸는 대상이 되는 문자열 from_string : 찾을 문자열 to_string : 교체될 문자열 예제 1 ababab에서 b를 찾아 c로 바꿉니다. SELECT REPLACE( 'ababab', 'b', 'c' ); +-------------------------------+ | REPLACE( 'ababab', 'b', 'c' ) | +-------------------------------+ | acacac ...

MariaDB / 함수 / LEFT, RIGHT / 문자열의 왼쪽 또는 오른쪽의 일부를 출력하는 함수

MariaDB / 함수 / LEFT, RIGHT / 문자열의 왼쪽 또는 오른쪽의 일부를 출력하는 함수

LEFT는 문자열의 왼쪽부터 일정 길이만큼 출력하는 함수입니다. LEFT( string,length ) SELECT LEFT( '12345678', 3 ); +-----------------------+ | LEFT( '12345678', 3 ) | +-----------------------+ | 123 | +-----------------------+ RIGHT는 문자열의 왼쪽부터 일정 길이만큼 출력하는 함수입니다. RIGHT( string, length ) SELECT RIGHT( '12345678', 3 ...

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

FIND_IN_SET은 특정 문자열의 위치를 출력하는 함수입니다. FIND_IN_SET( pattern, string_list ) A, B, C, D에서 B가 몇 번째 위치하는지를 출력합니다. 두 번째에 있으므로 출력하는 값은 2입니다. SELECT FIND_IN_SET( 'B', 'A,B,C,D' ); +-------------------------------+ | FIND_IN_SET( 'B', 'A,B,C,D' ) | +-------------------------------+ | ...

MariaDB / Procedure

MariaDB / Procedure

예제로 사용한 데이터베이스는 employees이다. Procedure Procedure를 이용하면 여러 쿼리를 한 번에 실행할 수 있다. 기본 예제 Procedure 만들기 delimiter를 다른 것으로 변경한다. MariaDB > delimiter ## create procedure로 procedure를 만든다. procedure 이름 뒤에 괄호에는 매개변수가 들어간다. p_departments라는 이름의 매개변수가 없는 Procedure이다. departments 테이블의 모든 데이터를 출력한다. MariaDB > create procedure p_departments() -> begin -> select ...