<p align="center"><font color="#FF0000" size="7">第四章 保存结果</font></p>
<p><font size="4"> 在以前的介绍中都是将结果显示在屏幕上。在关闭计算机之后,这些结果将会消失。本章讲述了如何将这些结果保存到一个表中,作为选择,还呆以将它们保存到一个视图中,视图类似于表。</font></p>
<p><font size="4"> 要想查看表或者视图的数据,必须使用以下命令:
select * from new_table or view;</font></p>
<p align="center"><font color="#FF0000" size="4">从select语句中创建一个新表
</font></p>
<p><font size="4">任务:
保存以下select语句的结果表,创建一个新的永久性的表</font></p>
<p><font size="4">。这里说明了如何更新select语句,并将结果保存到一个新表中,而不是将结果显示在屏幕上,这个新表被命名为sales_staff
</font></p>
<p><font size="4">select employee_id,
</font></p>
<p><font size="4">first_name,
</font></p>
<p><font size="4">last_name,
</font></p>
<p><font size="4">dept_code
</font></p>
<p><font size="4">from 1_employees
</font></p>
<p align="left"><font size="4">where dept_code='sal'
order by employee_id;<br>
在Access中,结果是这样的:<br>
select employee_id,<br>
first_name,<br>
last_name,<br>
dept_code<br>
into sale_staff<br>
from 1_employees<br>
whereb dept_code='sal'<br>;</font></p>
<p align="center"><font size="4"><font color="#FF0000">从select语句的结果中创建一个新的视图</font></font></p>
<p align="left"><font size="4"><br>
视图非常类似于表,您可以认为视图是表的一种特殊类型。<br>
Access中使用保存查询来代替视图,其实它们是一个意思。<br>
Access中使用图形用户界面GUI方法来创建一个保存查询。<br>
同样是上面的任务:<br>
在Access中,使用GUI将结果保存在视图中<br>
第一步:在SQL窗口中输入select语句 <br>
select employee_id,<br>
first_name,<br>
last_name,<br>
dept_code<br>
from 1_employees<br>
where dept_code='code'<br>
order by emplyee_id<br>
;
第二步:按下有红色感叹号的工具栏按钮来运行这个查询。<br>
第三步:保存这个语句<br>
第四步:为该查询输入一个名字。</font></p>
<p align="center"><font size="4"><br>
<font color="#FF0000">表和视图的相似之处</font></font></p>
<p align="left"><font size="4"><br>
表和视图非常的相似,他们的外观相似,它们都是可以包含相同类型数据的二级结构,它们都有列,行和单元。它们都可以用作数据的源。
一般不需要对表和视图进行区分,在谈到表时,常常是指视图或者表,在想要对表和视图做出区分时,常 常 将表称为基表或数据表。<br>
表和视图的不同之处<br>
表是直接将数据存储到磁盘中,而视图是将select语句存储到磁盘上,不会存储任务数据。<br>
表中的数据是稳定的,是不能自己改变的。而在视图中的数据是动态的,并在原始表中的数据发生变化时更改。<br>
在保存数据库其他地方没有的数据时,请使用表,在想要以新的方式显示数据时,请使用视图,。原始数据必须总是存在于数据库的表中。<br>
删除表<br>
可以使用命令drop table来删除表,该命令之后跟着的是表的名字。<br>
drop table seles_staff;<br>
在Access的另一种方法:GUI方法<br>
第一步:单击表选项卡。<br>
第二步:突出显示表的名字。<br>
第三步:按下删除键。</font></p>
<p align="left"><font size="4"><br>
<font color="#FF0000">删除视图</font></font></p>
<p align="left"><font size="4"><br>
删除视图和删除表是一样的。<br>
一个视图可以建立在另一个视图之上<br>
修改表中的数据<br>
添加新行到表中<br>
<strong>向Lunches数据库的1-foods表添加行。</strong>以下是两种方法:<br>
1.insert into 1_foods<br>
values('arr','ap',11,'apple pie',50,null);<br>
第二种方法只将数据放入在一些列当中:<br>
insert into 1_foods<br>
(producct_code,descriiption,supplier_id,price)<br>
values('bp','blueberry pie','arr',1.6);<br>
比较:表名之后没有列的列表。这意味着这些值将被 输入到表的所有列中<br>
。
为表的每一个列提供一个值。最后一个列包含一个null,并且必须将这个不加引号。<br>
commit rollback<br>
commit 是保存的意思。rollback是返回上一次保存点,。<br>
但在Access中并不支持这两个命令。它使用事务处理特性。<br>
<strong>添加若干新行到包含select语句的表中</strong><br>
insert into 1_foods<br>
(supplier_id,product_code,menu_item,description)<br>
select 'arr',<br>
product_code,<br>
menu_item,<br>
description<br>
from 1_foods<br>
where supplier_id='asp';<br>
<br>
<strong>更改已经存在于表的行中的数据</strong><br>
update tablename<br>
set colum1=value1,<br>
colum2=value2<br>
where condition;<br>
<strong>任务:对JBR和FRV提供的所有食物的price,price_increase列添加10美分。</strong><br>
update 1_foods<br>
set price=price+0.1,<br>
price_increase=price_increase+0.1<br>
where supplier_id in('jbr','frv');<br>
从表中删除行<br>
<strong>任务:从1_foods中删除supplier_id值cbc,jbr的所有行。</strong><br>
delete from 1_foods<br>
where supplier_id in('cbc','jbr'); </font></p>
<p> </p>
<hr align=left width=80% size=2 noshade>
<a href="D:\SQL\SQL基础\首页.html"><font color=green size=7><strong><u>返回首页</u></strong></font></a>