110 lines
3.2 KiB
Markdown
110 lines
3.2 KiB
Markdown
---
|
||
title: SQL Replace VIEW Statement
|
||
localeTitle: SQL替换VIEW语句
|
||
---
|
||
## SQL替换VIEW语句
|
||
|
||
## 介绍
|
||
|
||
View是一个数据库对象,它在一个或多个表中显示数据。用于创建视图的相同SQL语句也可用于替换现有视图。
|
||
|
||
本指南将使用略有不同且名称不同的视图更新(替换)现有视图“programming-students-v”。
|
||
|
||
安全提示:在对模式进行更改之前始终备份模式。
|
||
|
||
### 一般sytax
|
||
|
||
```sql
|
||
CREATE OR REPLACE VIEW view_name AS
|
||
SELECT column1, column2, ...
|
||
FROM table_name
|
||
WHERE condition;
|
||
```
|
||
|
||
### SQL用于创建视图和当前数据
|
||
|
||
```sql
|
||
create view `programming-students-v` as
|
||
select FullName, programOfStudy
|
||
from student
|
||
where programOfStudy = 'Programming';
|
||
```
|
||
|
||
```sql
|
||
select * from `programming-students-v`;
|
||
```
|
||
|
||
当前数据:
|
||
|
||
```text
|
||
+-----------------+----------------+
|
||
| FullName | programOfStudy |
|
||
+-----------------+----------------+
|
||
| Teri Gutierrez | Programming |
|
||
| Spencer Pautier | Programming |
|
||
| Louis Ramsey | Programming |
|
||
| Alvin Greene | Programming |
|
||
| Sophie Freeman | Programming |
|
||
+-----------------+----------------+
|
||
5 rows in set (0.00 sec)
|
||
```
|
||
|
||
现有视图的列表:
|
||
|
||
```sql
|
||
SHOW FULL TABLES IN fcc_sql_guides_database WHERE TABLE_TYPE LIKE 'VIEW';
|
||
```
|
||
|
||
```text
|
||
+-----------------------------------+------------+
|
||
| Tables_in_fcc_sql_guides_database | Table_type |
|
||
+-----------------------------------+------------+
|
||
| programming-students-v | VIEW |
|
||
| students-contact-info_v | VIEW |
|
||
| students_dropme_v | VIEW |
|
||
+-----------------------------------+------------+
|
||
3 rows in set (0.00 sec)
|
||
```
|
||
|
||
### 替换视图
|
||
|
||
```sql
|
||
create or replace view `programming-students-v` as
|
||
select FullName, programOfStudy, sat_score
|
||
from student
|
||
where programOfStudy = 'Programming';
|
||
```
|
||
|
||
```sql
|
||
select * from `programming-students-v`;
|
||
```
|
||
|
||
注意:视图现在显示sat\_score。
|
||
|
||
```text
|
||
+-----------------+----------------+-----------+
|
||
| FullName | programOfStudy | sat_score |
|
||
+-----------------+----------------+-----------+
|
||
| Teri Gutierrez | Programming | 800 |
|
||
| Spencer Pautier | Programming | 1000 |
|
||
| Louis Ramsey | Programming | 1200 |
|
||
| Alvin Greene | Programming | 1200 |
|
||
| Sophie Freeman | Programming | 1200 |
|
||
+-----------------+----------------+-----------+
|
||
```
|
||
|
||
注意:视图列表没有更改,我们的视图被替换。
|
||
|
||
```text
|
||
mysql> SHOW FULL TABLES IN fcc_sql_guides_database WHERE TABLE_TYPE LIKE 'VIEW';
|
||
+-----------------------------------+------------+
|
||
| Tables_in_fcc_sql_guides_database | Table_type |
|
||
+-----------------------------------+------------+
|
||
| programming-students-v | VIEW |
|
||
| students-contact-info_v | VIEW |
|
||
| students_dropme_v | VIEW |
|
||
+-----------------------------------+------------+
|
||
3 rows in set (0.00 sec)
|
||
```
|
||
|
||
\*与所有这些SQL事物一样,它们比本入门指南中的内容更多。我希望这至少足以让你开始。请参阅您的数据库管理员手册,并自己尝试不同的选项。 |