SQL Server SQL脚本 SQL Server添加数据 SQL Server查询设计器 SQL Server SQL脚本 本节的主要内容是要教大家怎么通过编写 SQL 脚本来查询、更新并且运行数据库。 利用 SQL 脚本我们能做很多事情,比如插入数据、读取数据、更新数据以及删除数据等;它们也可以用于创建数据库对象,如表,视图,存储过程,他们甚至可以用于创建整个数据库、数据、用户等。 什么是 Transact-SQL SQL Server 支持 Transact-SQL 作为脚本语言。 Transact-SQL 是基于 SQL(结构化查询语言),它是用于应用程序和它们的数据库之间的接口的编程语言。 Transact-SQL 是一个相对容易的语言学习,这里提到的 SQL 脚本,意思就是一个 Transact-SQL 脚本。 SQL 语句 SQL 脚本通常由一个或多个“语句”得来的,每个语句告诉 SQL Server 该怎么做。 SQL 脚本可以包含许多语句。例如,SQL 脚本可以包含一个语句创建一个表,另一份声明将数据插入到该表,而另一份语句中,以选择所有刚刚插入到表中的数据。事实上,SQL 有用于确切操作的具体语句:CREATE语句,INSERT语句和SELECT语句。 SQL语句示例 最简单的 SQL 语句就是 SELECT 语句。 下述是一个SELECT语句最简单的例子: SELECT * FROM Tasks 上述语句表示从任务表中选择所有列,其中(*)表示 “所有列”。 稍微修改上述语句就可以只返回一个特定的列。 我们添加一个 WHERE 子句来过滤数据,只选择我们想要的数据: SELECT TaskName FROM Tasks WHERE StatusId = "3" 上述语句从任务表 TaskName 中选择特定列,只返回那些具有 StatusId 为3的记录,值为3 的记录表示了具体的意思。在我们的 TaskTracker 数据库中,我们将创建一个新的表称为Status,我们将指定“3”是指什么。这些数字只是在 StatusId 字段中(我们指定为标识列 - 一个自动编号)的值。这些数字在 StatusName 字段每个相应值将告诉我们实际上是什么状态。 然后,一旦我们已经创建了状态表中,我们可以修改上面的SQL语句,以包括状态表,以便我们可以编写为WHERE StatusName=“To Do”,而不是试图记住“To Do”数字是什么。 使用SQL脚本创建表 下面使用SQL脚本在我们的数据库中新建一个名为 Status 的表。 在此脚本中,我们并不容许任何 NULL 字段(因此 NOT NULL 毗邻每一列)。 我们也将创建主键 StatusId 字段,我们设定的默认值的 dateCreated 字段,使用(getdate())。 请执行以下操作: 将脚本复制到剪贴板 在 SQL Server 管理套件,单击工具栏上的新建查询按钮 将脚本粘贴到查询窗口 点击该工具栏上的执行按钮: 一旦脚本运行,你应该看到一条消息,读取命令已成功完成。 下面提供的是脚本: CREATE TABLE Status( StatusId int IDENTITY(1,1) NOT NULL, StatusName varchar(50) NOT NULL, DateCreated datetime NOT NULL CONSTRAINT DF_Status_DateCreated DEFAULT (getdate()), CONSTRAINT PK_Status PRIMARY KEY CLUSTERED (StatusId) ) 键盘快捷键 注:也可以通过键盘上的 F5 键来运行一个查询。 另外,你甚至可以通过选择要运行的部分,然后按 F5 运行查询的一部分。 这包含大量的 SQL 语句的较大的脚本,但是,当由于某种原因,只要运行的一个或两个(或甚至运行所有这些,但只是一次一个)。 通过SQL脚本添加数据 通过 SQL 脚本添加数据将使用 INSERT 语句将数据插入到指定的表。 你可以使用脚本插入数据到所有列在表中,或者只是那些指定的表。 使用下面的脚本将数据插入 Status 表,然后选择该数据: INSERT INTO Status (StatusName) VALUES ('To Do'); INSERT INTO Status (StatusName) VALUES ('In Progress'); INSERT INTO Status (StatusName) VALUES ('Done'); SELECT * FROM Status 这里是这个样子的: 正如你所看到的,查询的结果显示在底部窗格中。 交叉参考数据 现在,我们已经得到了 Status 表,让我们把值添加到任务表的 StatusId 字段中(还记得我们保留那个字段为空的所有记录,因为我们还没有Status表)。 所以我们增加值要将任务表链接到 Status 表。在任务表中的每个记录现在将有一个 StatusId,它的值可能是 1,2 或 3(在状态表的 StatusId 字段中匹配的值)。 现在,我们需要使用 UPDATE 语句(因为我们正在更新记录,而不是插入新的)。 运行下面的脚本: UPDATE Tasks SET StatusId='1' WHERE TaskId='1'; UPDATE Tasks SET StatusId='1' WHERE TaskId='2'; UPDATE Tasks SET StatusId='2' WHERE TaskId='3'; UPDATE Tasks SET StatusId='3' WHERE TaskId='4'; UPDATE Tasks SET StatusId='3' WHERE TaskId='5'; UPDATE Tasks SET StatusId='2' WHERE TaskId='6'; UPDATE Tasks SET StatusId='1' WHERE TaskId='7'; SELECT * FROM Tasks 现在应该看到其 StatusId 字段中填写的所有记录您的任务表: 合并脚本 事实上,我们可能只是很容易地结合上述所有脚本并运行它们为一体。我只保留了它们,才能分离出来,使其更易于了解哪些部分做什么。 更多关于 SQL 语句的至少,请看SQL教程。 区分大小写 SQL 语句不区分大小写。 下面的语句都是执行同样的事情: SELECT * FROM TASKS SELECT * FROM Tasks Select * From Tasks select * from tasks 数据库管理 大多数的数据库管理任务(如创建用户,备份等),可以在 SSMS 通过图形用户界面进行编程,可以通过 SQL 脚本来执行。 本教程集中使用的图形用户界面,主要是因为它通常是一个更容易为新用户得到一个简单的入门。 当你更熟悉 SQL Server,就可以使用 SQL 脚本来执行许多任务,也可通过图形用户界面做自己的事情。 SQL Server添加数据 SQL Server查询设计器