MariaDB / Tutorial / VIEW

VIEW

VIEW는 가상의 테이블입니다. 실제로 데이터를 저장하지 않고, 기존의 하나 이상의 테이블을 기반으로 한 쿼리 결과를 테이블처럼 사용할 수 있게 해줍니다. 뷰는 복잡한 쿼리를 단순화하고, 보안 및 데이터 관리에 유용하게 사용됩니다.

예제 데이터베이스

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

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

  • CREATE VIEW로 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;
같은 카테고리의 다른 글
MariaDB / Tutorial / 샘플 데이터베이스 employees 설치하는 방법

MariaDB / Tutorial / 샘플 데이터베이스 employees 설치하는 방법

데이터베이스를 다루는 공부를 할 때 데이터가 들어있는 데이터베이스가 있으면 좋습니다. 데이터베이스를 직접 만드는 방법도 있지만, 공개된 샘플 데이터베이스를 이용하면 편합니다. 예를 들어 SQL Server라면 AdventureWorks라는 샘플 데이터베이스를 마이크로소프트에서 제공합니다. MariaDB라면 employees를 사용하면 됩니다. 다음은 MariaDB에 test_db를 설치하는 방법입니다 GitHub에 있는 test_db 페이지에 접속합니다. Code를 클릭한 다음 Download ZIP을 클릭하여 다운로드합니다. 서버에 업로드한 다음 압축을 ...

MariaDB / Tutorial / 사용자 관리하는 방법

MariaDB / Tutorial / 사용자 관리하는 방법

사용자 목록 보기 mysql 데이터베이스의 user 테이블에서 필요한 정보 출력합니다. SELECT User, Host FROM mysql.user; 사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234인 사용자를 만듭니다. CREATE USER 'jb'@'localhost' IDENTIFIED BY '1234'; 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234인 사용자를 만듭니다. CREATE USER 'jb'@'%' IDENTIFIED BY '1234'; 사용자 이름 jb, 192.168.0.111에서 접속 가능, 비밀번호 1234인 사용자를 ...

MariaDB / Tutorial / VIEW

MariaDB / Tutorial / VIEW

VIEW는 가상의 테이블입니다. 실제로 데이터를 저장하지 않고, 기존의 하나 이상의 테이블을 기반으로 한 쿼리 결과를 테이블처럼 사용할 수 있게 해줍니다. 뷰는 복잡한 쿼리를 단순화하고, 보안 및 데이터 관리에 유용하게 사용됩니다.

MariaDB / Tutorial / 피벗 테이블 만드는 방법

MariaDB / Tutorial / 피벗 테이블 만드는 방법

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

MariaDB / Tutorial / 연산자 / 비교 연산자

MariaDB / Tutorial / 연산자 / 비교 연산자

MariaDB의 비교 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_1이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다. C_1 : 정수 C_2 : 문자 C_3 : 날짜 +----+------+------+------------+ | ID | C_1 | C_2 | C_3 | +----+------+------+------------+ | 1 | 1 | ...

MariaDB / Tutorial / DATABASE / 조회, 생성, 삭제, 이름 변경

MariaDB / Tutorial / DATABASE / 조회, 생성, 삭제, 이름 변경

데이터베이스 조회 데이터베이스 목록을 조회합니다. SHOW DATABASES; 데이터베이스 만들기 test라는 이름의 데이터베이스를 만듭니다. CREATE DATABASE test; 이미 존재하는 데이터베이스와 같은 이름의 데이터베이스를 만들려고 하면 에러가 납니다. 같은 이름의 데이터베이스가 존재하지 않을 때만 만들고 싶다면 IF NOT EXISTS를 추가합니다. CREATE DATABASE IF NOT EXISTS test; 마침표 등 특별한 문자를 포함하는 경우에 에러가 닙니다. 그런 경우 억음 부호로 이름을 감쌉니다. CREATE ...

MariaDB / Tutorial / 연산자 / 논리 연산자

MariaDB / Tutorial / 연산자 / 논리 연산자

MariaDB의 논리 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_2이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다. C_1 : 정수 C_2 : 문자 +----+------+------+ | ID | C_1 | C_2 | +----+------+------+ | 1 | 1 | A | | 2 | ...