使用SQL命令创建与维护数据库

article/2025/3/20 14:54:13

创建数据库

create database DB_Book   -- 数据库名,在现有连接中不可重复
on
primary      -- 主文件
(name = 'DB_Book',     -- 数据文件逻辑名filename = 'D:\A_file\数据库\图书管理\DB_Book.mdf',   -- 文件名及位置size = 1mb,              -- 初始大小maxSize = 10mb,          -- 最大filegrowth = 10%         -- 增长方式
)
log on      -- 日志文件
(name = 'DB_Book_log',filename = 'D:\A_file\数据库\图书管理\DB_Book.ldf',size = 1mb,maxSize = 10mb,filegrowth = 2mb
)

注意事项:
1、程序执行前应先判断该数据库是否已经存在
2、注释为 –
3、程序不区分大小写
4、写代码时,所有英文字母、数字、标点符号、空格、注释语句都要在英文状态下写,会减少很多错误

例一:

创建一个图书管理数据库,名字为DB_Book
1、主数据文件名为DB_Book,主文件组的主数据文件存储路径及文件名为 ”D:\A_file\数据库\图书管理\DB_Book.mdf“ ,数据文件初始大小设置为2mb,文件最大空间仅受磁盘限制,增长方式按照10%增长。
2、日志文件逻辑名为DB_Book_log,日志文件存储路径及文件名为 “D:\A_file\数据库\图书管理\DB_Book.ldf”,日志文件初始大小为1mb,文件最大空间受磁盘限制,数据文件按空间增长方式为每次2mb增长。
3、在主文件组下生成辅助数据文件,辅助数据文件名为DB_Book01,辅助文件的存储路径及文件名为“D:\A_file\数据库\图书管理\DB_Book01.ndf”,数据文件初始大小为2mb,文件最大空间仅受磁盘限制,增长方式按照10%增长。
4、自定义文件组Book,在Book下生成辅助数据文件,辅助数据文件逻辑名为DB_Book02,辅助文件的存储路径及文件名为“D:\A_file\数据库\图书管理\DB_Book02.ndf”,数据文件初始大小为2mb,文件最大空间仅受磁盘限制,增长方式按照10%增长。
代码实现如下:

create database DB_Book   -- 数据库名,在现有连接中不可重复
on
primary      -- 主文件
(name = 'DB_Book',     -- 数据文件逻辑名filename = 'D:\A_file\数据库\图书管理\DB_Book.mdf',   -- 文件名及位置size = 1mb,              -- 初始大小maxSize = unlimited,          -- 最大filegrowth = 10%         -- 增长方式
),
-- 在主文件组下生成辅助数据文件'DB_Book01
(name = 'DB_Book01',filename = 'D:\A_file\数据库\图书管理\DB_Book01.ndf',size = 2mb,              -- 初始大小maxSize = unlimited,          -- 最大filegrowth = 10%         -- 增长方式
),
-- 自定义文件组Book,在Book下生成辅助数据文件
filegroup Book
(name = 'DB_Book02',filename = 'D:\A_file\数据库\图书管理\DB_Book02.ndf',size = 2mb,              -- 初始大小maxSize = unlimited,          -- 最大filegrowth = 10%         -- 增长方式
)
log on      -- 日志文件
(name = 'DB_Book_log',filename = 'D:\A_file\数据库\图书管理\DB_Book.ldf',size = 1mb,maxSize = unlimited,filegrowth = 2mb
)

维护数据库

1、查看数据库信息

最常用的方法是调用系统存储过程sp_helpdb
语法格式:

execute sp_helpdb 数据库名

2、增加数据库文件的初始化大小

不能比之前小于等于,只能增大

alter database 数据库名
modify file (name =  文件逻辑名,size = 文件大小)

3、调整文件自动增长大小

alter database 数据库名
modify file (name =  文件逻辑名,filegrowth = 文件增长量)

4、数据库的重命名

execute sp_renamedb 原数据库名,新名

5、数据库的删除

drop database 数据库名

首先要脱机,会删除对应文件
不脱机的话,生成的的文件不会删除,只是删除了连接
请添加图片描述

附加与分离数据库

1、数据库的分离

通过系统存储过程sp_detach_db 实现

execute sp_detach_db 数据库名   -- 不会删除相关联的全文索引文件

2、数据库的附加

SQL2005后版本不支持sp_attach_db附加,可使用create database命令实现数据库的附加

create database test    -- 数据库名
on
(name = 'test',   -- 主数据文件逻辑名称filename = 'D:\A_file\数据库\图书管理\test.mdf'   -- 主数据文件物理名称
)
for attach

备份与恢复数据库

1、数据库的备份

一、先创建一个备份设备,再将数据库备份到备份设备上

sp_addumpdevice '设备类型','逻辑名称','物理名称'-- 设备名称:备份设备的类型,如果是硬盘,为disk
-- 逻辑名称:备份设备的逻辑名称
-- 物理名称:备份设备的物理名称,必须包括完整的路径

二、直接将数据库备份到物理设备上

backup database 数据库名 to 设备名称(逻辑名称或物理名称)
[with [name=备份集名称][,init|noinit]]-- 备份设备:备份设备的逻辑名称或物理名称
-- 备份集名称:指生成的备份集的名称
-- init:表示新备份的数据会覆盖备份设备上原有的备份数据
-- noinit: 追加到原有数据的后面

三、事务日志备份

backup log 数据库名 to备份设备(逻辑名称或物理名称)
[with [name=备份集名称][,init|noinit]]

数据库的恢复

restore database 数据库名 from 备份设备
[with [file = n] [,norecovery|recovery] [,replace]]-- file = n:表示从逻辑备份设备上第几个备份中恢复
-- recovery:在数据库恢复完成后,SQL回滚被恢复的数据库中所有未完成的事务,以保证数据库的完整性和一致性。recovery用于最后一个备份的还原。
-- norecovery:在数据库恢复完成后,SQL不会回滚被恢复的数据库中所有未完成的事务,恢复后的数据库可能不能使用,所以还需要recovery再一次还原,以保证数据库的完整性和一致性。
-- replace:表示要创建一个新的数据库,并将备份还原到新的数据库。如果服务器上存在一个同名的数据库,则原来的数据库会被删除

例;

从备份设备DatBak中替代还原数据库Student_mg

restore database Student_mg from DatBak with replace

恢复事务日志:

restore log 数据库名 from 备份设备
[with [file = n] [,norecovery|recovery]]

恢复指定文件:

restore database 数据库名
file = 文件名|filegroup = 文件组名 from 备份设备
[with partial [,file = n] [,norecovery] [,replace]] 

恢复文件或文件组:

restore database 数据库名
file = 文件名|filegroup = 文件组名 from 备份设备
[with [,file = n] [,norecovery] [,replace]] 

http://chatgpt.dhexx.cn/article/Q5wwHwiO.shtml

相关文章

sqlserver数据库得管理及维护

sqlserver数据库得管理及维护 sqlserver数据库得管理及维护 sqlserver数据库得管理及维护前言一、手动备份及恢复二、自动备份及定期清除备份集计划三、数据库日志收缩方法一:直接通过企业管理器收缩日志方法二:分离数据库及日志文件 四、数据库索引碎片…

《数据库系统实训》实验报告——数据库维护

数据库维护 第一部分:样例库的应用 1)备份数据库命令: mysqldump -u root -p --databases test1 > /usr/local/mysql/test1.bak.sqltest1是数据库的备份文件 2)恢复备份数据: 首先删除原有的数据库test1&#xf…

SQL Server 数据库维护计划

SQL Server 数据库维护计划 开始 SQL Server 维护计划向导选择计划属性新建作业计划选择维护任务选择维护任务顺序维护任务配置1. 数据库检查完整性2. 数据库完整性备份3. 数据库差异性备份4. 数据库事务日志备份5. 清除维护 选择报告选项启用邮件配置文件重启代理服务执行维护…

MySQL之数据库维护

文章目录 1 数据库维护1.1 数据库文件1.1.1 MySQL创建并管理的数据库文件1.1.2 MySQL数据库存放位置 1.2 性能状态关键指标QPS和TPS1.3 开启慢查询日志1.4 数据库备份1.4.1 myqldump示例 1.5 数据库修复1.5.1 myisamchk修复1.5.2 mysqlcheck修复1.5.3 .frm文件修复1.5.3.1 Inno…

数字电路实验怎么接线视频讲解_电工知识:三相电表怎么接线?2种接线方法一一讲解,实物对照...

之前我们介绍单项电表接线方法,本期我们介绍三相电表接线方法,主要说两种,一种是直接式一种是带电流互感器的。这2种接线从测量原理和构成角度来说,没什么差别。只不过直接式的三相电表额定电流是根据负载的电流来选的&#xff0c…

数电实验七:译码显示电路

转载自https://wu-kan.cn/_posts/2018-07-03-译码显示电路/ 数字电子技术实验报告 实验题目:译码显示电路 预习报告 内容一 74LS194芯片相关。 功能与真值表 CP时钟 C r ‾ \overline{Cr} Cr清零 S 1 {S_1} S1​ S 0 {S_0} S0​工作状态 Q A Q_A^ QA​ Q B …

【数电实验3】Verilog—1位十进制可逆计数器

