表中數據的變化牽一髮而動全身,會同時致使到索引中數據的變化。所以若是查詢語句不須要索引,就應該刪除無用的索引以提升效率。數據庫
一、基本插入語句express
insert用於向表中輸入數據,其具體的語法結構以下:服務器
INSERT INTO 表名稱 VALUES (值1, 值2,....)
咱們也能夠指定所要插入數據的列:spa
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
整個語法結構以下:rest
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}
示例:code
insert into country values('美國')
在SQL Server2008 中添加了新功能,容許一次插入多行,中間用逗號","分隔,如:blog
insert into country values ('美國'), ('英國');
二、INSERT INTO ... SELECT語句索引
當咱們須要用某些數據源做爲插入數據,怎麼辦。數據源如:it
INSERT INTO ... SELECT語句可完成一次插入一個數據塊的功能。其語法結構爲INSERT語句與SELECT語句語法結構的組合:io
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 表名稱 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 [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