MySQL case combat - представление MySQL

Представление 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)

рекомендация

отblog.csdn.net/XY0918ZWQ/article/details/112918548
рекомендация