数据库的概念和操作

news2024/12/31 4:57:06

目录

1、数据库的概念和操作

1.1 物理数据库

1. SQL SERVER 2014的三种文件类型

2. 数据库文件组

1.2 逻辑数据库

2、数据库的操作

2.1 T-SQL的语法格式

2.2 创建数据库

2.3 修改数据库

2.4 删除数据库

3、数据库的附加和分离


1、数据库的概念和操作

1.1 物理数据库

数据库在磁盘上以文件为单位存储,SQL Server 2014将数据库映射为一组操作系统文件。

1. SQL SERVER 2014的三种文件类型

主数据文件(.mdf):每个数据库有且仅有一个主数据文件.。

辅助数据文件(次数据文件.ndf):0~N个,主数据文件容量不足,存到辅助数据文件。

事务日志文件(.ldf):>=1个,用于恢复数据库的日志信息。

2. 数据库文件组

文件的集合,简化数据的存放和管理。

主文件组(primary):主数据文件+未放入其他文件组辅助数据文件

用户定义文件组:可以收集辅助数据文件。

1.2 逻辑数据库

数据库存储数据容器

组成数据库逻辑成分,为数据库对象,SQL Server 2014包括表,视图,存储过程,触发器,函数等等。数据库+数据库对象的创建,修改,删除用的是DDL。

SQL Server 2014有两类数据库,系统数据库用户数据库

系统数据库

1. master 数据库

master 数据库是SQL Server 2014中最重要的数据库,是整个数据库服务器的核心存放基本信息,应定期备份

2. model 数据库

model 数据库是SQL Server 2014中创建数据库的模板

3. msdb 数据库

msdb 数据库提供运行SQL Server Agen任务的信息 SQL Server Agent是SQL Server中的一个Windows服务,用来运行制定的计划任务。

4. tempdb 数据库

tempdb 数据库是SQL Server 2014中的一个临时数据库存放临时变量和中间结果关闭SQL Server 2014,tempdb数据库内容会被清空

2、数据库的操作

2.1 T-SQL的语法格式

{ }:里面的内容必须写

[ ]:里面的内容可选

[,...n]:可写多个,用,分隔

A | B | C只能选一个

< >:是一个语法块

接下来的代码,

全大写的单词->关键字(关键字不区分大小写,我是为了是代码更清晰,才全大写)

小写的单词->用户自己定义

注意数据库中的字符串用单引号。'D:\data\student_data.mdf',路径用   \   。

2.2 T-SQL创建数据库

CREATE DATABASE database_name
[ON [PRIMARY] 
<filespec>[,...n]]
[,FILEGROUP filegroup_name
<filespec>[,...n]]
[LOG ON
<filespec>[,...n]]

