0

0

Sql Server系列:数据库操作

php中文网

php中文网

发布时间:2016-06-07 14:59:43

|

1246人浏览过

|

来源于php中文网

原创

1. 创建数据库 CREATE DATABASE语法: CREATE DATABASE database_name [ ON [ PRIMARY ] filespec [ ,...n ] [ , filegroup [ ,...n ] ] [ LOG ON filespec [ ,...n ] ] ] [ COLLATE collation_name ] filespec :: = {( NAME = logical_file_name , FILENAME

1. 创建数据库

  CREATE DATABASE语法:

CREATE DATABASE database_name 
[ ON 
      [ PRIMARY ] <filespec> [ ,...n ] 
      [ ,  [ ,...n ] ] 
      [ LOG ON  [ ,...n ] ] 
] 
[ COLLATE collation_name ]
<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 | % ] ]
)
}

  ON:用来定义数据库的数据文件。PRIMARY指出其后所定义的文件是主数据文件,如果省略,则第一个定义的文件是主数据文件。

  LOG ON:用来定义数据库的日志文件。如果没有LOG ON,SQL Server将自动创建一个日志文件。

  数据库中的文件类型与推荐扩展名:主要数据文件.mdf ,次要数据文件.ndf ,事务日志.ldf 。

  创建未指定文件的数据库:

-- Drop the database if it already exists
IF  EXISTS (
    SELECT name 
        FROM sys.databases 
        WHERE name = N'Portal'
)
DROP DATABASE Portal
GO

CREATE DATABASE Portal
GO

  创建指定数据文件和事务日志文件的数据库:

CREATE DATABASE [Portal]
 ON  PRIMARY 
(
    NAME = N'Portal',
    FILENAME = N'F:\Database\Portal.mdf' ,
    SIZE = 5MB ,
    FILEGROWTH = 1MB
 )
 LOG ON
(
    NAME = N'Portal_log',
    FILENAME = N'F:\Database\Portal_log.ldf' ,
    SIZE = 2MB ,
    FILEGROWTH = 10%
)

  创建数据库指定多个数据及事务日志文件:

CREATE DATABASE [Portal]
 ON  PRIMARY 
(
    NAME = N'Portal',
    FILENAME = N'F:\Database\Portal.mdf' ,
    SIZE = 5MB ,
    FILEGROWTH = 1MB
 ),
 (
    NAME = N'Portal_Data_2014',
    FILENAME = N'F:\Database\Portal_Data_2014.ndf' ,
    SIZE = 5MB ,
    FILEGROWTH = 1MB
 )
 LOG ON
(
    NAME = N'Portal_log',
    FILENAME = N'F:\Database\Portal_log.ldf' ,
    SIZE = 2MB ,
    FILEGROWTH = 10%
),
(
    NAME = N'Portal_log_2014',
    FILENAME = N'F:\Database\Portal_log_2014.ldf' ,
    SIZE = 2MB ,
    FILEGROWTH = 10%
)

  创建具有文件组的数据库:

CREATE DATABASE [Portal]
 ON  PRIMARY 
(
    NAME = N'Portal',
    FILENAME = N'F:\Database\Portal.mdf' ,
    SIZE = 10MB ,
    FILEGROWTH = 1MB
 ),
 FILEGROUP [div2014] 
 (
    NAME = N'Portal_Data_2014',
    FILENAME = N'F:\Database\Portal_Data_2014.ndf' ,
    SIZE = 5MB ,
    FILEGROWTH = 1MB
 )
 LOG ON
(
    NAME = N'Portal_log',
    FILENAME = N'F:\Database\Portal_log.ldf' ,
    SIZE = 2MB ,
    FILEGROWTH = 10%
)

2. 修改数据库

  修改数据库语法:

ALTER DATABASE database_name 
{
    <add_or_modify_files>
  | <add_or_modify_filegroups>
}
[;]

<add_or_modify_files>::=
{
    ADD FILE <filespec> [ ,...n ] 
        [ TO FILEGROUP { filegroup_name } ]
  | ADD LOG FILE <filespec> [ ,...n ] 
  | REMOVE FILE logical_file_name 
  | MODIFY FILE <filespec>
}

<filespec>::=  
(
    NAME = logical_file_name  
    [ , NEWNAME = new_logical_name ] 
    [ , FILENAME = {'os_file_name' | 'filestream_path' | 'memory_optimized_data_path' } ] 
    [ , SIZE = size [ KB | MB | GB | TB ] ] 
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % ] ] 
    [ , OFFLINE ]
)  

