sqlserver创建数据库语句 如何获取SqlServer 的表创建语句
大家好,今天给各位分享sqlserver创建数据库语句的一些知识,其中也会对如何获取SqlServer 的表创建语句进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
如何使用sql语句创建数据库
CREATE DATABASE database_name
[ CONTAINMENT={ NONE| PARTIAL} ]
[ ON
[ PRIMARY ]<filespec> [,...n ]
[,<filegroup> [,...n ] ]
[ LOG ON<filespec> [,...n ] ]
]
[ COLLATE collation_name ]
[ WITH<option> [,...n ] ]
[;]
<option>::=
{
FILESTREAM(<filestream_option> [,...n ])
| DEFAULT_FULLTEXT_LANGUAGE={ lcid| language_name| language_alias}
| DEFAULT_LANGUAGE={ lcid| language_name| language_alias}
| NESTED_TRIGGERS={ OFF| ON}
| TRANSFORM_NOISE_WORDS={ OFF| ON}
| TWO_DIGIT_YEAR_CUTOFF=<two_digit_year_cutoff>
| DB_CHAINING{ OFF| ON}
| TRUSTWORTHY{ OFF| ON}
}
<filestream_option>::=
{
NON_TRANSACTED_ACCESS={ OFF| READ_ONLY| FULL}
| DIRECTORY_NAME='directory_name'
}
To attach a database
CREATE DATABASE database_name
ON<filespec> [,...n ]
FOR{{ ATTACH [ WITH<attach_database_option> [,...n ] ]}
| ATTACH_REBUILD_LOG}
[;]
<filespec>::=
{
(
NAME= logical_file_name,
FILENAME={'os_file_name'|'filestream_path'}
[, SIZE= size [ KB| MB| GB| TB ] ]
[, MAXSIZE={ max_size [ KB| MB| GB| TB ]| UNLIMITED} ]
[, FILEGROWTH= growth_increment [ KB| MB| GB| TB|% ] ]
)
}
<filegroup>::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [,...n ]
}
<attach_database_option>::=
{
<service_broker_option>
| RESTRICTED_USER
| FILESTREAM( DIRECTORY_NAME={'directory_name'| NULL})
}
<service_broker_option>::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}
Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME= logical_file_name,
FILENAME='os_file_name'
) [,...n ]
AS SNAPSHOT OF source_database_name
[;]
database_name
新数据库的名称。
数据库名称在 SQL Server的实例中必须唯一,并且必须符合标识符规则。
除非没有为日志文件指定逻辑名称,否则 database_name最多可以包含 128个字符。
如果未指定逻辑日志文件名称,则 SQL Server将通过向 database_name追加后缀来为日志生成 logical_file_name和 os_file_name。
这会将 database_name限制为 123
个字符,从而使生成的逻辑文件名称不超过 128个字符。
如果未指定数据文件的名称,则 SQL Server使用 database_name作为 logical_file_name和 os_file_name。
默认路径从注册表中获得。
可以使用 Management Studio中的“服务器属性”(“数据库设置”页)更改默认路径。
更改默认路径要求重新启动 SQL Server。
CONTAINMENT
指定数据库的包含状态。
NONE=非包含数据库。
PARTIAL=部分包含的数据库。
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。
当后面是以逗号分隔的、用以定义主文件组的数据文件的<filespec>项列表时,需要使用
ON。
主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的<filegroup>
项列表(可选)。
PRIMARY
指定关联的<filespec>列表定义主文件。
在主文件组的<filespec>项中指定的第一个文件将成为主文件。
一个数据库只能有一个主文件。
有关详细信息,请参阅数据库文件和文件组。
如果没有指定 PRIMARY,那么 CREATE DATABASE
语句中列出的第一个文件将成为主文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。
LOG ON后跟以逗号分隔的用以定义日志文件的<filespec>项列表。
如果没有指定 LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的 25%或 512
KB,取两者之中的较大者。
此文件放置于默认的日志文件位置。
有关此位置的信息,请参阅查看或更改数据文件和日志文件的默认位置(SQL Server Management Studio)。
不能对数据库快照指定 LOG ON。
COLLATE collation_name
指定数据库的默认排序规则。
排序规则名称既可以是 Windows排序规则名称,也可以是 SQL排序规则名称。
如果没有指定排序规则,则将 SQL Server实例的默认排序规则分配为数据库的排序规则。
不能对数据库快照指定排序规则名称。
不能使用 FOR ATTACH或 FOR ATTACH_REBUILD_LOG
子句指定排序规则名称。
有关如何更改附加数据库的排序规则的信息,请访问此 Microsoft网站。
有关 Windows和 SQL排序规则名称的详细信息,请参阅 COLLATE(Transact-SQL)。
注意
包含数据库的排序方式不同于非包含数据库。
有关详细信息,请参阅包含数据库的排序规则。
WITH<选项>
仅在将 CONTAINMENT设置为 PARTIAL之后,才允许使用以下选项。
如果将 CONTAINMENT设置为 NONE,将发生错误。
<filestream_options>
NON_TRANSACTED_ACCESS={ OFF| READ_ONLY| FULL}
指定对数据库的非事务性 FILESTREAM访问的级别。
USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name= N'mytest';
GO
USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name= N'mytest';
GO
B.创建指定数据和事务日志文件的数据库
下面的示例将创建数据库 Sales。
因为没有使用关键字 PRIMARY,第一个文件( Sales_
dat)将成为主文件。
因为在 Sales_ dat文件的 SIZE参数中没有指定 MB或 KB,将使用 MB并按 MB分配。
Sales_ log文件以 MB为单位进行分配,因为 SIZE参数中显式声明了
MB后缀。
USE master;
GO
CREATE DATABASE Sales
ON
( NAME= Sales_dat,
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE= 10,
MAXSIZE= 50,
FILEGROWTH= 5)
LOG ON
( NAME= Sales_log,
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE= 5MB,
MAXSIZE= 25MB,
FILEGROWTH= 5MB);
GO
USE master;
GO
CREATE DATABASE Sales
ON
( NAME= Sales_dat,
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE= 10,
MAXSIZE= 50,
FILEGROWTH= 5)
LOG ON
( NAME= Sales_log,
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE= 5MB,
MAXSIZE= 25MB,
FILEGROWTH= 5MB);
GO
C.通过指定多个数据和事务日志文件创建数据库
以下示例创建数据库 Archive,该数据库具有三个 100-MB数据文件和两个 100-MB事务日志文件。
主文件是列表中的第一个文件,并使用 PRIMARY
关键字显式指定。
事务日志文件在 LOG ON关键字后指定。
请注意用于 FILENAME选项中各文件的扩展名:.mdf用于主数据文件,.ndf用于辅助数据文件,.ldf用于事务日志文件。
此示例将数据库放置于 D:驱动器上,而非 master数据库中。
USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME= Arch1,
FILENAME='D:\SalesData\archdat1.mdf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
( NAME= Arch2,
FILENAME='D:\SalesData\archdat2.ndf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
( NAME= Arch3,
FILENAME='D:\SalesData\archdat3.ndf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20)
LOG ON
(NAME= Archlog1,
FILENAME='D:\SalesData\archlog1.ldf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
(NAME= Archlog2,
FILENAME='D:\SalesData\archlog2.ldf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20);
GO
USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME= Arch1,
FILENAME='D:\SalesData\archdat1.mdf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
( NAME= Arch2,
FILENAME='D:\SalesData\archdat2.ndf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
( NAME= Arch3,
FILENAME='D:\SalesData\archdat3.ndf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20)
LOG ON
(NAME= Archlog1,
FILENAME='D:\SalesData\archlog1.ldf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20),
(NAME= Archlog2,
FILENAME='D:\SalesData\archlog2.ldf',
SIZE= 100MB,
MAXSIZE= 200,
FILEGROWTH= 20);
GO
sqlserver2000里怎么用sql语句创建数据库
创建数据库
这样做就可以创建一个数据库:
CREATE DATABASE数据库名称创建一个表
这样做就可以创建一个数据库中的表:
CREATE TABLE表名称
(
列名称1数据类型,
列名称2数据类型,
.......
)
实例
本例演示如何创建名为"Person"的表,有四个列。列名是:"LastName"、"FirstName"、"Address"以及"Age":
CREATE TABLE Person
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)
这个例子演示如何为某些列定义长度的最大值:
CREATE TABLE Person
(
LastName varchar(30),
FirstName varchar,
Address varchar,
Age int(3)
)
参考:http://www.w3school.com.cn/sql/sql_create.asp
sqlserver用SQL语句如何创建新用户
Transact-SQL参考sp_adduser为当前数据库中的新用户添加安全帐户。包括此过程是为了向后兼容。请使用sp_grantdbaccess。语法sp_adduser[@loginame=]'login' [,[@name_in_db=]'user'] [,[@grpname=]'group']参数[@loginame=]'login'用户的登录名称。login的数据类型是sysname,没有默认值。login必须是现有Microsoft®SQLServer™登录或MicrosoftWindowsNT®用户。 [@name_in_db=]'user'新用户的名称。user的数据类型为sysname,其默认值为NULL。如果没有指定user,则用户的名称默认为login名称。指定user即为新用户在数据库中给予一个不同于SQLServer上的登录ID的名称。 [@grpname=]'group'组或角色,新用户自动地成为其成员。group的数据类型为sysname,默认值为NULL。group必须是当前数据库中有效的组或角色。MicrosoftSQLServer7.0使用角色而不是组。返回代码值0(成功)或1(失败)注释SQLServer用户名可以包含1到128个字符,包括字母、符号和数字。但是,用户名不能:含有反斜线符号(/)。为NULL,或为空字符串('')。在添加完用户之后,可以使用GRANT、DENY和REVOKE语句来定义权限,这些权限控制着用户进行的活动。使用sp_helplogin可显示有效登录名的列表。使用sp_helprole可显示有效角色名的列表。当指定一个角色时,用户会自动地获得为该角色定义的那些权限。如果没有指定角色,则用户获得的权限将是授予默认public角色的权限。若要将用户添加到角色,必须提供username的值(username可与login_id相同)。为了访问数据库,必须使用sp_adduser或sp_grantdbaccess对登录授予访问权,或者数据库中必须存在guest安全帐户。不能在用户定义的事务内执行sp_adduser。权限只有sysadmin固定服务器角色的dbo和成员才能执行sp_adduser。示例 A.添加用户下面的示例使用现有的登录Victoria,将用户Victoria添加到当前数据库中现有的fort_mudge角色中。 EXECsp_adduser'Victoria','Victoria','fort_mudge' B.添加用户名(使用相同的登录ID) EXECsp_adduser'Margaret' C.添加用户(使用不同的用户名) EXECsp_adduser'Haroldq','Harold','fort_mudge' sp_adduser[@loginame=]'login'
如何获取SqlServer 的表创建语句
如何获取SqlServer的表创建语句
方法/步骤
1
首先找到这个数据库,右击-》任务-》生成脚本
2
然后就进入了生成脚本的向导,点击下一步。
这里会有很多个数据库,我们选择自己想要建表的那个数据库,选择以后点击下一步。
这里可以选择编写所有脚本,也可以不选直接下一步。
在这里,因为我们只是建表,所以我们把表勾上,不要勾选全部,不然下面就不能继续了。
这里我们选择要导出sql语句的表,勾上以后点击下一步。
在这个界面,我们选择将脚本保存到文件,然后浏览要存放的位置,还能选择文本的编码方式,一般默认是Unicode编码方式。。
选择生成的文件的名字,并选择保存的路径。
点击浏览选择保存后,点击完成。
在这个界面你什么都不用管,点击完成就行。
点击完成后,会看到生成脚本的进度,生成的状态。
最后我们在保存的路径下找到这个文件,用记事本打开看看,可以看到这个建表的sql语句。证明我们导出的建表语句是成功的。
sqlserver创建数据库语句和如何获取SqlServer 的表创建语句的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!