MySQL보기
머리말
이 환경은 Centos 7.8 시스템을 기반으로
특정 구성 을 위해 MySQL-5.7.14를 빌드 합니다. MySQL-5.7.14 환경 구성을 참조하십시오.
테이블이 연결될 때마다 emp 및 dept 테이블에 대해 조인 쿼리를 수행해야하는 경우가 많으며 동일한 문 문자열이 작성됩니다. 동시에 급여 대기열 데이터가 더 민감하기 때문에 외부 요구 사항은 다음과 같습니다. 보이지 않습니다.
이런 식으로 뷰를 생성하여 완료 할 수 있습니다.
특징보기
- 보기는 하나 이상의 테이블의 데이터를 사용자 지정 방식으로 표시합니다.
- 뷰는 일종의 데이터베이스 객체로, 사용자는 일반 테이블처럼 뷰를 질의 할 수 있습니다. 사실 뷰에 저장된 데이터는없고 테이블에 대한 질의 일뿐입니다.
- 뷰의 정의는 데이터 딕셔너리에 저장되며 뷰가 생성 된 테이블을 "기본 테이블"이라고합니다.
뷰의 장점
효과:
- 제어 보안
- 쿼리 데이터 저장
이점:
- 유연하고 일관된 수준의 보안을 제공합니다.
- 데이터의 복잡성 숨기기
- 사용자의 SQL 명령 단순화
- 열 이름을 변경하여 다른 각도에서 데이터 제공
테이블 만들기
mysql> CREATE TABLE college(
-> number INT(10) NOT NULL UNIQUE PRIMARY KEY COMMENT '学号',
-> name VARCHAR(20) NOT NULL COMMENT '姓名',
-> major VARCHAR(20) NOT NULL COMMENT '专业',
-> age INT(5) COMMENT '年龄'
-> )
테이블에 데이터 삽입
Query OK, 0 rows affected (0.18 sec)
mysql> INSERT INTO college_view VALUES(0901,'张三',20,'外语');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO college_view VALUES(0902,'李四',22,'计算机');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO college_view VALUES(0903,'王五',19,'计算机');
Query OK, 1 row affected (0.00 sec)
보기 만들기
mysql> create
-> algorithm = merge
-> view college_view(student_num,student_name,student_age,department)
-> as
-> select number,name,age,major
-> from college
-> with local check option;
Query OK, 0 rows affected (0.18 sec)
보기보기
mysql> select * from college_view;
+-------------+--------------+-------------+------------+
| student_num | student_name | student_age | department |
+-------------+--------------+-------------+------------+
| 901 | 张三 | 20 | 外语 |
| 902 | 李四 | 22 | 计算机 |
| 903 | 王五 | 19 | 计算机 |
+-------------+--------------+-------------+------------+
3 rows in set (0.00 sec)
보기 수정
mysql> alter
-> algorithm = merge
-> view college_view(student_num,student_name,student_age,department)
-> as
-> select number,name,age,major
-> from college
-> where major='计算机'
-> with local check option;
Query OK, 0 rows affected (0.00 sec)
다시보기
mysql> select * from college_view;
+-------------+--------------+-------------+------------+
| student_num | student_name | student_age | department |
+-------------+--------------+-------------+------------+
| 902 | 李四 | 22 | 计算机 |
| 903 | 王五 | 19 | 计算机 |
+-------------+--------------+-------------+------------+
2 rows in set (0.00 sec)