CARD是SQL中的关键字吗?或:所有SQL关键字的列表

时间:2019-02-01 21:24:02

标签: sql sql-server tsql sql-server-2017

我正在向数据库中添加一个表-CREATE TABLE dbo.Card-SSMS突出显示单词Card。我正在互联网上搜索,试图找出该词对SQL的含义以及是否为关键字。我没有看到它的微软列出SQL Reserved Words

上的任何地方

除了突出显示困扰我之外,我关心的主要原因是我想避免使用任何保留的单词或关键字作为schema / table / column / etc ...名称。当我绝对必须-现有数据库时-我喜欢使用方括号使事情变得明确。

Card是SQL中的保留字或关键字,还是出于任何其他原因不安全地用作标识符?

如果可以安全使用,谁能解释SSMS为何突出显示它?

如果使用100%安全作为表名,我很可能会选择其他名称。

Windows 8.1
SSMS v17.7
Red Gate - Up to date, including SQL Prompt 9.4.9
SQL Server 2017 (14.0)
Database Compatibility Level 2017 (140)

UPDATE

看起来主要共识是:

  1. 这不是保留字或关键字
  2. SSMS突出显示它是因为原因……它可能已被MS SQL Server或SSMS所使用

在这一点上,我只是很好奇,但至少我知道没有必要担心。谢谢大家的回答。

2 个答案:

答案 0 :(得分:1)

否,card不是Microsoft SQLServer或SQL ANSI标准中的反词。

答案 1 :(得分:0)

绝对不是SQL Server中的保留关键字

您可以查看保留字Reserved Keywords (Transact-SQL)的完整列表

  

SSMS突出显示它是因为原因……它可能被某处使用   MS SQL Server或SSMS

它们是Microsoft主观选择的各种关键字,并放在查询编辑器语法着色文件中的列表中。

我建议在指定表名和列名时使用带分隔符[]或“)总是很好。

例如,您正在使用的脚本应写为

CREATE TABLE [dbo].[Card](<Columns>)