如何使用SQL Server数据库脚本创建数据库?

日期: 2017-10-19 作者:Brien Posey翻译:杨宏玉 来源:TechTarget中国 英文

你可以手工创建SQL Server数据库,但懂得如何设置数据库脚本是十分必要的。以下是执行数据库创建脚本所涉及的步骤。 你可以手动创建SQL Server数据库,也可以执行脚本创建数据库,后者让创建流程更容易被复用。实际上, 一些微软服务器产品都使用了脚本技术,作为其安装过程的一部分。

编写一个SQL Server数据库创建脚本非常简单,甚至不需要使用微软的PowerShell脚本语言和引擎。下面图1中是使用记事本编写的创建SQL Server数据库示例脚本。 这三行代码中的第一行用来检查我们当前正在创建的数据库是否存在。在这种情况下,脚本会检查在主数据库中是否存在的一个名为Demo的数据库。

……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

你可以手工创建SQL Server数据库,但懂得如何设置数据库脚本是十分必要的。以下是执行数据库创建脚本所涉及的步骤。 你可以手动创建SQL Server数据库,也可以执行脚本创建数据库,后者让创建流程更容易被复用。实际上, 一些微软服务器产品都使用了脚本技术,作为其安装过程的一部分。 编写一个SQL Server数据库创建脚本非常简单,甚至不需要使用微软的PowerShell脚本语言和引擎。下面图1中是使用记事本编写的创建SQL Server数据库示例脚本。 这三行代码中的第一行用来检查我们当前正在创建的数据库是否存在。在这种情况下,脚本会检查在主数据库中是否存在的一个名为Demo的数据库。第二行代码用于创建新的数据库,正如你看到的那样,这非常简单。 最后一行的代码告诉SQL这是块指令集的结束,然后它将执行该脚本并创建数据库。如图所示,脚本的文件名都是以.SQL作为扩展名的。这是必须的,以便SQL数据库能够正确地识别脚本。

1  该脚本创建一个名为Demo的数据库

使用SQL Server数据库创建脚本,你必须打开SQL Server Management Studio(SSMS)。以本文为例,我使用的是SQL Server 2016,其主要安装程序中并不包括SSMS。因此,你需要从微软的网站单独下载安装SSMS 打开SSMS之后,点击工具栏的“Open File”图标,然后选择您的脚本。你会看到脚本代码被显示在SSMS窗口中,如图2所示。

数据库创建脚本显示在SSMS

此外, 一行新的图标会被添加到“Open File”图标下的工具栏中。确保工具栏上的下拉菜单设置为Master, 如图2所示。这表明创建数据库脚本将在主数据库上运行。接下来单击Execute按钮执行该脚本。 当执行完成后,你应该会看到一条消息表明脚本执行成功,如图3的底部所示。你还会看到控制台树中列出的新数据库。记住,,我们的脚本是为了创建一个名为Demo的数据库,你可以在下图中看到新创建的数据库Demo

Demo数据库已创建

现在, 让我们看一看如何编写一个在新建数据库中创建表的脚本。下面是一些可供参考的示例代码,如下图4所示。 代码首先检查名为MyTable的表是否存在。如果表不存在, 它就会被创建。新表将包含三列:一个主键命名为Id,以及独立的名称和取值列。注意,在脚本中定义列要用逗号分隔。

这个脚本创建一个名为MyTable的数据库表

我们可以使用类似于执行创建数据库脚本的方式来执行该脚本,但需要注意的是这两者之间存在一个明显的区别。我们需要选择Demo下拉菜单, 而不是选择Master, 这样才能在Demo数据库中创建表。具体情况如图5所示。

Demo数据库正在运行这个脚本

当执行完脚本后,新表就会被创建。你要通过单击右键刷新数据库,并选择“Refresh”命令,刷新显示新表。图6显示了新表及其列信息。

脚本已创建一个包含三列的新数据库表

说实话,手动创建数据库和表可能会更快。但是,通过使用SQL Server数据库创建脚本,让我们可以根据实际需要,以更加一致的方式添加新版本的数据库和数据库表,这是手动方式无法轻易完成的。

翻译

杨宏玉
杨宏玉

TechTarget特邀编辑。北京邮电大学计算机科学与技术专业硕士。熟悉软件开发流程,对系统管理,网络配置,数据库应用等方面有深入的理解和实践经验。现就职于IBM(中国)投资有限公司,从事IBM服务器相关软件的开发工作。业余时间喜欢游泳登山,爱健身,喜欢结交朋友。

相关推荐