表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化。因此如果查询语句不需要索引,就应该删除无用的索引以提高效率。
一、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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现