SQL语句 - 数据操作

SQL语句 - 数据操作

  表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化。因此如果查询语句不需要索引,就应该删除无用的索引以提高效率。

一、INSERT语句

  1、基本插入语句

  insert用于向表中输入数据,其具体的语法结构如下:

  INSERT INTO 表名称 VALUES (值1, 值2,....)

  我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

   整个语法结构如下:

  INSERT [TOP (<expression>) [PERCENT] ] [INTO] <tabular object>
  [(<column list>)]
  [ OUTPUT <output clause> ]
  {VALUES( <data values> )[,(<data values>)] [m...n] | <table source> | EXEC <prodecure> | DEFAULT VALUES}  

  示例:

  insert into country values(美国‘)

  在SQL Server2008 中添加了新功能,允许一次插入多行,中间用逗号","分隔,如:

insert into country 
values
  (美国),
  (英国‘);

  2、INSERT INTO ... SELECT语句

   当我们需要用某些数据源作为插入数据,怎么办。数据源如:

    •    数据库中的另一张表
    •    同一服务器上完全不同的数据库
    •    来自另一SQL Server的一类查询或其他数据
    •    同一表

   INSERT INTO ... SELECT语句可完成一次插入一个数据块的功能。其语法结构为INSERT语句与SELECT语句语法结构的组合:

INSERT INTO <table name>
[<column list>]
<SELECT statement>

   示例:

技术分享
DECLART @MyTable Table
(
     SalesOrderID int,
     CustomerID char(5)              
)

INSERT INTO @MyTable
    SELECT SalesOrderID,CustomerID
    FROM AdventureWorks2008.Sales.SalesOrderHeader
    WHERE SalesOrderID BETWEEN 44000 AND 44010;
技术分享

二、UPDATE语句

  update语句用于更新表中的数据,其最简单的语法结构如下:

  UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

  完整的语法结构如下:

UPDATE [TOP (<expression>) ] [PERCENT] <tabular object>
SET <column> = <value> [.WRITE(<expression>,<offset>,<length>)]
[,<column> = <value> [.WRITE(<expression>),<offset>,<length>)]]
[OUTPUT <source table(s)>]
[WHERE <restrictive condition>]   

  基本语法结构:

UPDATE <table name>
SET <column> = <value> [,<column> = <value>]
[FROM <source table(s)>]
[WHERE <restrictive condition>]

  示例:

  update country set countryname = 中国where countryid = 4

三、DELETE语句

  DELETE语句用于删除表中的数据,DELETE语句的完整语法结构如下:

DELETE [TOP ( <expression> ) [PERCENT] [FROM] <tabular object> ]
[ OUTPUT <output clause> ]
[FROM <table or join condition>]
[WHERE <search condition> | CURRENT OF [GLOBAL] <cursor name>]

  其基本的语法结构如下:

  DELETE FROM 表名称    [WHERE 列名称 = 值]

  示例:

  delete from country where countryid = 4

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。