<filespec> ::={(
NAME = logic_file_name,  -- 逻辑名是数据库中文件名,没有后缀名。
FILENAME = '',  -- 文件的路径,有后缀名。
[,SIZE = size[KB|MB|GB|TB] -- 默认MB
[,MAXSIZE = {maxsize[KB|MB|GB|TB] | UNLIMITED}] -- 默认MB
[,FILEGROWTH = growth_increment[KB|MB|GB|TB|%]]) -- 默认MB
}

例:

-- 先在D盘创建data文件夹
create database student
on primary(
name = 'student_data',
filename = 'D:\data\student_data.mdf',
size = 5,
maxsize = 20,
filegrowth = 5%)
,filegroup fp1(
name = 'student_1',
filename = 'D:\data\student_1_data.ndf',
size = 2,
maxsize = 20,
filegrowth = 1
)
log on(
name = 'student_log',
filename = 'D:\data\student_log.ldf',
size = 3,
maxsize = 10,
filegrowth = 1)

2.3 T-SQL修改数据库

一次只能执行一个命令

ALTER DATABASE database_name
{ADD FILE<filespec>[,...n][TO FILEGROUP filegroup_name] -- 一般添加数据文件
|ADD LOG FILE<filespec>[,...n] -- 添加日志文件
|REMOVE FILE logic_file_name  -- 删除数据或日志文件
|MODIFY FILE<filespec>  -- 修改数据或日志文件
|ADD FILEGROUP filegroup_name -- 添加文件组
|REMOVE FILEGROUP filegroup_name -- 删除文件组
|MODIFY NAME = new_dbname -- 修改数据库名
}

也可以使用sp_renamedb old_name new_name,改数据库名 。

如:修改文件的大小

-- 如:修改文件的大小
alter database student
modify file(
name = 'student_1',
filename = 'D:\data\student_1_data.ndf',
size = 8
) 

2.4 T-SQL删除数据库

DROP DATABASE database_name[,...n]

3、数据库的附加和分离

用于数据库备份迁移操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React中最优雅的异步请求

给大家分享在React19中使用useSuspense处理异步请求为什么是被认为最优雅的解决方案 一. 传统方案 解决异步请求的方案中&#xff0c;我们要处理至少两个最基本的逻辑 正常的数据显示数据加载的UI状态 例如&#xff1a; export default function Index(){const [content, …

基于Bregman的交替方向乘子法

目录标题 ADMM方法简介Bregman散度Bregman ADMM的原理主要优势代码示例&#xff1a;各个符号的解释&#xff1a;**梯度的几何含义**&#xff1a;具体数学公式&#xff1a;**应用示例**&#xff1a;**ADMM的标准形式&#xff1a;****ADMM中的变量角色&#xff1a;****ADMM中的更…

`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别

文章目录 1、什么是空字符串&#xff1f;2、两个引号之间加上空格 好的&#xff0c;我们来详细解释一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 这两个条件之间的区别&#xff0c;以及它们在 SQL 查询中的作用&#xff1a; 1. we_chat_union_id IS NOT NULL 含…

随机变量是一个函数-如何理解

文章目录 一. 随机变量二. 随机变量是一个函数-栗子(一对一)1. 掷骰子的随机变量2. 掷骰子的随机变量&#xff08;求点数平方&#xff09;3. 抛硬币的随机变量4. 学生考试得分的随机变量 三. 随机变量是一个函数-理解(多对一) 一. 随机变量 随机变量就是定义在样本空间上的函数…

jwt在express中token的加密解密实现方法

在我们前面学习了 JWT认证机制在Node.js中的详细阐述 之后&#xff0c;今天来详细学习一下token是如何生成的&#xff0c;secret密钥的加密解密过程是怎么样的。 安装依赖 express&#xff1a;用于创建服务器jsonwebtoken&#xff1a;用于生成和验证JWTbody-parser&#xff1…

大厂开发规范-如何规范的提交Git

多人协作开发提交代码通常是遵循约定式提交规范&#xff0c;如果严格安照约定式提交规范&#xff0c; 手动进行代码提交的话&#xff0c;那么是一件非常痛苦的事情&#xff0c;但是 Git 提交规范的处理又势在必行&#xff0c;那么怎么办呢&#xff1f; 经过了很多人的冥思苦想…

企业安装加密软件有什么好处?

加密软件为企业的安全提供了很多便利&#xff0c;从以下几点我们看看比较重要的几个优点&#xff1a; 1、数据保护&#xff1a;企业通常拥有大量的商业机密、客户数据、技术文档等敏感信息。加密软件可以对这些信息进行加密处理&#xff0c;防止未经授权的人员访问。即使数据被…

【ANGULAR网站开发】初始环境搭建

1. 初始化angular项目 1.1 创建angular项目 需要安装npm和nodejs&#xff0c;这边不在重新安装 直接安装最新版本的angular npm install -g angular/cli安装指定大版本的angular npm install -g angular/cli181.2 启动angular 使用idea启动 控制台启动 ng serve启动成功…

Python 屏幕取色工具

Python 屏幕取色工具 1.简介&#xff1a; 屏幕取色小工具‌是一种实用的软件工具&#xff0c;主要用于从屏幕上精确获取颜色值&#xff0c;非常适合设计、编程等需要精确配色的领域。这类工具通常能够从屏幕上任何区域精确提取颜色值&#xff0c;支持在整数值、RGB值、BGR值之…

宏集eX710物联网工控屏在石油开采机械中的应用与优势

案例概况 客户&#xff1a;天津某石油机械公司 应用产品&#xff1a;宏集eX710物联网工控屏 应用场景&#xff1a;钻井平台设备控制系统 一、应用背景 石油开采和生产过程复杂&#xff0c;涵盖钻井平台、采油设备、压缩机、分离器、管道输送系统等多种机械设备。这些设备通…

实验室服务器Ubuntu安装使用全流程

一、制作U盘启动盘 工具&#xff1a; 一个32G以上的U盘Rufuse镜像烧录软件下载&#xff1a;https://cn.ultraiso.net/xiazai.htmlRufus - 轻松创建 USB 启动盘https://cn.ultraiso.net/xiazai.htmlUbuntu系统镜像&#xff1a;https://ubuntu.com/download/alternative-downlo…

2-198基于Matlab-GUI的运动物体追击问题

基于Matlab-GUI的运动物体追击问题&#xff0c;定义目标航速、航线方向、鱼雷速度&#xff0c;并设置目标和鱼雷初始位置&#xff0c;根据航速和航向优化鱼雷路径&#xff0c;实现精准打击。程序已调通&#xff0c;可直接运行。 2-198基于Matlab-GUI的运动物体追击问题

实验五 时序逻辑电路部件实验

一、实验目的 熟悉常用的时序逻辑电路功能部件&#xff0c;掌握计数器、了解寄存器的功能。 二、实验所用器件和仪表 1、双 D触发器 74LS74 2片 2、74LS162 1片 3、74194 1片 4、LH-D4实验仪 1台 1.双…

UnityURP 自定义PostProcess之深度图应用

UnityURP 自定义PostProcess之深度图 前言项目Shader代码获取深度图ASE连线获取深度图 前言 在Unity URP中利用深度图可以实现以下两种简单的效果&#xff0c;其他设置参考 UnityURP 自定义PostProcess 项目 Shader代码获取深度图 Shader "CustomPost/URPScreenTintSha…

PlasmidFinder:质粒复制子的鉴定和分型

质粒&#xff08;Plasmid&#xff09;是一种细菌染色体外的线性或环状DNA分子&#xff0c;也是一种重要的遗传元素&#xff0c;它们具有自主复制能力&#xff0c;可以在细菌之间传播&#xff0c;并携带多种重要的基因(如耐药基因与毒力基因等)功能。根据质粒传播的特性&#xf…

mongodb(6.0.15)安装注意事项,重装系统后数据恢复

window10系统 上周重装了系统&#xff0c;环境变量之类的都没有了。现在要恢复。 我电脑里之前的安装包没有删除&#xff08;虽然之前也没在C盘安装&#xff0c;但是找不到了&#xff0c;所以需要重新下载安装&#xff09;&#xff0c;长下图这样。这个不是最新版本&#xff0…

【AI学习】DeepSeek-V3 技术报告学习:总体架构

翻了一下DeepSeek-V3 技术报告学习&#xff0c;太长&#xff0c;只是大概翻了一下&#xff0c;其中Multi-Token Prediction的技术就很亮眼。 摘要 本文介绍了DeepSeek-V3&#xff0c;这是一个拥有671B总参数的强大混合专家&#xff08;MoE&#xff09;语言模型&#xff0c;每…

b站ip属地评论和主页不一样怎么回事

在浏览B站时&#xff0c;细心的用户可能会发现一个有趣的现象&#xff1a;某些用户的评论IP属地与主页显示的IP属地并不一致。这种差异引发了用户的好奇和猜测&#xff0c;究竟是什么原因导致了这种情况的发生呢&#xff1f;本文将对此进行深入解析&#xff0c;帮助大家揭开这一…

Java中三大构建工具的发展历程(Ant、Maven和Gradle)

&#x1f438; 背景 我们要写一个Java程序&#xff0c;一般的步骤是编译&#xff0c;测试&#xff0c;打包。 这个构建的过程&#xff0c;如果文件比较少&#xff0c;我们可以手动使用java, javac,jar命令去做这些事情。但当工程越来越大&#xff0c;文件越来越多&#xff0c…

Wend看源码-Java-Map学习

摘要 在当今的编程世界中&#xff0c;深入了解各类数据类型对于开发者而言至关重要。本篇聚焦于 JDK 21 版本下&#xff0c;Java.util 包所提供的 Map 类型。Map 作为一种关键的数据结构&#xff0c;能够以键值对的形式高效存储和检索数据&#xff0c;广泛应用于众多领域。 本文…