几行代码创建属于你自己的SQL数据库

创建数据库有多重方法,如可以使用企业管理器创建数据库,也可以使用向导创建数据库。上面两种方法操作都很简单,但却有一个很大的缺点就是他很难大规模重复。换句话说,如果你创建一个准备重新分布到世界各地的数据库,对于一个没有经验的用户来说,应付SQL企业管理器并建立数据库并不是一件容易的事。于是为了解决我们上面所说的难题,用T-SQL语句创建数据库的方法变应运而生。

  在讲语法之前我先给大家介绍下什么是数据库文件。数据库文件说简单点就是存储我们所需要的数据库的数据,或者事务日志。就好比文件夹是为了存储文件一样。

  在SQL Sever中有如下三种类型的数据库文件:


数据库文件类型


描述


主数据库文件


        是所有数据库的起点。这些文件不仅包含数据库用户收集的信息,还包含了数据库中所有其他文件的有关信息。每个数据库都有一个主数据库文件。主数据库文件的扩展名默认并推荐使用.mdf。


辅数据库文件


        顾名思义它其实是那些你增加到数据库中的其他任何数据库文件。增加它们可以用来为数据库增大容量。不是所有的数据库都有辅数据库文件,但是如果想要你的数据库文件延伸到多个物理磁盘上,就需要有辅数据库文件。它的扩展名默认使用.ndf。


日志文件


        用来保存数据库的事务日志。每个数据库至少有一个日志文件。日志文件的扩展名使用.ldf。

  那接下来让我们认识Create Database语句的语法:

CREATE DATABASE <database_name>
      On [primary]
      [<filespec> [,…n]  ]
      [,<filegroup> [,…n]  ]
[LOG ON {<filespec> [,…n] }  ]
[FOR LOAD |  FOR  ATTCH  ]

  上面几句就是创建数据库最基本的语法,很简单吧。但是里面有些选项还是需要我们慢慢讲来的。

  其中的两个选项<filespec>和<filegroup>是什么意思呢?简单的说他们分别代表了创建一个文件和一个文件组所需要的信息,可能很难懂吧,不用着急我们看下面它们两个的语法。

<filespec>::=
                   (   [NAME=logical_file_name,]
                        FILENAME='os_file_name'
                        [,SIZE=size]
                        [,MAXSIZE={max_size | UNLIMITED}]
                        [,FILEGROWTH=growth_increment])  [,…n]
       <filegroupspec>::=
                        FILEGROUP filegroup_name <filespec>  [,…n]

  在SIZE、MAXSIZE、FILEGROWTH中如果大小的单位是兆字节(MB),则该单位可以省略,也就是说兆字节是缺省单位。但其它的表示单位不可省略。

  没晕吧(偷笑),没关系我们接着来看个例子。在下面的例子里,你可以建立一个数据库Test、一个数据库文件Test_Data和一个日志文件Test_Log:


  Create Database Test

         On primary

         (      name=’Test_Data’,

                 Filename=’c:\mssql17\data\Test_Data.mdf’,

                Size=10[MB],

                Maxsize=50[MB],

                Filegrowth=5[MB]   )

         LOG ON

         (      name=’Test_Log’,

                Filename=’c:\mssql17\data\Test_Log.ldf’,

                Size=5[MB],

                Maxsize=25[MB],

                Filegrowth=10%    )

          GO

  在SQL 2000中的查询分析器中执行后,你会看到一下的结果:

  CREATE DATABASE 进程正在磁盘 'Test_Data' 上分配 10.00 MB 的空间。

  CREATE DATABASE 进程正在磁盘 'Test_Log' 上分配 5.00 MB 的空间。

  上面代码括号中的部分即为<filespec>部分,是对创建的数据库的说明。怎么样,变的很简单了吧。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2025-01-24 18:29:52

几行代码创建属于你自己的SQL数据库的相关文章

惊!使用300行代码创建一个分布式系统

构建一个分布式系统是很困难的.它需要可扩展性.容错性.高可用性.一致性.可伸缩以及高效.为了达到这些目的,分布式系统需要很多复杂的组件以一 种复杂的方式协同工作.例如,Apache Hadoop在大型集群上并行处理TB级别的数据集时,需要依赖有着高容错的文件系统(HDFS)来达到高吞 吐量. 在之前,每一个新的分布式系统,例如Hadoop和Cassandra,都需要构建自己的底层架构,包括消息处理.存储.网络.容错性和可伸缩性. 庆幸的是,像Apache Mesos这样的系统,通过给分布式系统的

