civilvar 发表于 2016-11-12 06:45:35

利用T—SQL创建数据库

   创建数据库
  Create DataBase stuDB    on primary                               --文件组    (    name = 'stuDB_data',      --数据库的逻辑名称    filename = 'D:\stuDB_data.mdf',   --数据库的物理名称    maxsize = unlimited,                         --数据库的最大容量    size = 3mb,                                          --初始大小    filegrowth = 1mb                              --数据库的增量    )    log on               --指明事务日志文件的明确定义    (    name = 'stuDB_log',    filename = 'D:\stuDB_log.ldf',    maxsize = unlimited,    size = 1mb,    filegrowth = 10%    )    go   
  我们来具体看一下以上代码中的参数:
  (1)stuDB是数据库的名称,最长为128个字符
  (2)primary:该选项是一个关键字,指定主文件组中的文件,可忽略不写
  (3)log on 指明事务日志文件的明确定义
  (4)name 指定数据库的逻辑名称,这是在SQL SERVER系统中使用的名称,是数据库在SQL SERVER中的标识符
  (5)filename 指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和name逻辑名称一一对应。
  (6)size 指定数据库的初始容量大小
  (7)maxsize 指定操作系统文件可以增长到的最大尺寸 unlimited关键字是不限制的意思,但是在在日志文件中,毫无意义,因为日志文件本身自己就有大小限制,最大值为2097152MB
  (8) filegrowth 指定文件每次增加容量的大小 ,当指定数据为0时,表示文件不增长。
   删除数据库
  如果在SQL SERVER中已经存在了上面创建了的stuDB数据库,再次运行以上程序时,就会报错:该数据库已存在,创建失败。
  那该怎么办呢?
  所以,我们应该在创建数据库之前预先检测我要创建的该数据库是否已存在,如果存在,就应先删除。
  删除数据库的语法如下:
  Drop DataBase 数据库名
  现在的问题是如何检测到stuDB数据库的存在?
  SQL SERVER 将所有数据库的清单存放在了master系统数据库的sysdatabases表中,只需要查看该表是否存在于该表中就可以了。
  示例:
  use master       --设置当前数据库为master,以便访问sysdatabases表    go    if exists(select * from sysdatabases where name = 'stuDB')    drop database stuDB    go    create DataBase stuDB    on   (    --……………………    )    log on   (    ---……    )
页: [1]
查看完整版本: 利用T—SQL创建数据库