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
关于 CREATE OR REPLACE 和动态更新数据库的问题