通过Mesos、Docker和Go,使用300行代码创建一个分布式系统

构建一个分布式系统是很困难的.它需要可扩展性.容错性.高可用性.一致性.可伸缩以及高效.为了达到这些目的,分布式系统需要很多复杂的组件以一种复杂的方式协同工作.例如,Apache Hadoop在大型集群上并行处理TB级别的数据集时,需要依赖有着高容错的文件系统(HDFS)来达到高吞吐量. 在之前,每一个新的分布式系统,例如Hadoop和Cassandra,都需要构建自己的底层架构,包括消息处理.存储.网络.容错性和可伸缩性.庆幸的是,像Apache Mesos这样的系统,通过给分布式系统的关键构

利用100行代码动态创建并部署流程

1. 关于Activiti中的BPMN Model 在5.12版本中把各个模块进行了大幅度的划分,值得一提的就是activiti-bpmn-的几个模块(activiti-bpmn-converter.activiti-bpmn-layout.activiti-bpmn-model). activiti-bpmn-model:包含了BPMN2.0规范中部分对应的Java定义(也包括Activiti自己扩展的),描述了一些基本属性.结构: activiti-bpmn-converter:该模块负责对

如何在Linux命令行中创建以及展示演示稿

如何在Linux命令行中创建以及展示演示稿 你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲稿只为传达特定的信息. 而这个,使用文本信息足以完成.在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片. 在Linux的世界里,有几个不同的方式供你选择来做演讲.比如带有大量多媒体展示.视

图片-请问: 用java代码创建excel表格模板,例子如下怎么创建?

问题描述 请问: 用java代码创建excel表格模板,例子如下怎么创建? 解决方案 用poi类,先做好模板,用poi填写 解决方案二: package com.paic.gcc.service.offwork.util; import java.io.OutputStream; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Li

android-《第一行代码》酷欧天气开发中三个问题求解答

问题描述 <第一行代码>酷欧天气开发中三个问题求解答 问题1,如何复制.git这个隐藏目录问题2,为何git push origin master会出现一系列错误问题3,为何我在com.coolweather.app下创建不了包,会提示package already exsists说明只能在src目录下创建,这和书中说的不一样 解决方案 问题三我也遇到了,解决方案:在一个包下在新建其他包:1.1首先更改 1.2.添加包,注意包名命名方式: 1.3.结果如图: 1.4.再新建其他的包: 1.5.

Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

目前,我相信,没有任何 Android 开发者不知道材料设计的,因为它的设计在过去的一年震惊了世界,正式的变成了一个设计理念. 令人惊讶的是,在 Android 应用中材料设计是不容易实现的,因为材料设计的 UI 组件 如: Floating Action Button (FAB) 在低于 Android L 系统上是不可用的.我们只能选择使用由独立开发者公布出来的第三方库. 来了一个好消息,上周(2015.5.29)在谷歌2015 I/O 大会时,谷歌宣布了一个今年最让人兴奋的支持库,名叫 A

3行代码给你的python提速4倍!

Python绝对是处理数据或者把重复任务自动化的绝佳编程语言.要抓取网页日志?或者要调整一百万张图片?总有对应的Python库让你轻松完成任务. 然而,Python的运营速度一直饱受诟病.默认状态下,Python程序使用单个CPU的单个进程.如果你的电脑是最近十年生产的,多数情况下会有4个及以上CPU核.也就是说,当你在等程序运行结束的时候,你的计算机有75%或者更多的计算资源都是空置的! 让我们来看看如何通过并行运算充分利用计算资源.多亏有Python的concurrent.futures模块

12行代码的浏览器DoS攻击分析及防御

有一段12行的JavaScript代码,可以让firefox.chrome.safari浏览器崩溃,而且还能让iphone重启.安卓闪退,本文作者对于该12行代码进行了分析解读并且提出了相应的防御办法,欢迎大家一同探讨. ajax与pjax AJAX(阿贾克斯),这里说的可不是阿贾克斯俱乐部哦! AJAX(阿贾克斯)即"Asynchronous Javascript And XML"(异步JavaScript和XML),是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交