如何用Query用SQL语句来创建一个数据库啊。如果能建库,那表又怎么加到库中去啊。急,兄弟们帮帮忙。

时间:2020-12-21 20:43:00
如何用Query用SQL语句来创建一个数据库啊。如果能建库,那表又怎么加到库中去啊

7 个解决方案

#1


你可以用正常执行一个创建表的语句,你可是先连接QUERY,或是动态指定数据库,

#2


什么数据库?

#3


执行建表、建库的Sql语句就可以了。

#4


先设计库
在程序中恢复库就可以了

或者看库的脚本自己实现

#5


比方说我的SQL是这样的。
create database delphidb on primary ( Name = data1, 
                                      FileName = 'd:\one\data1.mdf'
                                      Maxsize =4M)
在这个数据库中创建若于表:
create table userInfo(ID char(6) Not Null, Name varchar(20), Sex char default 'M')
alter table userInfo ID_primary constraint primary key(ID)

兄弟们帮忙用Query的sQL来实现。谢了。

#6


看一下:
http://www.starfarmsoft.com/Amiting/Amiting100.exe

动态建立SQL Server数据库

如果是Access数据库,可以查看:
http://www.csdn.net/develop/read_article.asp?id=2773
建立表完全可以使用
ADQ.SQL.ADD('CREATE TBALE XXX(FLD1 VARCHAR(8))')
ADQ.ExecSQL;
模式完成

#7


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
新数据库的名称
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表(可选),<filegroup> 项用以定义用户文件组及其文件。
n
占位符,表示可以为新数据库指定多个文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。
FOR LOAD
支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。
FOR ATTACH
指定从现有的一组操作系统文件中附加数据库。
collation_name
指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。
PRIMARY
指定关联的 <filespec> 列表定义主文件。主文件组包含所有数据库系统表。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。
NAME
为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。
logical_file_name
用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。
FILENAME
为 <filespec> 定义的文件指定操作系统文件名。
'os_file_name'
操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。
SIZE
指定 <filespec> 中定义的文件的大小。<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> 中定义的文件可以增长到的最大大小。
UNLIMITED
指定 <filespec> 中定义的文件将增长到磁盘变满为止。
FILEGROWTH
指定 <filespec> 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。
growth_increment
每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。
例子。。。。。。。。。。。。。。。。。
CREATE DATABASE Sales
ON 
( NAME = Sales_dat,
   FILENAME = 'c:\program files\microsoft sql server\mssql\data\saledat.mdf',
   SIZE = 10,
   MAXSIZE = 50,
   FILEGROWTH = 5 )
LOG ON
( NAME = 'Sales_log',
   FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf',
   SIZE = 5MB,
   MAXSIZE = 25MB,
   FILEGROWTH = 5MB )
表。。。。。。。。。。。。。。。。。。。。。。。。。。

