SQL Server 数据库的创建、删除、修改

2023-11-11

1.创建数据库CREATE
创建数据库语句的基本格式:

CREATE DATABASE database_name
[ON
	[ PRIAMRY ] [<filespec> [ ,...n]]
]
[LOG ON
[<filespec> [ ,...n]]
];

<filespec>::=
(
	NAME=logical_file_name
	[,NEWNAME = new_logical_name]
	[,FILENAME = { 'os_file_name' | 'filepathname_path' } ]
	[,SIZE = size[ KB | MB | GB | TB ]]
	[,MAXSIZE = { maxsize [ KB | MB | GB | TB] | UNLIMITED } ]
	[,FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
);
CREATE DATABASE test    --数据库名称为test  
ON  
(  
    NAME = test_db,         --数据库主数据文件名称为test(逻辑数据文件名)  
    FILENAME = 'F:\sql server\test_db.mdf',     --主数据文件存储位置(操作数据文件路径和文件名)  
    --执行上一句代码时必须保证路径'F:\sql server'已经存在,否则代码执行过程会出错  
    SIZE = 6,               --数据文件大小,默认单位为MB  
    MAXSIZE = 10,           --最大增长空间为MB  
    FILEGROWTH = 1          --文件每次的增长大小为MB(或文件增长率20%)  
)  
LOG ON  
(  
    NAME = test_log,  
    FILENAME = 'F:\sql server\test_db_log.ldf',  
    SIZE = 1MB,  
    MAXSIZE = 2MB,  
    FILEGROWTH = 1  
)  
GO  

执行结果如下:


/*
指定文件组,创建一个多数据文件和日志文件的数据库
数据库名称:student
数据文件:student_data 分配20MB,属于文件组PRIMARY;
		  student_data1和student_data2各分配10MB,属于文件组studentGroup.
事务日志文件:student_log ,1个,10MB
*/
CREATE DATABASE student
ON PRIMARY						--下面主文件属于主文件组
(
	NAME = student_data,		--对应数据库第一个逻辑文件名
	FILENAME = 'F:\sql server\student_data.mdf',	--对应的主文件名和存储位置
	SIZE = 20,
	MAXSIZE = 150,
	FILEGROWTH = 10%			--空间按10%增长
),
FILEGROUP studentGroup			--指定新的文件组,下面的文件属于studentGroup文件组
(
	NAME = student_data1,		--对应数据库第二个文件名
	FILENAME = 'F:\sql server\student_data1.ndf',	--对应的第一个次文件名和存储位置
	SIZE = 10,
	MAXSIZE = 100,
	FILEGROWTH = 1				--空间按1MB增长
),
(
	NAME = student_data2,		--对应数据库第三个逻辑文件名
	FILENAME = 'F:\sql server\student_data2.ndf',	--对应的第二个次文件名和存储位置
	SIZE = 10,
	MAXSIZE = 100,
	FILEGROWTH = 1
)
LOG ON							--日志文件
(
	NAME = student_log,
	FILENAME = 'F:\sql server\student_log.ldf',
	SIZE = 10,
	MAXSIZE = 50,
	FILEGROWTH = 1
)
执行结果如下:



2.删除数据库 DROP

DROP DATABASE database_name
3.修改数据库 ALTER 

基本语法格式如下:
ALTER DATABASE database_name    -- 要修改的数据库的名称
{
    ADD FILE <filespec> [,...n] [ TO FILEGROUP { filegroup_name } ]    --添加新数据库文件到指定的文件组中
    | ADD LOG FILE <filespec>  [,...n ]                                                     --添加日志文件
    | REMOVE FILE logical_name                                                            --从SQL Server 的实例中删除逻辑文件说明并删除物理文件,除非文件为空,否则无法删除文件。
    | MODIFY FILE <filespec>                                                                  --指定应修改的文件,一次只能更改一个<filespec>属性,必须在<flespec> 中指定NAME,以标识要修改的文件。如果指定了SIZE,那么新大小必须比文件当前大小要大。
    | MODIFY NAME = new_database_name                                          --使用指定的名称重命名数据库。
    | ADD FILEGROUP filegroup_name                                                   --向数据库中添加文件组
    | REMOVB FILEGROUP loggroup_rame                                            --从数据库中删除文件组。除非文件组为空,否则无法将其删除。
    | MODIFY  FILEGROUP loggroup_name                                            --通过將状态设置为READ_ONLY 或 READ_WRITE,将文件组设置为数据库的默认文件组或者更改文件组名称来修改文件组。
}
<filespec>: :=
(
NAME = logical_file_name
[ , NEWNAME = newlogical_name ]
[ , FILENAME = { 'os_file_name' I 'filestream_path' } ]
[ , SIZE = size = [ KB | MB | GB  | TB ] ]
[ ,  MAXSIZE = (max_size  [ KB | MB I GB I TB I UNLIMITED ] ]
[ , FILEGROWTH = growth_increment [ KB I MB I GB I TB I % ] ]
[ , OFFLINE ]
)

--将test数据库的名称改为mytest
ALTER DATABASE test
MODIFY NAME=mytest




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 数据库的创建、删除、修改 的相关文章

  • SQL Server 上的语法错误

    这可能是一个愚蠢的语法错误 但我只是继续阅读我的程序 但我无法弄清楚我的错误在哪里 消息 156 第 15 级 状态 1 第 41 行关键字附近的语法不正确 为了 这是我的代码 alter procedure LockReservation
  • SQL 国家字符 (NCHAR) 数据类型的真正用途是什么?

    也CHAR CHARACTER and VARCHAR CHARACTER VARYING SQL 提供了NCHAR NATIONAL CHARACTER and NVARCHAR NATIONAL CHARACTER VARYING 类型
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想
  • 在 SELECT IN 中使用 Oracle 参数时出现问题

    我在将一串数字插入sql查询时遇到问题 SELECT FROM tablename a WHERE a flokkurid IN 3857 3858 3863 3285 ORDER BY sjodategund rodun or SELEC
  • MySQL - 从临时表插入

    这看起来非常简单 但我坚持使用简单的插入语句 见下文 begin work CREATE TEMPORARY TABLE IF NOT EXISTS insert table AS select r resource id fr file
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • SQL:如何在按部分分组的查询中使用子查询?

    如何在按部分分组的查询中使用子查询 我使用 SQL Server 2008 R2 和 Delphi 2010 我收到此错误 Cannot perform an aggregate function on an expression cont
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 提高第一个查询的性能

    如果执行以下数据库 postgres 查询 则第二次调用要快得多 我猜第一个查询很慢 因为操作系统 linux 需要从磁盘获取数据 第二个查询受益于文件系统级别和 postgres 中的缓存 有没有一种方法可以优化数据库以快速获得结果fir
  • 如何识别拼写不同的相似单词

    我想从数据库中过滤掉重复的客户名称 一位客户可能有多个同名但拼写差异不大的系统条目 这是一个示例 名为 Brook 的客户可能有 3 个系统条目 有了这个变化 布鲁克 贝尔塔 布鲁克 贝尔塔 比鲁克 贝尔塔 假设我们将此名称放入一个数据库列
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • SQL 约束以防止根据列的先前值更新列

    是否可以使用检查约束 或其他一些技术 来防止在更新记录时设置与其先前值相矛盾的值 一个例子是 NULL 时间戳 表明发生了某些事情 例如 file exported 一旦文件被导出并且具有非 NULL 值 就不应再将其设置为 NULL 另一
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装

随机推荐

  • R语言文本分析《三国演义》

    数据读取与包的加载 由于最近对文本分析比较感兴趣 所以分析三国演义的文本 getwd setwd E 三国 library jiebaR library ggplot2 library jpeg library reshape2 libra
  • 2023年信息与通信工程国际会议(JCICE 2023)

    2023年信息与通信工程国际会议 JCICE 2023 重要信息 会议网址 www jcice org 会议时间 2023年3月17 19日 召开地点 西安 截稿时间 2023年2月10日 录用通知 投稿后2周内 收录检索 EI Scopu
  • 如何升级composer

    最近 使用composer时 发现提示升级了 本文记录一下composer的升级过程 升级composer 升级的办法嘛 也很简单 1 方法一 1 先获取composer安装地址 composer h 2 再用 1 获取的地址 compos
  • 为什么要使用Struts框架

    在JavaWEB项目中 原生的Servlet作为控制器在项目开发中难免会有一些弊端 1 每一个请求编写一个servlet 针对一个小功能模块就可能需要四个以上的自定义的Servlet 2 Servlet处理请求时需要调用多次的getPara
  • vue3的基本使用(超详细)

    一 初识vue3 1 vue3简介 2020年9月18日 vue3发布3 0版本 代号大海贼时代来临 One Piece 特点 无需构建步骤 渐进式增强静态的 HTML 在任何页面中作为 Web Components 嵌入 单页应用 SPA
  • 【暑期每日一题】洛谷 P6437 [COCI2011-2012#6] JACK

    题目链接 P6437 COCI2011 2012 6 JACK 洛谷 计算机科学教育新生态 luogu com cn 题目描述 给定 n 个正整数 a1 an 请从中选择 3 个数字 满足他们的和不大于给定的整数 m 请求出这个和最大可能是
  • IP地址、子网掩码、网关、DNS的关系及sicket的常识

    1 什么是IP地址 32 4 8 255 D 1111 1111 B 28 1 所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址 按照TCP IP协议规定 IP地址用二进制来表示 每个IP地址长32bit 比特换
  • 怎么在java中关闭一个thread

    怎么在java中关闭一个thread 我们经常需要在java中用到thread 我们知道thread有一个start 方法可以开启一个线程 那么怎么关闭这个线程呢 有人会说可以用Thread stop 方法 但是这个方法已经被废弃了 根据O
  • ai画面怎么调大小_AI中怎么把图像等比例扩大或缩小尺寸

    展开全部 AI中么把图像等比例扩大或缩小尺寸步骤如e69da5e6ba903231313335323631343130323136353331333366303830下 1 打开ai的软件 执行菜单栏中文件 新建 或者直接使用快捷键Ctrl
  • 什么是Agent

    一方面 Agent技术为解决新的分布应用问题提供了有效途径 另一方面 Agent技术为全面准确地研究分布计算系统的特点提供了合理的概念模型 在分布计算领域 人们通常把在分布式系统中持续自主发挥作用的 具有以下特征的活着的计算实体称为Agen
  • gh-ost大表DDL工具源码阅读

    gh ost大表DDL工具源码阅读 最终目的 开发环境与测试数据库准备 一个简单的ddl案例 debug分析程序执行过程 vscode debug配置 变量介绍 核心处理逻辑 分析我的需求 最终目的 尝试通过阅读源码 多测试熟悉gh ost
  • 多线程学习

    线程的三种创建方式 1 继承Thread类 创建线程的快捷方式一 继承Thread 重写run方法 调用start开启线程 总结 注意线程开启不一定执行 由cpu调度执行 public class TestThread1 extends T
  • 可迭代对象__iter__(), __next__()

    一 解释 在 Python 中 迭代是指逐个访问容器 如列表 元组 集合 字典等 中的元素 为了实现迭代 我们需要使用可迭代对象和迭代器 可迭代对象 Iterable 具有 iter 方法的对象被称为可迭代对象 这个方法返回一个迭代器 迭代
  • git使用socks5代理提示:Unsupported proxy syntax in 127.0.0.1:1080

    提示说是语法错误 打开 gitconfig文件查看代理 http proxy socks5 127 0 0 1 1080 https proxy socks5 127 0 0 1 1080 去掉前后的单引号 错误消失 http proxy
  • sql server 2008 r2各个版本的区别与选择

    windows server 2012 r2 standard安装sql server 2008 R2 https blog csdn net maoiur article details 78322175https blog csdn n
  • UniCode编码表

    Unicode编码则是采用双字节16位来进行编号 可编65536字符 基本上包含了世界上所有的语言字符 它也就成为了全世界一种通用的编码 而且用十六进制4位表示一个编码 非常简结直观 为大多数开发者所接受 特别是十六进制编码后 可以解决汉字
  • java泛型的简介说明

    转自 java泛型的简介说明 下文笔者讲述java泛型的简介说明 如下所示 在JDK5中 Java语言引入了泛型机制 但是这种泛型机制其实是通过类型擦除来实现 即Java中的泛型只在程序源代码中有效 源代码阶段提供类型检查 在编译后的字节码
  • CentOS7 下的配置FTP服务器增强版~(零基础学会FTP配置)

    ps 原文不知出处 但是原文也不能正常启动 这里做了一些修改 如果能正常配置请在下方留言让更多的人看到 因为之前我本人照着网上的教程安装卸载了十多次也无法正常使用 不希望后面的兄弟继续浪费时间 如果不能使用 也请劳烦贴出相应的错误 参考 h
  • go 环境变量存储在哪里?

    Q golang环境变量存储在哪里 A 保存在go env GOENV所示的文件里 C Users Administrator gt go env GOENV C Users Administrator AppData Roaming go
  • SQL Server 数据库的创建、删除、修改

    1 创建数据库CREATE 创建数据库语句的基本格式 CREATE DATABASE database name ON PRIAMRY