SQL Server 2008——SQL命令INSERT

T-SQL的INSERT命令的语法:
INSERT [INTO]
{table_name|view_name}
[{(column_name,column_name,…)}]
{VALUES (expression,expression,…)}
方括号内是可选的。
列名的列表必须用圆括号包围住,逗号分隔。
关键字VALUES是必须的,数据值用圆括号包围,逗号分隔。
最好是尽量避免在名称中包含空格;
如果表或视图的名称与保留字相同或包含空格,则必须用方括号或双引号将名称包围起来。
不过,如果确实需要,那么最好使用方括号,因为有时要把列数据值设置为类似Acme's Rockets的值,此时用双引号包围Acme's Rockets便于添加数据,如下所示:
VALUES
(...
"Acme's Rockets",
...)
当用双引号来替代方括号包围表或视图名称时,是在使用引用标识符,也就是在创建数据库时,使用了如下设置:
SET QUOTED_IDENTIFIER ON
如果数据库设置了“SET QUOTED_IDENTIFIER ON”,那么就不能使用双引号包围类似Acme's Rockets这样的数据值了。
为了确保查询编辑器设置为允许以双引号分隔字符串,可以在任何需要用到引号的查询处,放置下面的代码:
SET QUOTED_IDENTIFIER OFF
GO
注意,使用SET QUOTED_IDENTIFIER OFF有一个隐藏的麻烦:当使用T-SQL命令时,许多时候可能要用双引号来包围保留字,而非方括号;然而,如果将QUOTED_IDENTIFIER设置为OFF,就只能用方括号包围保留字。如果将QUOTED_IDENTIFIER设置为ON,则无法在名称中输入类似与Acme's这样的字符串,而必须把代码中的单引号用两个单引号来表示:
VALUES
(...
'Acme''s Rockets',
...)
如果没有在INSERT语句中指定列,那么提供的数据值的数目必须与要在其中进行插入的表的列数相同;如果指定了列的列表,则数据值的数目必须与INSERT语句中指定列表中的列数相同。
建议永远指明列名,即便是以列在表中布局的顺序向表的所有列中插入数据。
能够从一个INSERT语句插入多行数据,要实现这一目的,可以把要添加的每一行用它自己单独的一对圆括号包围起来,而各对圆括号之间用逗号分隔开,如下:
VALUES
(...
"Acme's Rockets",
...),
(...
"Tom's Rockets",
...),
…
SQL Server 2008——SQL命令INSERT的更多相关文章
- SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...
- sql server 2008 sql prompt 自动提示
sql server 2008 在编写SQL脚本的时候,总是希望能提示一些信息,或者自动提示需要查询的表的名字,或者表的基本信息,sql server默认会有一些提示的,如果没有可以设置工具--> ...
- SQL Server 2008 R2 的版本和组件
SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...
- SQL Server 2008性能故障排查(一)——概论
原文:SQL Server 2008性能故障排查(一)--概论 备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处.由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节 ...
- SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原
sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :htt ...
- SQL Server 2008在Windows 10上不支持
https://support.microsoft.com/en-us/kb/2681562 For SQL Server 2008 R2 SQL Server 2008 R2 is not supp ...
- SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输
SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输 微软高兴地宣布所有主流SQL Server客户端驱动和SQL Server发行版已经支持T ...
- Windows2003操作系统SQL Server 2008安装图解(详细)
最近不少用户在windows2003 server 32位操作系统上安装SQL Server2008总是失败,出现大量错误.今天经过通过我反复测试安装,找出了一个便捷的安装方法,节省大家宝贵时间,具体 ...
- SQL server 2008数据库的备份与还原(转)
一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsi ...
随机推荐
- Shape画圆形控件
这里涉及到shape的运用,这仅仅是一个实例 circle.xml <?xml version="1.0" encoding="utf-8"?> & ...
- Eclipse SDK Android Studio 下载地址
https://developer.android.com/sdk/index.html#download 这个网址可以下载需要的东西,FQ的话可以给 xifulinmen@gmail.com 发一个 ...
- .Net Standard 类库的创建和使用
一..Net Standard类库的创建 1.在当前Vs 2017中创建.Net Standard 类库项目,目前版本默认值 .Net Standard v1.4 二..Net Standard类库的 ...
- [转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境
FROM : http://www.cnblogs.com/eleganthqy/archive/2010/02/28/1675217.html 最近转向到了使用ubuntu做桌面,安装好系统以来一直 ...
- [Link]Gearman分布式任务处理系统
http://blog.csdn.net/jiao_fuyou/article/category/1745977 http://www.cnblogs.com/cocowool/archive/201 ...
- django的权限认证:登录和退出。auth模块和@login_required装饰器
在settings.py中配置LOGIN_URL参数: # 用户访问带有(@login_required)标签的页面(view)时,如果没有登录,就会跳转到LOGIN_URL(即登陆url). LOG ...
- java操作mongodb(连接池)(转)
原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...
- python将控制台输出保存至文件
很多时候在Linux系统下运行python程序时,控制台会输出一些有用的信息.为了方便保存这些信息,有时需要对这些信息进行保存.这里介绍几种将控制台输出保存到文件中的方式:1 重定向标准输出流重定向标 ...
- 【Error】centos7 minimal connect: Network is unreachable
参考链接:http://www.centoscn.com/CentosBug/osbug/2015/1208/6500.html 由于centos7 和之前的版本差异比较大,之前的一些命令不能完全使用 ...
- Backbone.js 中使用 Model
前面几篇 Backbone.js 的例子中有使用到 template, 及数据的填充,其实这已经很接近 Model 了.现在来学习怎么创建自己的 Model 类,并简单的使用.Backbone.js ...