Microsoft® SQL Server™ 2000 数据库的主要用途是存储数据并使授权的应用程序和用户能够使用这些数据。数据库管理员创建和维护数据库时,用户使用的数据库的内容包括:
通过使用应用程序或实用工具向 SQL Server 发送数据检索和修改请求,从而实现访问和更改 Microsoft SQL Server 中的数据。例如,可以使用 SQL Server 企业管理器、SQL 查询分析器或者 osql 实用程序来连接到 SQL Server,然后开始使用 SQL Server 中的数据。
应用程序和实用工具使用两个组件来访问 SQL Server:
Transact-SQL 语句是使用"Transact-SQL 参考"中定义的 SQL 语言生成的。大多数操作是使用以下四个 Transact-SQL 语句之一实现的:
这四个语句组成了 SQL 语言的核心。理解 SQL 如何工作的很重要的一点在于理解这四个语句是如何工作的。
图形化或基于窗体的查询工具不要求任何 SQL 的知识。它们向用户提供了表格的图形化表示。用户可以通过图形方式选择要检索的列,然后方便地指定要检索的行的条件。
一些应用程序(如 SQL 查询分析器和 osql 实用工具)是执行 Transact-SQL 语句的工具。这些语句是通过交互方式输入或从文件读入的。若要使用这些工具,您必须能够生成 Transact-SQL 语句。
写入通用数据库 API(如 ADO、OLE DB、ODBC 或 DB-Library)的应用程序,也向 SQL Server 发送 Transact-SQL 语句。这些应用程序显示给用户的是反映它们所支持的业务功能的界面。当用户指示执行某个业务功能时,此应用程序使用一个数据库 API 将 SQL 语句传递给 SQL Server。您必须能够生成 Transact-SQL 语句来为这些类型的应用程序编码。
其它应用程序(如 SQL Server 企业管理器)使用对象模型来增加使用 SQL Server 的效率。SQL Server 企业管理器使用对象模型来减轻管理 SQL Server 的工作。API(如 SQL-DMO、SQL-DTS和复制组件)也使用相似的对象模型。对象本身使用 Transact-SQL 与 SQL Server 通讯。了解 Transact-SQL 语言有助于您理解这些对象。
"访问和更改数据基础知识"包含用于生成 Transact-SQL 语句的基本元素的信息。还提供关于 Transact-SQL 可执行函数的信息以及由数据库 API 提供的相似的功能。
SELECT 语句包含 Transact-SQL 语句中使用的常用元素。例如,若要从 Northwind 数据库中的 Customers 表选择住在 USA 的客户的名称 (name)、联系人姓名 (contact name) 和电话号码 (telephone number),请使用下列元素:
下面是检索此信息的 Transact-SQL 语法:
SELECT CompanyName, ContactName, Phone
FROM Northwind.dbo.Customers
WHERE Country = 'USA'
Transact-SQL 语句中使用的其它元素包括:
在 SQL Server 查询、报表和许多 Transact-SQL 语句中使用函数来返回信息,这与其它编程语言中使用的函数相似。它们使用输入参数并返回可以用于表达式的值。例如,DATEDIFF 函数使用两个 date(日期)和一个 datepart(日期单位)(weeks(周)、days(天)、months(月)等)作为参数,并且返回两个 date 之间的 datepart 单位的个数。
标识符是提供给对象(如表、视图、数据库和索引)的名称。可以指定标识符不带分隔符(例如 TEST)、带引号分隔符 ("TEST") 或位于方括号中 ([TEST])。
注释是在程序代码中非执行的备注。
表达式包含常量或字面值(例如 5 是数字)、函数、列名、算法、按位运算、标量子查询、CASE 函数、COALESCE 函数或 NULLIF 函数。
SQL Server 为自己的功能而保留的字词。建议避免使用这些保留关键字作为标识符。
空值是未知的值。可以使用 NULL 值来表明以后将提供此信息。例如,如果 Leka Trading 公司的联系人已更改并且不知道新联系人,则可以用 NULL 值来表示未知的联系人。
数据类型定义了数据存储的格式。例如,可以使用任何字符或 Unicode 数据类型(char、varchar、nchar 或 nvarchar)来存储字符数据(如客户名)。
批处理是作为一个单元传输和执行的语句组。某些 Transact-SQL 语句不能组合在一个批处理中。例如,若要在 pubs 数据库中创建五个新表,每个 CREATE TABLE 语句均必须在自己单独的批处理或单元中。下面是 Transact-SQL 批处理的示例:
USE Northwind SELECT * FROM Customers WHERE Region = 'WA'AND Country = 'USA'ORDER BY PostalCode ASC, CustomerID ASC UPDATE Employees SET City = 'Missoula'WHERE CustomerID = 'THECR'GO
控制流语言允许程序代码根据条件是否满足来执行操作。例如,如果订购的产品数量等于或少于现有的产品数量,则我们必须订购更多产品。
SQL Server 包含的运算符允许对数据执行特定操作。例如,使用算术运算符可以对数据执行数学运算(如加和减)。