在sql视图的删除
A. sql怎么清空视图
视图是动态查询你的表的结果的,不能清空。
举个例子:
create view emp_dept_view
as
select emp.*,dept.dname,dept.loc from emp
inner join dept on emp.deptno=dept.deptno
那么视图查询出来的结果随着emp,dept 变化的
视图本身是不包含数据的(物化视图除外,它是一个查询的快照)
B. sql问题删除视图中的数据,表中的数据会删除吗
如果你那个视图,是 单表的, 没写 触发器的。x0dx0ax0dx0a那么 如果 删除视图中的数据 成功了,那么 表中的数据 就被删除了。 x0dx0ax0dx0a如果那个视图, 写了个 INSTEAD OF 触发器. 但是里面没有任何删除的动作。x0dx0a那么 可能你 DELETE FROM 视图, 最后表的数据,一点也没变化, 也是可以的。x0dx0ax0dx0a1> CREATE VIEW v_main_sub ASx0dx0a2> SELECTx0dx0a3> test_main.id AS main_id,x0dx0a4> test_main.value AS main_value,x0dx0a5> test_sub.id AS sub_id,x0dx0a6> test_sub.value AS sub_valuex0dx0a7> FROMx0dx0a8> test_main, test_subx0dx0a9> WHEREx0dx0a10> test_main.id = test_sub.main_id;x0dx0a11> gox0dx0ax0dx0a1> SELECT * FROM v_main_sub;x0dx0a2> gox0dx0amain_id main_value sub_id sub_valuex0dx0a----------- ---------- ----------- ----------x0dx0a 1 ONE 1 ONEONEx0dx0a 2 TWO 2 TWOTWOx0dx0ax0dx0a(2 行受影响)x0dx0ax0dx0a1> UPDATE v_main_subx0dx0a2> SET main_value='ONX'x0dx0a3> WHERE main_id = 1;x0dx0a4> gox0dx0ax0dx0a(1 行受影响)x0dx0ax0dx0a1> UPDATE v_main_subx0dx0a2> SET sub_value='ONXONX'x0dx0a3> WHERE main_id = 1;x0dx0a4> gox0dx0ax0dx0a(1 行受影响)x0dx0ax0dx0a1> DELETE FROM v_main_sub WHERE main_id = 1;x0dx0a2> gox0dx0a消息 4405,级别 16,状态 1,服务器 GMJ-PC\SQLEXPRESS,第 1 行x0dx0a视图或函数 'v_main_sub不可更新,因为修改会影响多个基表。x0dx0ax0dx0a1> CREATE TRIGGER v_main_sub_triggerx0dx0a2> ON v_main_subx0dx0a3> INSTEAD OF DELETEx0dx0a4> ASx0dx0a5> DECLAREx0dx0a6> @main_id INT,x0dx0a7> @sub_id INT;x0dx0a8> BEGINx0dx0a9> SELECT @main_id=main_id, @sub_id=sub_id FROM deleted;x0dx0a10>x0dx0a11>x0dx0a12> PRINT(@main_id);x0dx0a13> PRINT(@sub_id);x0dx0a14> END;x0dx0a15> gox0dx0ax0dx0a1> DELETE FROM v_main_sub WHERE main_id = 1;x0dx0a2> gox0dx0a1x0dx0a1x0dx0ax0dx0a(1 行受影响)x0dx0a1> DELETE FROM v_main_sub WHERE sub_id = 1;x0dx0a2> gox0dx0a1x0dx0a1x0dx0ax0dx0a(1 行受影响)x0dx0ax0dx0a对于多表关联的视图, 删除的时候,需要人为的去判断x0dx0a例如当 主表 和 子表,都只有一条记录的情况下。x0dx0a无法判断 本次删除, 是要删除掉一个子表的记录,留下主表的。x0dx0a还是 主表 子表的数据,一同删除。
C. SQL中视图的创建。修改,删除
创建视图
CREATE [OR REPLACE] VIEW 视图名(列1,列2...)
AS SELECT (列1,列2...)
FROM ;
[WITH [CASCADED|LOCAL] CHECK OPTION]
修改视图
CREATE OR REPLACE VIEW 视图名 AS SELECT [ ] FROM [ ];
[WITH [CASCADED|LOCAL] CHECK OPTION]
删除视图
drop view 视图名称
(3)在sql视图的删除扩展阅读:
查看视图
show tables;
desc 视图名
查看视图定义
show create view 视图名称G
通过视图变更数据
insert into 视图名
update 视图名
[WITH [CASCADED|LOCAL] CHECK OPTION] 决定了是否允许更新数据记录不再满足视图的条件。
local只要满足本视图的条件就可以更新
cascaded则必须满足所有针对该视图的所有视图的条件才可以更新,默认是cascaded。
为了防止通过视图修改导致数据无故丢失,建议加上WITH CHECK OPTION
参考资料来源:网络-SQL语句
D. sql语言中删除一个视图的命令是
sql语言删除一个视图的命令是: drop view 视图名 ;
视图差不多类似一个别名,并不另外占用空间,非必要尽量不要删除吧,如果能查询顺手一点也是好的。
E. 如何清除SQL数据库中的数据
单击开始---->所有程序---->MicrosoftSQLServer2014,选择SQLServer2014ManagementStudio选项,打开软件。
2.连接到服务器窗口中,输入服务器名称,选择SQLServer身份验证,输入登录名和密码,连接进入数据库。
3.在左侧对象资源管理器中,展开数据库选项,找到NewData数据库。
4.在NewData数据库上右击,选择删除操作。
5.删除对象窗口中,选择删除数据库备份和还原历史记录信息选项,同时选择关闭现有连接选项,单击确定。
6.可以看到,SQLServer中的NewData数据库已删除。
7.打开SQLServer安装目录中的DATA文件夹,NewData数据库已没有了,说明NewData数据库成功删除。
(5)在sql视图的删除扩展阅读:
SQL是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(basetable);存储模式(内模式)称为“存储文件”(storedfile);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^:
SQL包括了所有对数据库的操作,主要是由4个部分组成:
数据定义:这一部分又称为“SQLDDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
数据操纵:这一部分又称为“SQLDML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
参考资料:IT专家网-微软SQL
F. SQL中视图的创建。修改,删除
1、创建视图
CREATE [OR REPLACE] VIEW 视图名(列1,列2...)
AS SELECT (列1,列2...)
FROM ...;
[WITH [CASCADED|LOCAL] CHECK OPTION]
(6)在sql视图的删除扩展阅读:
SQL语言基本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。
可以看出标准化的工作是很有意义的。早在1987年就有些有识之士预测SQL的标准化是“一场革命”,是“关系数据库管理系统的转折点”。
数据库和各种产品都使用SQL作为共同的数据存取语言和标准的接口,使不同数据库系统之间的互操作有了共同的基础,进而实现异构机、各种操作环境的共享与移植。
参考资料:网络-SQL
G. sql创建的数据库视图有null语句怎么删了
在mysql中,可以利用delete语句配合“NULL”删除空的数据,该语句用于删除表中的数据记录,“NULL”用于表示数据为空,语法为“delete from 表名 where 字段名=' ' OR 字段名 IS NULL;”。
H. SQL在视图删除记录,相应的表的记录会删掉吗
会的,因为视图只是保存的结构,在上面的操作事实上都是对基础表的操作。
所以应慎重 .
你可以自己创建测试,来测试验证一下
I. sql视图中的数据怎么清空
删除视图用
1
drop view 视图名;
但是数据没法删除,因为视图的数据来源于其他表或其他视图,只能通过删除其他表里的数据来删除所谓的视图数据。
视图简介:
计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。也是机械制图术语,在机械制图中,将物体按正投影法向投影面投射时所得到的投影称为“视图”。
J. sql语句中删除视图的命令是
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )