news 2026/7/6 15:47:57

第3章:复习篇——第1节:创建和管理数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第3章:复习篇——第1节:创建和管理数据库

目录

一、使用datagrip软件创建数据库

1.数据库分类

2.数据库的文件组成

(1)数据库文件

(2)数据库文件组

二、使用T-SQL语句创建数据库

1.组成

2.语法格式与说明

(1)格式

(2)T-SQL 语法说明

(3)参数说明

3.实战训练

(1)要求

(2)解析

三、数据库管理

1.新增文件组与文件

(1)新增文件组

(2)新增辅助数据文件、事务日志文件

(3)示例

2.删除文件组与文件

(1)新增文件组

(2)新增辅助数据文件、事务日志文件

(3)示例

3.修改文件组与文件

(1)格式

(2)示例

4.重命名用户数据库

(1)使用alter database语句

(2)调用系统内置存储过程sp_renamede

(3)示例

5.删除用户数据库

(1)格式

(2)示例


一、使用datagrip软件创建数据库

1.数据库分类

-----数据库 |-----系统数据库 | | | |-----主数据库master | |-----模板数据库model | |-----msdb数据库 | |-----临时数据库tempdb | |-----数据库快照(用户数据库) | |-----eg:SCC |-----eg:Class

2.数据库的文件组成

(1)数据库文件

文件名称扩展名作用允许个数
主数据文件.MDF用于存放数据,是所有数据库文件的起点仅有1个
辅助数据文件.NDF存放数据,存储主数据文件未存储的所有其他数据和对象可有可无,可有多个
事务日志文件.LDF记录数据库中所有的事物和由这些事务引起的数据库变化至少1个

(2)数据库文件组

①分类:主文件组primary与用户自定义文件组

②注意:只能用于一个数据库;主数据文件只属于primary文件组;文件组不适用于事务日志文件




二、使用T-SQL语句创建数据库

1.组成

  • 数据查询语言(DQL)
  • 数据操作语言(DML)
  • 事务控制语言(TCL)
  • 数据控制语言(DCL)
  • 数据定义语言(DDL)
  • 指针控制语言(CCL)

2.语法格式与说明

(1)格式

CREATE DATABASE 数据库名 ON [ PRIMARY ] ( NAME= '数据文件的逻辑名称' , FILENAME= '文件的路径和文件名' , SIZE=文件的初始大小 , MAXSIZE=文件的最大容量|UNLIMITED , FILEGROWTH=文件的每次增长量 ) [ , ... n] [FILEGROUP] 文件组名 ( ),( ) LOG ON ( NAME='事务日志文件的逻辑名称', FILENAME='文件的路径和文件名', SIZE=文件的初始大小, MAXSIZE=文件的最大容量|UNLIMITED, FILEGROWTH=文件的每次增长量 ) [ , ... n]

(2)T-SQL 语法说明

  • [ ]中的内容可用省略,省略时系统取值为默认值。
  • [,...n]表示的内容可用重复书写 n 次,但必须用逗号隔开。
  • |表示相邻的前后两项只能任取一项。
  • 一条语句可用分成多行书写,但是多条语句不允许写在一行。
  • 命令一旦设计成功,可以反复使用。
  • T-SQL 语句书写时不区分大小写,一般系统保留字大写,用户自定义的名称可用小写。

(3)参数说明

  • 数据库名称:新创建的数据库的名称,在 SQL Server 实例中必须唯一,且符合标识符规定。
  • ON:根据后面的参数创建数据库的主数据文件(.mdf)或辅数据文件(.ndf)。
  • LOG ON:根据后面的参数创建事务日志文件;省略时 SQL Server 自动创建一个日志文件。ON 和 LOG ON 引出的文件可以是多个,多个文件的小括号之间用英文逗号隔开。
  • PRIMARY:指定后续数据文件属于主文件组 PRIMARY;省略时,后续数据文件默认属于主文件组 PRIMARY。
  • [FILEGROUP] 文件组名:指定其后的辅数据文件属于该自定义文件组。
  • 文件单位:默认单位为 MB;未指定 MAXSIZE 或用 UNLIMITED 时,文件大小仅受物理存储空间限制。
  • FILEGROWTH:设置文件每次增加的容量,单位可以是 MB 或 %;设置为 0 时表示文件不增长。
  • 必填项:无论创建哪种数据库文件,小括号内的NAMEFILENAME不能省略;其他(SIZE、MAXSIZE、FILEGROWTH)可省略,省略时按系统默认属性值设置。


3.实战训练

(1)要求

创建learn数据库,现在要求使用datagrip软件,按照下表使用T-SQL语句进行创建

(2)解析

CREATE DATABASE learn ON -- 主文件组(PRIMARY)及主数据文件 PRIMARY ( NAME = 'Goods_data1', FILENAME = 'D:\DBG\Goods_data1.mdf', SIZE = 20MB, MAXSIZE = 2000MB, FILEGROWTH = 64MB ), -- 自定义文件组(GGROUP)及辅数据文件 FILEGROUP GGROUP ( NAME = 'Goods_data2', FILENAME = 'D:\DBG\Goods_data2.ndf', SIZE = 20MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ) -- 日志文件配置 LOG ON ( NAME = 'Goods_log1', FILENAME = 'D:\DBG\Goods_log1.ldf', SIZE = 8MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB ), ( NAME = 'Goods_log2', FILENAME = 'D:\DBG\Goods_log2.ldf', SIZE = 8MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB );



