数据库的概念和操作

目录

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、数据库的附加和分离

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CSS in Depth 2 精译_096】16.4:CSS 中的三维变换 + 16.5:本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第五部分 添加动效 ✔️【第 16 章 变换】 ✔️ 16.1 旋转、平移、缩放与倾斜 16.1.1 变换原点的更改16.1.2 多重变换的设置16.1.3 单个变换属性的设置 16.2 变换在动效中的应用 16.2.1 放大图标&am…

期权懂|个股期权的流动性如何?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 个股期权的流动性如何&#xff1f; 个股期权作为场外交易工具&#xff0c;具有较高的灵活性。场外交易意味着交易双方可以直接协商交易条款&#xff0c;这有助于满足不同投资者的…

关于在M系列的Mac中使用SoftEtherClient软件

1. 前言 本文说明的是在M系列的苹果的MacBook中如何使用SoftetherClient这款软件&#xff0c;是直接在MacOS操作系统中安装连接使用&#xff0c;不是在PD环境或者非ARM架构的Mac中安装使用。 PS&#xff1a;别费劲百度了&#xff0c;很少有相关解决方案的&#xff0c;在国内会…

linux自动化批量分发SSH密钥同时批量测试SSH连接教程(包含自动化脚本代码)

1、检查端口 检查分发对象22端口是否打开 nmap -p22 ip地址如果要批量检查端口可以参考我写的这篇文章&#xff1a;linux自动化一键批量检查主机端口 2、命令行分发密钥原理 Linux分发密钥原理主要涉及SSH&#xff08;Secure Shell&#xff09;协议&#xff0c;该协议用于…

vue3学习笔记(9)-pinia、storeToRefs、getters

1.新的集中式状态&#xff08;数据&#xff09;管理库&#xff0c;redux vuex pinia 搭建 2.ref拆包 如果在reactive里面定义ref&#xff0c;则打印c时&#xff0c;无需.value 他自动拆包&#xff0c;如果直接在外面定义的ref则需要.value,他没有拆包 3.pinia存储读取数据 存…

Oracle 11G还有新BUG?ORACLE 表空间迷案!

前段时间遇到一个奇葩的问题&#xff0c;在开了SR和oracle support追踪两周以后才算是有了不算完美的结果&#xff0c;在这里整理出来给大家分享。 1.问题描述 12/13我司某基地MES全厂停线&#xff0c;系统卡死不可用&#xff0c;通知到我排查&#xff0c;查看alert log看到是…

深度学习:基于MindSpore NLP的数据并行训练

什么是数据并行&#xff1f; 数据并行&#xff08;Data Parallelism, DP&#xff09;的核心思想是将大规模的数据集分割成若干个较小的数据子集&#xff0c;并将这些子集分配到不同的 NPU 计算节点上&#xff0c;每个节点运行相同的模型副本&#xff0c;但处理不同的数据子集。…

机器学习-高斯混合模型

文章目录 高斯混合模型对无标签的数据集&#xff1a;使用高斯混合模型进行聚类对有标签的数据集&#xff1a;使用高斯混合模型进行分类总结实战 高斯混合模型 对无标签的数据集&#xff1a;使用高斯混合模型进行聚类 对有标签的数据集&#xff1a;使用高斯混合模型进行分类 总结…

android studio android sdk下载地址

android studio安装后&#xff0c;因为公司网络原因&#xff0c;一直无法安装android sdk 后经过手机网络&#xff0c;安装android sdk成功如下&#xff0c;也可以手动下载后指定android sdk本地目录 https://dl.google.com/android/repository/source-35_r01.zip https://dl…

【RK3588 Linux 5.x 内核编程】-内核I2C子系统介绍

内核I2C子系统介绍 文章目录 内核I2C子系统介绍1、内核中的I2C子系统2、内核中的I2C驱动2.1 获取I2C适合器2.2 创建i2c_board_info与设备2.3 创建设备ID和I2C驱动2.4 数据传输2.4.1 发送数据2.4.2 读取数据3、I2C总线如何工作I2C 是一种用于双线接口的串行协议,用于连接低速设…

