如何创建一个本地的mysql数据库_怎么创建一个本地的sql数据库

展开全部

|CREATE DATABASE database_name

[ CONTAINMENT = { NONE | PARTIAL } ]

[ ON

[ PRIMARY ] [ ,...n ]

[ , [ ,...n ] ]

[ LOG ON [ ,...n ] ]

]

[ COLLATE collation_name ]

[ WITH [,...n ] ]

[;]

::=

{

FILESTREAM ( [,...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 =

| DB_CHAINING { OFF | ON }

| TRUSTWORTHY { OFF | ON }

}

::=

{

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }

| DIRECTORY_NAME = 'directory_name'

}

To attach a database

CREATE DATABASE database_name

ON [ ,...n ]

FOR { { ATTACH [ WITH [ , ...n ] ] }

| ATTACH_REBUILD_LOG }

[;]

::=

{

(

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_name [ CONTAINS FILESTREAM ] [ DEFAULT ]

[ ,...n ]

}

::=

{

| RESTRICTED_USER

| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )

}

::=

{

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

新数据库的名称。32313133353236313431303231363533e59b9ee7ad9431333361323538

数据库名称在 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

指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。

当后面是以逗号分隔的、用以定义主文件组的数据文件的 项列表时,需要使用

ON。

主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的

项列表(可选)。

PRIMARY

指定关联的 列表定义主文件。

在主文件组的 项中指定的第一个文件将成为主文件。

一个数据库只能有一个主文件。

有关详细信息,请参阅 数据库文件和文件组。

如果没有指定 PRIMARY,那么 CREATE DATABASE

语句中列出的第一个文件将成为主文件。

LOG ON

指定显式定义用来存储数据库日志的磁盘文件(日志文件)。

LOG ON 后跟以逗号分隔的用以定义日志文件的 项列表。

如果没有指定 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,将发生错误。

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

本回答由网友推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值