【2022.04西南交大数电实验】 【2022.04.17 更新修改了一个错误: assign CO (upd & (Q 4d9)) | (~upd & (Q 4d0) & ~clr); ~clr改为了clr: assign CO (upd & (Q 4d9)) | (~upd & (Q 4d0) & clr); 另外 ,把…

数电实验三-点亮四个数码管(Multisim和Basys3)

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料) 特别说明:该系列内容均是本人实验记录,无盗取侵权之嫌…

数电实验八 译码显示电路(2)点阵的原理和应用

仅作笔记用途。 器件:16*16 点阵、74LS138 、74LS00 等。 注:proteus上用4个8*8点阵组合为16*16点阵时,要先旋转8*8点阵直到其行有效电平为高,列有效电平为低才和实验箱上的一致,并且针脚分别控制哪几行哪几列也需要…

数电实验--Verilog第一次实验验收题目汇总

【本人只是想自己总结一下,大部分代码和原理图来源于教程https://www.stepfpga.com/doc】 1、点亮LED 目的:利用开发板上的四个拨码开关和四个按键分别控制8个LED灯的亮灭(按键按下时输出高电平,LED亮)。 module LE…

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

目录 考试注意事项 A卷 74LS192 74LS00 B卷 74LS153 74LS00 / 74LS20 74LS139 C卷 74LS153 74LS00 / 74LS20 74LS139 课程感悟 考试注意事项 1.考试前请检查实验箱号和仪器号与座位号是否一样,不一样请请示老师更换; 2.请自行检查导线、芯片、仪器的…

数电实验大作业2-实验十一 电子密码锁

实验要求..在下面这个链接里: http://docs.google.com/fileview?id=0B_IAvxLi-MonMjhmMDM5OTgtNzgyMC00MTMwLWJiNGItMmUxODQ4MGY2ZmUz&hl=zh_CN 完整的实验报告: 1. 电子锁功能要求 l 2种工作模式,可以设置和校验密码 l 密码长度为8位,内容为数字1-9,分别对应9个微动开…

数电出题??自启动问题

题目 用一片74LS195寄存器和一片八选一数据选择器,设计一个移存型计数器,要求状态转移规律为:1→2→4→9→3→6→12→8→1→2……设计要求自启动,画出逻辑图。 知识点 中规模移位寄存器实现序列信号发生器的设计,数…

数字电路实验怎么接线视频讲解_家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你...

家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你 有不少用户收到从家庭影院器材之后,表示完全不会连接。翻看说明书也觉得头大,知识太多,然而却很难找到要点。 今天主要跟大家讲讲如何连接音箱、功放、投影机和…

共阴极数码管,学号显示实验

【实例简介】 文件:590m.com/f/25127180-489944078-ccc9ce(访问密码:551685) 以下内容无关: -------------------------------------------分割线--------------------------------------------- 1.1 Webpack是什么…

数电实验(四)利用集成数值比较器74LS85设计一个4位数值比较器

数电实验(四)利用集成数值比较器74LS85设计一个4位数值比较器 要求: 1、输入为两个4位二进制数,分别接四个逻辑电平开关,同时接数码管 2、 输出和LED相连 Multisim仿真:

数电实验:数字时钟设计 (经验分享,仅供参考)

实 验 目 的 一、独立完成一个数字小系统的设计 二、基于实验箱对设计进行验证 实验内容: 能够显示时、分、秒共6位数字; 考虑使用实验箱时钟(频率包括1M、500K、 250K、100K、10K、1K等); 考虑使用实验箱数码管输出接口。 …

(数电实验报告)电子琴设计 Verilog

实验名称 电子琴设计—任务1 1.设计思路 预置分频比 音名 分频系数(3Mhz) 中音 高音 1 11468 5736 2 10215 5111 3 9102 4552 4 8591 4289 5 7653 3827 6 6818 3409 7 6073 3037 理论频率对照表 音名 频率(Hz) 中音 高音 1 261.63 523.25 2 293.66 587.33 3 329.63 659.26 4…

数电实验六:利用MSI设计组合逻辑电路

转载自https://wu-kan.cn/_posts/2018-08-27-利用MSI设计组合逻辑电路/ 数字电子技术实验报告 实验题目:利用MSI设计组合逻辑电路 预习报告 内容一:74LS138相关 逻辑真值表 | S 2 S_2 S2​| S 1 S_1 S1​| S 0 S_0 S0​| Y 0 Y_0 Y0​| Y 1 Y_1 Y1​…

数电实验4:彩灯控制器设计

数电实验4:彩灯控制器设计 一、实验目的二、实验内容三、预习要求四、实验报告要求五、Verilog代码、RTL视图及仿真波形1.Verilog代码2.RTL视图3.仿真波形 西南交大数电实验————《数字电路与计算机组成原理》 一、实验目的 巩固组合逻辑电路设计、仿真方法.学…