了解SQL定义语法

时间:2016-05-05 13:22:45

标签: sql sql-server

我是编写SQL的新手,但我希望自己变得更好。我从未真正理解的一件事是如何解释任何给定对象的构造语法。以下是从https://msdn.microsoft.com/en-us/library/ms190312.aspx获取的OPENROWSET定义示例。我理解管道" |"代表" OR"但不确定其他标签。有没有一个学习如何解释这个的好地方?

OPENROWSET 
( { 'provider_name' , { 'datasource' ; 'user_id' ; 'password' 
   | 'provider_string' } 
   , {   [ catalog. ] [ schema. ] object 
       | 'query' 
     } 
   | BULK 'data_file' , 
       { FORMATFILE = 'format_file_path' [ <bulk_options> ]
       | SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} ) 

<bulk_options> ::=
   [ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ] 
   [ , ERRORFILE = 'file_name' ]
   [ , FIRSTROW = first_row ] 
   [ , LASTROW = last_row ] 
   [ , MAXERRORS = maximum_errors ] 
   [ , ROWS_PER_BATCH = rows_per_batch ]
   [ , ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) [ UNIQUE ]

2 个答案:

答案 0 :(得分:4)

在引用SQL Server的 Microsoft Docs (以前的MSDN)的每个页面上(甚至约OPENROWSET)都有一个名为 Transact-SQL语法约定的链接(@Ghost在评论中发布)

Transact-SQL Syntax Conventions link

link将引导您进入页面,其中包含您所寻求的SQL语法约定的说明。

答案 1 :(得分:2)

我认为理解此语法的最简单方法是直观 Railroad Diagram

如何使用它:

  1. 从文档中获取语法
  2. 粘贴到Grammar Translator written by Colin Daley
  3. 您可能需要手动更正某些错误(例如缺少括号''
  4. 点击生成铁路图
  5. 从头到尾学习
  6. enter image description here

    使用http://bottlecaps.de/rr/ui

    生成的图像

    您还可以搜索Railroad Diagrams的{​​{1}}。

    SQL Server CREATE TABLE syntax diagrams

      

    最重要的语法:

         
        
    • 可选项目用方括号括起来
    •   
    • 表达式组用大括号括起来
    •   
    • A'|'是一个二元运算符,意思是'或'。
    •