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;

Related Posts

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' ) | +-------------------------------+ | ...

DBeaver / MariaDB / 기본 키(PRIMARY KEY) 만들기, 삭제하기

DBeaver / MariaDB / 기본 키(PRIMARY KEY) 만들기, 삭제하기

기본 키 만들기 기본 키를 만들 테이블을 더블 클릭합니다. Properties 탭에서 를 클릭합니다. 마우스 우클릭하여 를 클릭하거나, 아래쪽에 있는 아이콘을 클릭합니다. 기본 키로 만들 열을 선택하고 를 클릭합니다. 를 클릭하고... 를 클릭하면... 기본 키 설정이 완료됩니다. 기본 키 삭제하기 기본 키를 선택하고 마우스 우클릭한 후 를 클릭하거나, 아래쪽에 있는 휴지통 아이콘을 클릭하고... 를 클릭한 후... 를 클릭하면 기본 키가 ...

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

SUBSTRING 12345678의 5번째부터 끝까지 문자열을 추출합니다. SELECT SUBSTRING( '12345678', 5 ); +----------------------------+ | SUBSTRING( '12345678', 5 ) | +----------------------------+ | 5678 | +----------------------------+ SELECT SUBSTRING( '12345678' FROM 5 ); +--------------------------------+ | SUBSTRING( '12345678' FROM 5 ) | +--------------------------------+ | 5678 ...

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

JOIN SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다. A 테이블에는 나라, B 테이블에는 도시가 있습니다. 도시가 어떤 나라의 도시인지는 a_no로 확인합니다. 나라는 있는데 도시가 없는 것도 있고, 나라는 없는데 도시는 있는 것도 있습니다. A ...

MariaDB / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

MariaDB / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

날짜 형식의 데이터에서 년 또는 월 또는 일을 분리해서 출력하고 싶다면 YEAR, MONTH, DATE 함수를 사용합니다. YEAR 날짜 데이터에서 년을 출력하고 싶다면 YEAR 함수를 사용합니다. MariaDB > SELECT YEAR('2020-11-12') as Year; +------+ | Year | +------+ | 2020 | +------+ MONTH 날짜 데이터에서 월을 출력하고 싶다면 MONTH 함수를 사용합니다. MariaDB > SELECT MONTH('2020-11-12') as Month; +-------+ | Month | +-------+ | 11 ...

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...

DBeaver / MariaDB / 테이블 만들기, 삭제하기

DBeaver / MariaDB / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.

MariaDB / 연산자 / 비교 연산자

MariaDB / 연산자 / 비교 연산자

MariaDB의 비교 연산자에 대하여 알아본다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_1이라는 테이블이다. C_1의 데이터 형식은 정수, C_2의 데이터 형식은 문자, C_3의 데이터 형식은 날짜이다. +----+------+------+------------+ | ID | C_1 | C_2 | C_3 | +----+------+------+------------+ | 1 | 1 | A ...

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

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

REPLACE는 특정 문자열을 찾아 다른 문자열로 바꾸는 함수입니다. REPLACE( string, from_string, to_string ) string : 찾아서 바꾸는 대상이 되는 문자열 from_string : 찾을 문자열 to_string : 교체될 문자열 아래는 ababab에서 b를 찾아 c로 바꾸는 예제입니다. SELECT REPLACE( 'ababab', 'b', 'c' ); +-------------------------------+ | REPLACE( 'ababab', 'b', 'c' ) | +-------------------------------+ | acacac ...

MariaDB / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...