<add_or_modify_filegroups>::=
{
    | ADD FILEGROUP filegroup_name 
        [ CONTAINS FILESTREAM | CONTAINS MEMORY_OPTIMIZED_DATA ]
    | REMOVE FILEGROUP filegroup_name 
    | MODIFY FILEGROUP filegroup_name
        { <filegroup_updatability_option>
        | DEFAULT
        | NAME = new_filegroup_name 
        }
}
<filegroup_updatability_option>::=
{
    { READONLY | READWRITE } 
    | { READ_ONLY | READ_WRITE }
}

  新增文件组:

ALTER DATABASE [Portal] ADD FILEGROUP [div2014]

  新增文件指定文件组:

ALTER DATABASE [Portal] ADD FILE
(
    NAME = N'Portal_Data_2014',
    FILENAME = N'F:\Database\Portal_Data_2014.ndf' ,
    SIZE = 5MB ,
    FILEGROWTH = 1MB
)
TO FILEGROUP [div2014]

  删除数据库文件:

ALTER DATABASE [Portal] REMOVE FILE Portal_Data_2014

  修改数据名称:

ALTER DATABASE [Portal] MODIFY NAME = [Portal_2014]

EXEC sp_renamedb [Portal], [Portal_2014]

  修改设置默认文件组:

ALTER DATABASE [Portal] MODIFY FILEGROUP [PRIMARY] DEFAULT

3. 删除数据库

  删除数据库语法:

DROP DATABASE { database_name | database_snapshot_name } [ ,...n ] [;]

  示例:

同徽B2C电子商务软件系统
同徽B2C电子商务软件系统

开发语言:java,支持数据库:Mysql 5,系统架构:J2EE,操作系统:linux/Windows1. 引言 32. 系统的结构 32.1 系统概述 33. 功能模块设计说明 43.1 商品管理 43.1.1 添加商品功能模块 53.1.2 商品列表功能模块 83.1.3 商品关联功能模块 93.

下载

DROP DATABASE [Portal]

4. 分离数据库

  使用系统存储过程sp_detach_db分离数据库。

sp_detach_db [ @dbname= ] 'database_name' 
    [ , [ @skipchecks= ] 'skipchecks' ] 
    [ , [ @keepfulltextindexfile = ] 'KeepFulltextIndexFile' ] 

EXEC sp_detach_db [Portal]

  直接运行分离数据库的SQL语句,可能会提示有进程(用户)正在使用,分离失败。要解决这个问题,先查看哪些进程(用户)正在使用该数据库。

  查看用户和进程:

USE [master]
sp_who

Sql Server系列:数据库操作

  先结束占用数据库的进程,再分离数据库:

USE [master]

KILL 55
KILL 56
KILL 57

EXEC sp_detach_db [Portal]

5. 附加数据库

  使用CREATE DATABASE附加数据库:

CREATE DATABASE [Portal]
ON
(
    FILENAME = 'F:\Database\Portal.mdf'
)
FOR ATTACH

CREATE DATABASE [Portal]
ON
(
    FILENAME = 'F:\Database\Portal.mdf'
),
(
    FILENAME = 'F:\Database\Portal_log.ldf'
)
FOR ATTACH

  使用系统存储过程附加数据库:

EXEC sp_attach_db [Portal], 'F:\Database\Portal.mdf'

EXEC sp_attach_db [Portal], 'F:\Database\Portal.mdf', 'F:\Database\Portal_log.ldf'

6. 查看数据库信息

  SQL Server中可以使用多种方式查看数据库信息,例如使用目录视图、函数、存储过程等。

6.1> 使用目录视图

  使用目录视图查看数据库基本信息:

  ◊ sys.databse_files:查看数据库文件信息;

  ◊ sys.filegroups:查看数据库组信息;

  ◊ sys.master_files:查看数据库文件的基本信息和状态信息;

  ◊ sys.database:数据库和文件目录视图查看数据库的基本信息。

SELECT * FROM sys.databases WHERE name = 'Northwind'

相关专题

更多
Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

9

2026.01.12

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

101

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

55

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

88

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

447

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

49

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.4万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 2.3万人学习

MySQL索引优化解决方案
MySQL索引优化解决方案

共23课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号