CREATE TABLE
    [ database_name.[ owner ] .| owner.] table_name
    ( { < column_definition >
        | column_name AS computed_column_expression
        | < table_constraint > ::= [ CONSTRAINT constraint_name ] }

            | [ { PRIMARY KEY | UNIQUE } [ ,...n ]
    ) 

[ ON { filegroup | DEFAULT } ] 
[ TEXTIMAGE_ON { filegroup | DEFAULT } ] 

< column_definition > ::= { column_name data_type }
    [ COLLATE < collation_name > ]
    [ [ DEFAULT constant_expression ]
        | [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
    ] 
    [ ROWGUIDCOL]
    [ < column_constraint > ] [ ...n ] 

< column_constraint > ::= [ CONSTRAINT constraint_name ]
    { [ NULL | NOT NULL ]
        | [ { PRIMARY KEY | UNIQUE }
            [ CLUSTERED | NONCLUSTERED ]
            [ WITH FILLFACTOR = fillfactor ]
            [ON {filegroup | DEFAULT} ] ]
        ] 
        | [ [ FOREIGN KEY ]
            REFERENCES ref_table [ ( ref_column ) ]
            [ ON DELETE { CASCADE | NO ACTION } ]
            [ ON UPDATE { CASCADE | NO ACTION } ]
            [ NOT FOR REPLICATION ]
        ] 
        | CHECK [ NOT FOR REPLICATION ]
        ( logical_expression ) 
    } 

< table_constraint > ::= [ CONSTRAINT constraint_name ]
    { [ { PRIMARY KEY | UNIQUE }
        [ CLUSTERED | NONCLUSTERED ]
        { ( column [ ASC | DESC ] [ ,...n ] ) }
        [ WITH FILLFACTOR = fillfactor ]
        [ ON { filegroup | DEFAULT } ]
    ] 
    | FOREIGN KEY
        [ ( column [ ,...n ] ) ]
        REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
        [ ON DELETE { CASCADE | NO ACTION } ]
        [ ON UPDATE { CASCADE | NO ACTION } ]
        [ NOT FOR REPLICATION ]
    | CHECK [ NOT FOR REPLICATION ]
        ( search_conditions ) 
    } 

参数
database_name
是要在其中创建表的数据库名称。
owner
是新表所有者的用户 ID 名,owner 必须是 database_name 所指定的数据库中的现有用户 ID
table_name
是新表的名称。
column_name
是表中的列名。
computed_column_expression
TEXTIMAGE_ON
是表示 text、ntext 和 image 列存储在指定文件组中的关键字。如果表中没有 text、ntext 或 image 列,则不能使用 TEXTIMAGE ON
data_type
指定列的数据类型
DEFAULT
默认值
constant_expression
是用作列的默认值的常量、NULL 或系统函数。
IDENTITY
表示新列是标识列
seed
是装入表的第一行所使用的值。
increment
是添加到前一行的标识值的增量值。
collation_name

指定列的排序规则
CONSTRAINT
是可选关键字,表示 PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK 约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。
constrain_name
是约束的名称。约束名在数据库内必须是唯一的。
NULL | NOT NULL
是确定列中是否允许空值的关键字
PRIMARY KEY
是通过唯一索引对给定的一列或多列强制实体完整性的约束
UNIQUE
是通过唯一索引为给定的一列或多列提供实体完整性的约束
CLUSTERED | NONCLUSTERED
是表示为 PRIMARY KEY 或 UNIQUE 约束创建聚集或非聚集索引的关键字
FOREIGN KEY...REFERENCES
ref_table
是 FOREIGN KEY 约束所引用的表名。
(ref_column[,...n])
是 FOREIGN KEY 约束所引用的表中的一列或多列。
ON DELETE {CASCADE | NO ACTION}

指定当要创建的表中的行具有引用关系,并且从父表中删除该行所引用的行时,要对该行采取的操作。 
ON UPDATE {CASCADE | NO ACTION}
指定当要创建的表中的行具有引用关系,并且在父表中更新该行所引用的行时,要对该行采取的操作。 
CHECK
是通过限制可输入到一列或多列中的可能值强制域完整性的约束。
column
是用括号括起来的一列或多列,在表约束中表示这些列用在约束定义中。
[ASC | DESC]
指定加入到表约束中的一列或多列的排序次序。默认设置为 ASC。
n
是表示前面的项可重复 n 次的占位符。

#1


你可以用正常执行一个创建表的语句,你可是先连接QUERY,或是动态指定数据库,

#2


什么数据库?

#3


执行建表、建库的Sql语句就可以了。

#4


先设计库
在程序中恢复库就可以了

或者看库的脚本自己实现

#5


比方说我的SQL是这样的。
create database delphidb on primary ( Name = data1, 
                                      FileName = 'd:\one\data1.mdf'
                                      Maxsize =4M)
在这个数据库中创建若于表:
create table userInfo(ID char(6) Not Null, Name varchar(20), Sex char default 'M')
alter table userInfo ID_primary constraint primary key(ID)

兄弟们帮忙用Query的sQL来实现。谢了。

#6


看一下:
http://www.starfarmsoft.com/Amiting/Amiting100.exe

动态建立SQL Server数据库

如果是Access数据库,可以查看:
http://www.csdn.net/develop/read_article.asp?id=2773
建立表完全可以使用
ADQ.SQL.ADD('CREATE TBALE XXX(FLD1 VARCHAR(8))')
ADQ.ExecSQL;
模式完成

#7


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
新数据库的名称
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表(可选),<filegroup> 项用以定义用户文件组及其文件。
n
占位符,表示可以为新数据库指定多个文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。
FOR LOAD
支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。
FOR ATTACH
指定从现有的一组操作系统文件中附加数据库。
collation_name
指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。
PRIMARY
指定关联的 <filespec> 列表定义主文件。主文件组包含所有数据库系统表。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。
NAME
为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。
logical_file_name
用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。
FILENAME
为 <filespec> 定义的文件指定操作系统文件名。
'os_file_name'
操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。
SIZE
指定 <filespec> 中定义的文件的大小。<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> 中定义的文件可以增长到的最大大小。
UNLIMITED
指定 <filespec> 中定义的文件将增长到磁盘变满为止。
FILEGROWTH
指定 <filespec> 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。
growth_increment
每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。
例子。。。。。。。。。。。。。。。。。
CREATE DATABASE Sales
ON 
( NAME = Sales_dat,
   FILENAME = 'c:\program files\microsoft sql server\mssql\data\saledat.mdf',
   SIZE = 10,
   MAXSIZE = 50,
   FILEGROWTH = 5 )
LOG ON
( NAME = 'Sales_log',
   FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf',
   SIZE = 5MB,
   MAXSIZE = 25MB,
   FILEGROWTH = 5MB )
表。。。。。。。。。。。。。。。。。。。。。。。。。。

CREATE TABLE
    [ database_name.[ owner ] .| owner.] table_name
    ( { < column_definition >
        | column_name AS computed_column_expression
        | < table_constraint > ::= [ CONSTRAINT constraint_name ] }

            | [ { PRIMARY KEY | UNIQUE } [ ,...n ]
    ) 

[ ON { filegroup | DEFAULT } ] 
[ TEXTIMAGE_ON { filegroup | DEFAULT } ] 

< column_definition > ::= { column_name data_type }
    [ COLLATE < collation_name > ]
    [ [ DEFAULT constant_expression ]
        | [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
    ] 
    [ ROWGUIDCOL]
    [ < column_constraint > ] [ ...n ] 

< column_constraint > ::= [ CONSTRAINT constraint_name ]
    { [ NULL | NOT NULL ]
        | [ { PRIMARY KEY | UNIQUE }
            [ CLUSTERED | NONCLUSTERED ]
            [ WITH FILLFACTOR = fillfactor ]
            [ON {filegroup | DEFAULT} ] ]
        ] 
        | [ [ FOREIGN KEY ]
            REFERENCES ref_table [ ( ref_column ) ]
            [ ON DELETE { CASCADE | NO ACTION } ]
            [ ON UPDATE { CASCADE | NO ACTION } ]
            [ NOT FOR REPLICATION ]
        ] 
        | CHECK [ NOT FOR REPLICATION ]
        ( logical_expression ) 
    } 

< table_constraint > ::= [ CONSTRAINT constraint_name ]
    { [ { PRIMARY KEY | UNIQUE }
        [ CLUSTERED | NONCLUSTERED ]
        { ( column [ ASC | DESC ] [ ,...n ] ) }
        [ WITH FILLFACTOR = fillfactor ]
        [ ON { filegroup | DEFAULT } ]
    ] 
    | FOREIGN KEY
        [ ( column [ ,...n ] ) ]
        REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
        [ ON DELETE { CASCADE | NO ACTION } ]
        [ ON UPDATE { CASCADE | NO ACTION } ]
        [ NOT FOR REPLICATION ]
    | CHECK [ NOT FOR REPLICATION ]
        ( search_conditions ) 
    } 

参数
database_name
是要在其中创建表的数据库名称。
owner
是新表所有者的用户 ID 名,owner 必须是 database_name 所指定的数据库中的现有用户 ID
table_name
是新表的名称。
column_name
是表中的列名。
computed_column_expression
TEXTIMAGE_ON
是表示 text、ntext 和 image 列存储在指定文件组中的关键字。如果表中没有 text、ntext 或 image 列,则不能使用 TEXTIMAGE ON
data_type
指定列的数据类型
DEFAULT
默认值
constant_expression
是用作列的默认值的常量、NULL 或系统函数。
IDENTITY
表示新列是标识列
seed
是装入表的第一行所使用的值。
increment
是添加到前一行的标识值的增量值。
collation_name

指定列的排序规则
CONSTRAINT
是可选关键字,表示 PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK 约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。
constrain_name
是约束的名称。约束名在数据库内必须是唯一的。
NULL | NOT NULL
是确定列中是否允许空值的关键字
PRIMARY KEY
是通过唯一索引对给定的一列或多列强制实体完整性的约束
UNIQUE
是通过唯一索引为给定的一列或多列提供实体完整性的约束
CLUSTERED | NONCLUSTERED
是表示为 PRIMARY KEY 或 UNIQUE 约束创建聚集或非聚集索引的关键字
FOREIGN KEY...REFERENCES
ref_table
是 FOREIGN KEY 约束所引用的表名。
(ref_column[,...n])
是 FOREIGN KEY 约束所引用的表中的一列或多列。
ON DELETE {CASCADE | NO ACTION}

指定当要创建的表中的行具有引用关系,并且从父表中删除该行所引用的行时,要对该行采取的操作。 
ON UPDATE {CASCADE | NO ACTION}
指定当要创建的表中的行具有引用关系,并且在父表中更新该行所引用的行时,要对该行采取的操作。 
CHECK
是通过限制可输入到一列或多列中的可能值强制域完整性的约束。
column
是用括号括起来的一列或多列,在表约束中表示这些列用在约束定义中。
[ASC | DESC]
指定加入到表约束中的一列或多列的排序次序。默认设置为 ASC。
n
是表示前面的项可重复 n 次的占位符。