当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 全面接触SQL语法(7)

MSSQL
精细讲述SQL Server数据库备份多种方法
让SQL Server也能使用2G以上内存
SQL Server数据库崩溃恢复之法
创建区分大小写的SQL Server 2000实例
SQL Server中易混淆的数据类型
如何优化SQL Server数据库查询
使用Robot连接SQL的例子
如何让你的SQL运行得更快
对Sql Server中的表添加级联更新和级联删除
常用SQL语句书写技巧
SQL Server与Oracle实施成本上的差异
解析SQL Server的数据类型 BLOB
SQL Server数据库和XML标识语言的集成
SQLServer 数据库还原和孤立用户的解决办法
SQL Server 2000/2005 分页SQL
Sql Server锁表
SQLServer2005实现远程数据库备份
SQL精妙语句
SQL Server 2008的逻辑查询处理步骤
如何让你的SQL运行得更快

MSSQL 中的 全面接触SQL语法(7)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 38 ::
收藏到网摘: n/a

  表的删除

   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[,...]