更新本地项目到最新git版本脚本

由于平时工作中项目较多&#xff0c;每天刚上班都需要更新一下项目代码&#xff0c;一个一个更新感觉稍微麻烦了一些&#xff0c;所以写了一个简单的shell脚本&#xff0c;每天到公司先执行一遍即可。 #!/bin/bash# 进入指定的目录 target_dir"$1"; cd "$targe…

向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手

随着生成式人工智能技术的飞速发展&#xff0c;越来越多的人和企业开始应用AI到日常的工作和生活中。但公域的AI助手其数据来自互联网上的大量公开文本&#xff0c;虽然具有广泛的知识&#xff0c;但在面对一些特定领域的专业问题时&#xff0c;可能会出现回答不够准确或深入的…

python读写文件的三种做法

对于文件操作&#xff0c;python提供了3种做法&#xff1a;open(), os.open() 和with open()语句。 1. open()函数&#xff1a;一般用于更高级的文件读写操作&#xff0c;即人能读懂的用法&#xff0c;如果是写入数据&#xff0c;可用传入字符串。 用法&#xff1a;open(path…

RCE-PLUS (学习记录)

源码 <?php error_reporting(0); highlight_file(__FILE__); function strCheck($cmd) {if(!preg_match("/\;|\&|\\$|\x09|\x26|more|less|head|sort|tail|sed|cut|awk|strings|od|php|ping|flag/i", $cmd)){return($cmd);}else{die("i hate this"…

【分布式文件存储系统Minio】2024.12保姆级教程

文章目录 1.介绍1.分布式文件系统2.基本概念 2.环境搭建1.访问网址2.账号密码都是minioadmin3.创建一个桶4.**Docker安装miniomc突破7天限制**1.拉取镜像2.运行容器3.进行配置1.格式2.具体配置 4.查看桶5.给桶开放权限 3.搭建minio模块1.创建一个oss模块1.在sun-common下创建2.…

目标检测入门指南:从原理到实践

目录 1. 数据准备与预处理 2. 模型架构设计 2.1 特征提取网络原理 2.2 区域提议网络(RPN)原理 2.3 特征金字塔网络(FPN)原理 2.4 边界框回归原理 2.5 非极大值抑制(NMS)原理 2.6 多尺度训练与测试原理 2.7 损失函数设计原理 3. 损失函数设计 4. 训练策略优化 5. 后…

react中实现拖拽排序

效果图&#xff1a;如下 效果说明&#xff1a; 1. 点击“选择”按钮&#xff0c;打开弹窗 2. 左侧数据是调接口回显来的 3. 点击左侧某条数据&#xff0c;这条被点击的数据就会被添加到右侧 4. 右侧的数据可以上下拖动换位置 5. 右侧有数据时&#xff0c;点击"确定"…

亚马逊国际站商品爬虫:Python实战指南

在数字化时代&#xff0c;数据的价值不言而喻。对于电商领域而言&#xff0c;获取竞争对手的商品信息、价格、评价等数据&#xff0c;对于市场分析和策略制定至关重要。本文将带你了解如何使用Python编写爬虫&#xff0c;以亚马逊国际站为例&#xff0c;按照关键字搜索并获取商…

Problem: 3046. 分割数组(LeetCode)

题目来源&#xff1a; https://leetcode.cn/problems/split-the-array/description/3046. 分割数组 - 给你一个长度为 偶数 的整数数组 nums 。你需要将这个数组分割成 nums1 和 nums2 两部分&#xff0c;要求&#xff1a; * nums1.length nums2.length nums.length / 2 。 *…

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 大模型进化树&#xff0c;可以看到 InstructGPT 所处的年代和位置。来自 大语言模型&#xff08;LLM&#xff09;综述与实用指南&#xff08;Amazon&#xff0c;2023&#xff09; 目录 摘要 1 引言 …