全面接触SQL语法(7)

黄舟
发布: 2016-12-24 17:49:21
原创
1116人浏览过

表的删除 

   delete语句

  我们可以利用delete语句,将表格中的记录删除。(注意:记录被删除后,无法再复原,所以条件设置要正确)


delete[table.*]
from tableexpression
where criteria 
table
欲删除记录的表格名称,也可以用*来取代。 
tableexpression
一个或一个以上表格的名称。此一参数可以为单一的表格名称或是从inner join,left join,或rightjoin 等运算所得到的结果。 
criteria
决定表格中记录要被删除的标准。


  例如:

  若是我们要将职员表格中姓名姓名叫做'李名'的记录删除,我们可以利用下面的sql语句来完成。

  delete * from 职员表格

  where 姓名='李名'; 
  
  数据库表格相关的操作命令

  sql除了可以作为查询与数据库表格的建立的工具外,对于数据库与表格的新建、删修、与维护,与具有相当不错的功能,若是读者使用sql命令得宜,对于整个效率的提高有着很大的帮助,所以对于sql语句所带来的优势,常常会遇到一个情况,就是:“当我们对多个表格作复杂与多步骤的处理时,或许sql只要一个语句就可以完成所有的需求与目标”,乍看一下,或许觉得有些玄妙,但是接下来的章节,会让你了解其中的妙处。 

  select...into语句

  我们可以通过这个命令,利用既存表格查询,来建立一个新表格的查询语句。

select field1[,field2[,...]]into newtable[in externaldatabase]
from source 
field1,field2
欲拷贝到新表格的字段名称。 
newtable
欲建立之新表格的名称,不可是已经存在的表格。 
externaldatabase
若是该表格在另外的外部数据库时,该数据库的名称。 
source
记录数据拷贝的来源表格名称,可以是单一的表格或是一段sql查询之语句。
例如:
你可以通过下面的sql语句,来建立一个新的“训练名册”表格。
select 职员表格.姓名,职员表格.部门
into 训练名册 from 职员表格
where 职称='新进人员'; 


  
  inner join操作数

  当某一个共同的字段数据相等时,将两个表格的记录加以组合。


  
select fields
from table1 inner join table2
on table1.field1 compopr table2.field2 
table1,table2
欲进行记录组合的表格名称。 
field1,field2
欲组合的字段名称。(必须具有相同的数据类型) 
compopr
比较关系运算符如下:“=”,“<”,“>”,“<=”,“<>”等。
例如:
若是你要把分类表格与产品表格作组合,可参考下面的sql语句。
select 分类名称,产品名称
from 分类表格 inner join 产品表格
on 分类表格.分类编号=产品表格.分类编号; 


  
  union操作数

  我们可以通过union操作数来建立连接的查询条件,union操作数可以将两个以上的表格或是查询的结果组合起来。


[table]query1 union [all][table]query2 [union [all]
[table]queryn [...]] 
query1,query2,queryn
为一个select的语句,或是一个已存在的查询名称,或是一个已存在的表格名称。 


  例如:

  你可以利用下面的sql语句,将订单数量超过1000的顾客表格记录,与新客户表格作union的操作。


table 新客户表格 union all
select *
from 顾客表格
where 订单数量>1000; 
  




  alter语句

  在一个表格被建立之后,利用alter语句,我们可以去修改表格的字段设计。


alter table table
{add {column field type[(size)][constraint index]
|constraint multifieldindex}
|drop {column field|constraint indexname}} 
table
欲被alter的表格名称。 
field
要被增加或删除的字段名称。 
type
字段数据类型。 
size
字段大小。 
index
对此字段的索引。
例如:
在职员表格中新建一个“薪水”的字段。
alter table 职员表格
add column 薪水 currency; 
例如:
在职员表格中删除一个“薪水”的字段。
alter table 职员表格 drop column 薪水;


   
  drop语句

  针对所指定的表格或字段加以删除,或是把索引删除。

drop {table table|index index on table} 
table
欲删除之表格或索引依附之表格名称。 
index
欲从表格中删除的索引名称。
例如:
从职员表格中,删除编号索引。
drop index myindex on employees; 
例如:
从数据库中,删除整个表格。
drop table 职员表格;


  
  insert into语句

  新建一条数据到表格当中。 


  多条记录新建查询:


insert into target [in externaldatabase][(field1[,field2[,...]])]
select [source.]field1[,field2[,...]
from tableexpression 
单条记录新建查询:
insert into target[(field1[,field2[,...]])]
values(value1[,value2[,...]) 
target
新建记录的表格名称。 
externaldatabase
外部数据库的路径,搭配in条件子句使用。 
source
若是记录从其它表格中拷贝时,指明该表格的名称。 
field1,field2
欲增加数据的字段名称。 
tableexpression
表格名称或描述记录是从哪一个表格中插入的表格名称。配合inner join,left join,或 right join 运算符一起使用。 
value1,value2
欲插入表格中的数值。
例如:
在客户数据表格中,从新的表格插入数据。
insert into 客户数据表格
select 新客户数据表格.*
from 新客户数据表格; 
例如:
在职员表格中插入数据。
insert into 职员表格(姓名,生日,职称)
values("王荣","57/12/11","经理"); 
例如:
从训练人员表格中,将职员雇用时间超过30天者,加入到正式职员表格中。
insert into 职员表格
select 训练人员表格.*
from 训练人员表格
where 雇用天数>30;



  update语句

  建立一个update的查询,通过条件的限制来修改特定的数据。


update table
set newvalue
where criteria; 
table
欲修改数据的表格名称。 
newvalue
欲修改成的数值(将该项数值插入到特定的字段当中)。 
criteria
查询条件,用来决定要修改哪些记录。
例如:
若是要把订单表格中的订单数量修改成1.1倍,运费为1.03倍,可利用下列之sql语句来完成。
update 订单表格
set 订单数量=订单数量 * 1.1,运费=运费 * 1.03倍
where 运达地点='美国'; 
当我们完成修改后,你可以利用 select 语句,配合同样的 where 条件子句,来察看修改的数据是否正确。 
事实上,要利用sql完成某些看似复杂的操作,并不需要繁琐的sql命令组合,或是许许多多的步骤才能完成,其实最重要的还是要活用sql命令,才会在最精简的sql语句里获得最高的效率。 

 以上就是全面接触SQL语法(7)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

易语言学习手册 十天学会易语言图解教程  pdf版
易语言学习手册 十天学会易语言图解教程 pdf版

十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第

易语言学习手册 十天学会易语言图解教程  pdf版 3
查看详情 易语言学习手册 十天学会易语言图解教程  pdf版
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号