用什么命令在盘上新建一个数据库,并写入初始数据?

解决方案 »

  1.   

    create ...
    insert ...不清楚具体情况
      

  2.   

    CREATE DATABASE database_name 
    [ ON 
        [ < filespec > [ ,...n ] ] 
        [ , < filegroup > [ ,...n ] ] 

    [ LOG ON { < filespec > [ ,...n ] } ] 
    [ COLLATE collation_name ]
    [ FOR LOAD | FOR ATTACH ] < filespec > ::=[ PRIMARY ]
    ( [ NAME = logical_file_name , ]
        FILENAME = 'os_file_name'
        [ , SIZE = size ]
        [ , MAXSIZE = { max_size | UNLIMITED } ]
        [ , FILEGROWTH = growth_increment ] ) [ ,...n ]< filegroup > ::=FILEGROUP filegroup_name < filespec > [ ,...n ]参数
    database_name新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 Microsoft&reg; SQL Server&#8482; 会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。ON指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表(可选),<filegroup> 项用以定义用户文件组及其文件。n占位符,表示可以为新数据库指定多个文件。LOG ON指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。FOR LOAD支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载。SQL Server 7.0 版中不需要该子句,因为 RESTORE 语句可以作为还原操作的一部分重新创建数据库。FOR ATTACH指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的 <filespec> 条目。至于其它 <filespec> 条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 <filespec> 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 <filespec> 项目时,才需要使用 CREATE DATABASE FOR ATTACH。 如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。collation_name指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。有关 Windows 和 SQL 排序规则名称的更多信息,请参见 COLLATE。PRIMARY指定关联的 <filespec> 列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个 <filespec> 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。NAME为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。logical_file_name用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode 常量,也可以是常规标识符或定界标识符。FILENAME为 <filespec> 定义的文件指定操作系统文件名。'os_file_name'操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。SIZE指定 <filespec> 中定义的文件的大小。如果主文件的 <filespec> 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数据库中的主文件大小。如果次要文件或日志文件的 <filespec> 中没有指定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。size<filespec> 中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。MAXSIZE指定 <filespec> 中定义的文件可以增长到的最大大小。max_size<filespec> 中定义的文件可以增长到的最大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。 
      

  3.   

    使用 INSERT 添加行
    INSERT 语句可给表添加一个或多个新行。INSERT 语句在简单的情况下有如下形式:INSERT [INTO] table_or_view [(column_list)] data_values此语句将使 data_values 作为一行或者多行插入已命名的表或视图中。column_list 是由逗号分隔的列名列表,用来指定为其提供数据的列。如果没有指定 column_list,表或者视图中的所有列都将接收数据。如果 column_list 没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个 NULL 值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许 null 值或者指定的默认值。由于 Microsoft&reg; SQL Server&#8482; 为以下类型的列生成值,INSERT 语句将不为这些类型的列指定值: 具有 IDENTITY 属性的列,该属性为列生成值。
    有默认值的列,该列用 NEWID 函数生成一个唯一的 GUID 值。
    计算列。 
    这些是虚拟列,被定义为 CREATE TABLE 语句中从另外一列或多列计算的表达式,例如:CREATE TABLE TestTable
      (ColA INT PRIMARY KEY,
       ColB INT NOT NULL,
       ColC AS (ColA + ColB) * 2)所提供的数据值必须与列的列表匹配。数据值的数目必须与列数相同,每个数据值的数据类型、精度和小数位数也必须与相应的列匹配。有两种方法指定数据值: 用 VALUES 子句为一行指定数据值: 
    INSERT INTO MyTable (PriKey, Description)
           VALUES (123, 'A description of part 123.')用 SELECT 子查询为一行或多行指定数据值。 
    INSERT INTO MyTable  (PriKey, Description)
           SELECT ForeignKey, Description
           FROM SomeView
      

  4.   

    楼主的意思是在vb中怎么去新建一个数据库吧!
    也可以用 create database ....
    ...
    cnn.Execute  "create database .....
    或者用
      adox
      

  5.   

    嗯~~~ 本人语文学得不是太好!
        基本上是楼上那位大虾的意思~
        建立一个数据库是用CREATE DATABASE ……
        但怎么用VB给SQL写入一些初始数据呢?
      

  6.   

    但怎么用VB给SQL写入一些初始数据呢?
     在 ADOX 里可以找到相应 的答案。不过要是VB。NET还是用ADO。NET好一点。
      

  7.   


    你要写什么初始数据?连上数据库服务器后你就新建数据库呗。
    create database ....
    然后你再连你新建的数据库不就ok了。新建表 create tabel
    往表里插数据
      

  8.   

    嗯~~~ 麻烦!
    如果我先编好SQL脚本,能不能用VB调这些SQL脚本呢?
      

  9.   

    RESTORE DATABASE DatabaseName FROM DISK='D:\BackUp\1.bak' WITH NORECOVERY