create or replace view ASD求懂的人说一下数据库语句意思。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了create or replace view ASD求懂的人说一下数据库语句意思。相关的知识,希望对你有一定的参考价值。

参考技术A mysql中,使用CREATE OR REPLACE VIEW语句可以修改视图。视图存在时,可以对视图进行修改;视图不存在时,可以创建视图。

CREATE OR REPLACE VIEW语句的语法格式如下:
CREATE OR REPLACE [ALGORITHM=UNDEFINED|MERGE|TEMPTABLE]
VIEW 视图名[(属性清单)]
AS SELECT语句
[WITH [CASCADED|LOCAL] CHECK OPTION];

ALGORITHM:可选。表示视图选择的算法。
UNDEFINED:表示MySQL将自动选择所要使用的算法。
MERGE:表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。
TEMPTABLE:表示将视图的结果存入临时表,然后使用临时表执行语句。
视图名:表示要创建的视图的名称。
属性清单:可选。指定了视图中各个属性的名词,默认情况下,与SELECT语句中查询的属性相同。
SELECT语句:是一个完整的查询语句,表示从某个表中查出某些满足条件的记录,将这些记录导入视图中。
WITH CHECK OPTION:可选。表示修改视图时要保证在该视图的权限范围之内。
CASCADED:可选。表示修改视图时,需要满足跟该视图有关的所有相关视图和表的条件,该参数为默认值。
LOCAL:表示修改视图时,只要满足该视图本身定义的条件即可。追问

SQLserver2008怎么给用户指定权限

本回答被提问者采纳

关于 CREATE OR REPLACE 和动态更新数据库的问题

【中文标题】关于 CREATE OR REPLACE 和动态更新数据库的问题【英文标题】:Question on CREATE OR REPLACE and Updating Database Dynamically 【发布时间】:2021-06-21 21:16:01 【问题描述】:

我目前正在使用 XAMPP,MariaDB 版本 10.4.17 来存储使用 PHP 文件通过 HTTP POST 传输的数据,但我遇到了 CREATE OR REPLACE 函数

的问题
$query0= " DROP DATABASE IF EXISTS Gamma; ";
        $query1= "CREATE DATABASE Gamma";
        $query2=" USE Gamma";
        $query3="**CREATE TABLE OR REPLACE** Gamma.Tesla(id int NOT NULL AUTO_INCREMENT, logtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, IMFV float NOT NULL, IMMV float NOT NULL, SMFV float NOT NULL, SMMV float NOT NULL, PRIMARY KEY(id))";
        $query4= "**CREATE TABLE OR REPLACE** Gamma.Imagevalues(id int NOT NULL AUTO_INCREMENT, Imageid int NOT NULL, PRIMARY KEY(id))";

如果我删除 Tesla 表,为什么它不会在从 HTTP POST 接收到新数据时自动重新创建表

另外,如果有一些数据丢失,我该如何确保启用自动增量的 ID 列 重置其值,如下例所示:

| id | Values | Log Time     |
| ---| -------| -------------|
| 1  | 20     | April 2 22:15|
| 2  | 100    | April 2 22:20| // DELETE ROW 2
| 3  | 35     | April 2 22:30|
| 4  | 65     | April 2 22:50|

稍后在 4 月 3 日 00:10 收到数据时

| id | Values | Log Time     |
| ---| -------| -------------|
| 1  | 20     | April 2 22:15|
| 2  | 35     | April 2 22:20| // Updated ROW 2 with previous values
| 3  | 65     | April 2 22:30|
| 4  | 99     | April 3 00:10| // New Data POSTED at Apr 3 00:10

【问题讨论】:

【参考方案1】:

CREATE OR REPLACE 不适用于CREATE TABLE statement。

您需要 2 个单独的语句 - 首先您必须删除现有表(如果存在)然后创建一个表:

DROP TABLE IF EXISTS Gamma.Tesla;
CREATE TABLE Gamma.Tesla( .. );

【讨论】:

以上是关于create or replace view ASD求懂的人说一下数据库语句意思。的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 5.7 create VIEW or FUNCTION or PROCEDURE

oracle视图可以update吗

关于 CREATE OR REPLACE 和动态更新数据库的问题

view update

CREATE OR REPLACE 语句会影响雪花的时间旅行吗?

BigQuery 中的 CREATE OR REPLACE 是不是有助于先前分区表的配额?