1、sql server 建立表时,表名为什么加"[ ]"?如create table [dbo].[nId]
用方括号可以避免你创建的表,或查询与一些SQL SERVER自带的关键字发生冲突。
例如你要用SQL 语句创建一个表,其中有一个字段名称为 Key,这时候这条语句就有可能报错,如果加上方括号就可以成功的创建。 对于数据库表名称来说也是这个道理。当然如果你数据库设计的时候避免了上面说的情况,那么不加方括号也没问题的, 一般还是建议习惯加上方括号。这样可以避免很多潜在的隐蔽性比较强的错误,有时候我编程的时候就会碰到这样的情况。 程序报错了,但是呢把生成的SQL 语句拿到查询分析器里面又检查不出语法错误,还可以运行。但是放到代码中就不行了。找了半天才找到原因。
[dbo].[nId] ,dbo是权限用户 表示你当前要创建的表要属于哪个权限 可写也可不写,因为他的默认就是dbo
[] 主要的作用就是为了解决 你的表名是 系统关键字 包括字段 也可以加[]来区分是你的字段还是系统关键字
2、Sql server 数据库里区分关键字的大小写?
默认情况下是不区分的,可以通过手动设置数据库的属性来区分大小写,也可以通过在查询语句后添加 collate Chinese_PRC_CS_AS_WS
来区分大小写