三、数据库管理

1.新增文件组与文件

(1)新增文件组

ALTER DATABASE 数据库名 ADD FILEGROUP 文件组名

(2)新增辅助数据文件、事务日志文件

ALTER DATABASE 数据库名 ADD [LOG] FILE ( NAME= 文件逻辑名称, FILENAME='文件的路径和文件名', SIZE= 文件的初始大小, MAXSIZE= 文件的最大容量|UNLIMITED, FILEGROWTH= 文件的每次增长量 )

(3)示例

在 SCC 数据库中新增名为 newgroup 的文件组,并为该文件组添加 1 个辅数据文件 SCC_data3.ndf,同时为数据库添加一个事务日志文件 SCC_log3.ldf,文件属性都使用系统默认设置。

-- 新增文件组newgroup Alter Database SCC Add Filegroup newgroup -- 新增辅数据文件并指定到newgroup文件组 Alter Database SCC Add File ( name= SCC_data3, filename='e:\DB\SCC_data3.ndf' ) to Filegroup newgroup -- 新增事务日志文件 Alter Database SCC Add log File ( name= SCC_log3, filename='e:\DB\SCC_log3.ldf' )

2.删除文件组与文件

(1)新增文件组

ALTER DATABASE 数据库名 REMOVE FILEGROUP 文件组名

(2)新增辅助数据文件、事务日志文件

ALTER DATABASE 数据库名 REMOVE FILE 逻辑文件名

(3)示例

删除 SCC 数据库中的 newgroup 文件组

-- 删除辅数据文件SCC_data3 Alter Database SCC Remove File SCC_data3 -- 删除文件组newgroup Alter Database SCC Remove Filegroup newgroup

3.修改文件组与文件

(1)格式

ALTER DATABASE 数据库名 MODIFY FILE ( NAME= '文件的逻辑名称', SIZE=文件的初始大小, MAXSIZE=文件的最大容量|UNLIMITED, FILEGROWTH=文件的每次增长量 )

(2)示例

扩充 SCC 数据库的数据文件 SCC_data1(初始 10MB→目标 20MB)、事务日志文件 SCC_log1(初始 8MB→目标 16MB)。

-- 扩充SCC_data1文件容量至20MB Alter Database SCC Modify file ( NAME='SCC_data1 ', SIZE=20MB ) -- 扩充SCC_log1文件容量至16MB Alter Database SCC Modify file ( NAME='SCC_log1 ', SIZE=16MB )

4.重命名用户数据库

(1)使用alter database语句

ALTER DATABASE 原数据库名 MODIFY NAME=新数据库名

(2)调用系统内置存储过程sp_renamede

SP_RENAMEDB 原数据库名, 新数据库名

(3)示例

将数据库 Test 重命名为 NewTest

ALTER DATABASE Test MODIFY NAME=NewTest
SP_RENAMEDB Test, NewTest

5.删除用户数据库

(1)格式

DROP DATABASE 数据库名

(2)示例

删除名为的 Books 的数据库

DROP DATABASE Books
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 14:33:26

解决phpstudy_pro 无法启动 MySQL 以及3306被占用的问题

问题说明 首先我们在启动mysql服务的时候,服务无法启动,而且一直重试。 一、是否真的是端口占用 启动 phpstudy_pro,点击 MySQL 的「启动」按钮,若弹出错误提示: MySQL 启动失败:端口 3306 被占用 或 Po…

作者头像 李华
网站建设 2026/7/5 4:27:14

【synchronized 与 ReentrantLock + Condition 的深度对比 Plus版】

Java并发编程:synchronized 与 ReentrantLock Condition 的深度对比——从Monitor队列到惊群效应与精确唤醒前言正文一、每个Java对象天生都能当锁?Monitor的底层结构形象比喻:锁对象就像一个会议室。关键区别:二、synchronized的…

作者头像 李华
网站建设 2026/7/6 14:16:25

基于单片机的智能窗帘控制系统设计与实现

一、设计背景与核心需求 随着智能家居技术的发展,传统窗帘的手动操作已无法满足现代生活对便捷性、舒适性和节能性的需求。高层住宅大尺寸窗帘拉动费力、忘记关窗导致风雨侵入、光照过强影响室内环境等问题频发。基于单片机的智能窗帘控制系统,通过环境感…

作者头像 李华
网站建设 2026/7/6 1:29:25

Java 应用提供对接第三方接口的优雅高级写法

一、真正的高手,不是“调通接口”,而是“设计边界” 对接第三方接口,看似只是发个请求、拿个 JSON,但背后其实是——系统边界的协作与防御设计。 你面对的不是自己可控的代码,而是一个随时可能“变脸”的外部世界: 对方文档写着“此字段必传”,实际却返回 null 测试环境…

作者头像 李华
网站建设 2026/7/4 23:44:41

基于S7 - 1200 PLC的工业冷库等控制系统漫谈

基于S7-1200 PLC工业冷库控制系统 基于PLC的空调控制系统设计。 基于PLC的工业空调机组设计。基于PLC的冷风机组系统设计带解释的梯形图接线图原理图图纸,io分配,组态画面在工业领域,对于温度的精准控制至关重要,无论是冷库、空调…

作者头像 李华