SQL Server数据库笔记整理(一)

article/2025/11/9 7:57:01
  • 数据库:持久化存储,优化读写,保证数据的有效性。 关系型数据库是基于E-R模型(即实体-模型),使用SQL语言进行操作。
  • 数据库分类:文档型数据库、服务型数据库(使用居多) (移动端即手机都是使用sqlite文档型数据库)
  • 三范式:列不可拆分、唯一标识、引用主键
  • 关系及储存:
1对11对多多对多
1个A对1个B1个A对几个B1个A对几个B
1个B对1个A1个B对1个A1个B对几个A
关系存A或B关系存B关系存新建表C
  • 数据库文件:1.主数据文件.mdf(包含数据库启动信息,并存储数据) 2.辅助数据文件 即日志文件.ldf
  • 一个数据库有且只有一个主文件
  • 至少有一个日志文件
  • 数据库分为:用户数据库(自定义)、系统数据库(含5个,即master、Model、tempdb、msdb、resource(不显示在软件框中))
  • 数据库对象:表、数据类型、视图、索引、约束、默认值、存储过程、触发器
  • 约束:主键、非空、唯一、默认、检查、外键
  • 外键:A表决定B表,则A表为主键表,B表为外键表,外键在外键表上
T-SQL操作数据库
  • 创建数据库
create database student
on
(
name="student",	//主文件的逻辑名
filename="C:/student.mdf",	//存储数据库主文件的地址
size=5mb,//数据库主文件大小
maxsize=80mb,//最大容量
filegrowth=10% //增长值,以原大小的10%增长
)
log on 
(
name="student_log",//日志文件的逻辑名
filename="C:/student.ldf",//日志文件的存放地址
size=2mb,//日志文件的大小
maxsize=5mb,//日志文件的容量最大值
filegrowth=1mb//增长值,以1mb为单位增长
);
  • 删除数据库
drop database student
  • 分离数据库
sp_detach_db student
  • 附加数据库
create database student
on
(
filename="C:\Student.mdf"
)
for attach
  • 查看数据库信息、存储过程
exec sp_helpdb student
  • 创建表
use student//打开数据库
创建学生表
create table stuifo//表名
(
stuid int primary key,//学号,设为主键,int型
stuname varchar(10) not null,//姓名,非空,varchar(10)型
cid int    //班级,int型(做外键)
)- 创建班级表create table classifo//表名
(
cid int primary key       //班级序号,设为主键,int型
)
  • 建立外键
alter table stuifo
add constraint stuclassifo(外键名) 
foreign key(cid) references classifo (cid)
  • 删除表
drop table stuifo
  • 添加列
alter table stuifo
add stusex bit
  • 删除列
alter table stuifo
drop column stusex
  • 修改列的数据类型
alter table student
alter column stuname char(10)//要修改的类型
  • 插入行(数据(记录))
use student
insert stuifo values(1,'小红',2)
或
insert into stuifo values(1),('小红'),(2)
  • 修改行(数据)
use student
update stuifo set stuid=1,cid=3 
where stuname='小红'//条件,当姓名为小红时执行
  • 删除行(数据)
删除学号为1的数据
delete stuifo 
where stuid=1
  • 清空行(数据)
truncate table stuifo(含有外键不可执行)
数据库——数据类型
char(n)varchar(n)varchar(max)text
nchar(n)nvarchar(n)nvarchar(max)ntext
bitbinaryvarbinaryvarbinary(max)
tinyintsmallintintbigint
numericdemical(p,s)smallmoneymoney
float(n)realdatetimedatetime2
smalldatetimedatetime
datetimeoffsettimestampsql_variantuniqueidentifier
xmlcursortable
  • demical(p,s):p为位数,s为小数位
  • 带n的数据类型表示unicode编码,每一个字符占一个字节,若无n表非unicode编码,英文数字占一个字符,汉字占两个字节。
  • 带var的数据类型表示为可变长度,如若存"abc",char(5)存为"abc (后面用两个空格补位)",varchar(5)存为"abc"(不补位)。

我的公众号:德秀笔记
公众号用来总结一些学习笔记。

在这里插入图片描述
我的 github博客:
憨秀清 https://oydq.github.io


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

相关文章

软件测试工程师学习笔记11 - 数据库篇

软件测试工程师学习笔记 -11 一、入门必读二、Linux三、数据库1.MySQL基础1) sql语言的注释2)mysql中常用数据类型3)表、字段、记录4)数据库中的常用命令4)字段的约束5)总结 一、入门必读 二、Linux 三、…

计算机三级 数据库技术 学习笔记

版权声明:本文为CSDN博主「RanLZ」的原创文章,转载请附上原文出处链接。 计算机三级 数据库技术 第一章 数据库应用系统开发方法 1.1 数据库应用系统生命周期 1.1.1 软件工程与软件开发方法 瀑布模型快速原型模型螺旋模型 1.1.2 DBAS生命周期模型 p …

数据库系统概论复习笔记

Ch1 绪论 1.1 基本概念 数据Data、数据库DB、数据库管理系统DBMS、数据库系统DBS 数据是数据库中存储的基本对象,是用来描述事物的符号。数据库是长期储存在计算机内的、有组织的、可共享的、大量数据的集合。数据库管理系统位于用户与操作系统之间的一层数据管理软件,用于…

数据库系统概论学习笔记(1)

数据库系统第一章 目录 数据库系统第一章1. 绪论1.1 数据库系统概述1.2 数据(Data)图解注意点例子 1.3 数据库(DataBase)注意点1.4 数据库管理系统(DateBase Management System DBMS)1.5 数据库系统(DateBase System,DBS)1.6 数据库管理的三个阶段 1. 绪论 1.1 数据库系统概述…

软件工程学习笔记

其他 【专栏必读】王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 【专栏必读】王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维…

数据库原理第七章笔记

一、 数据库设计概述 数据库设计,广义的讲是数据库及其应用系统的设计,即整个数据库应用系统。狭义的讲是设计数据库本身,即设计数据库的各级模式并建立数据库,也是数据库应用系统设计的一部分。 数据库设计是指对于一个给定的应…

软件设计师学习笔记-数据库系统

目录 数据库系统 三级模式-两级映射 数据库设计过程 E-R模型 关系代数 规范化理论-函数依赖 规范化理论-价值与用途​ 规范化理论-键 规范化理论-求候选键 规范化理论-范式 规范化理论-模式分解 并发控制概念 并发控制存在的问题 并发控制的封锁协议 数据库完整…

SQL数据库--笔记

一、数据库概念 1.数据库 数据库(DB)是存放数据的仓库,按照一定的关联,按照一定的格式存储在计算机中 2.数据库管理系统 数据库管理系统(DBMS)按一定的数据模型组织数据形成数据库,并对数据…

数据库系统工程师考点笔记

目录 第1章 计算机系统知识1.1 计算机硬件基础知识 11.1.1 中央处理单元 11.1.2 存储器 41.1.3 总线 71.1.4 输入输出控制 10 1.2 计算机体系结构 141.2.1 CISC和RISC…… 151.2.2 流水线技术 161.2.3 阵列处理机、并行处理机和多处理机 19 1.3 存储系统 201.3.1 高速缓存 211.…

高级数据库课程笔记

前言:高级数据库的课程笔记,按提纲整理,部分内容没有整入。 文章目录 其他数据库:XMLDB OODB ORBDXML数据库特点SQL/XML 面向对象对象关系数据库系统中扩展的关系数据类型LOBboolean集合类型array自定义类型distinct面向对象数据…

数据库与软件工程学习笔记(一)——数据库系统介绍

学习内容:数据库系统介绍 前言 笔者系19级电子科技大学的一名学生,针对本学期学习的数据库与软件工程课程,在csdn下记录自己的学习笔记,因为是边学边记录,博客内容难免有不够成熟之处,希望大家可以在评论…

狂神说数据库笔记

文章目录 1.初识数据库1.1、 什么是数据库1.2、数据库分类1.3、MySQl简介1.4、连接数据库 2.操作数据库2.1 操作数据库(了解)2.2 数据库的列类型2.3、数据库的字段属性(重点)2.4、创建数据库2.5、数据表的类型2.6、删改数据库 3.M…

号称程序员的最后一款笔记软件!来看看它有多牛逼

点关注公众号,回复“1024”获取2TB学习资源! 市面上笔记软件五花八门,都各有特色。wolai、语雀、飞书、印象笔记、石墨、幕布、为知笔记.....等等,数不胜数,但我最终选择了notion,因为它实在太好用了&#…

【数据库笔记】数据库可视化Navicat Premium安装和使用

数据库可视化软件的安装和使用 文章目录 数据库可视化软件的安装和使用一、官网二、安装三、选择许可方式四、连接 一、官网 Navicat | 支持 MySQL、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理 Navicat 在线和 PDF 手册 | 提示和教程 | Navic…

数据库笔记——使用Navicat来可视化管理MySQL数据库

在上一篇文章中:数据库笔记——MySQL的下载与安装(windows系统),讲解了在windows系统中,如何下载和安装MySQL数据库。 这一篇文章跟大家分享一款非常优秀的软件——Navicat。可以帮助我们来可视化管理MySQL数据库。 一、关于Navic…

笔记记录软件:NoteRecorder

利用SQLite数据库做了个笔记记录软件,加上搜索功能,方便自己记录东西所用。下载地址 (请在安装了.net framework 3.0/3.5的机器上运行,win7默认已安装该运行时) 参考资料: 1.KTDictSeg 分词组件: http://www.cnblogs.c…

面试官:说一下HashMap的实现原理?

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现…

【HashMap底层实现原理】

目录 1. 基于Arraylist集合方式实现2. 基于数组链表方式实现(Jdk)3. HashMap底层是有序存放的吗?4. LinkedHashMap实现缓存淘汰框架5. HashMap如何降低Hash冲突概率6. HashMap源码解读6.1 modCount的作用6.2 HashMap7扩容产生死循环问题6.3 HashMap8扩容底层原理6.4…

十分钟快速掌握HashMap底层实现原理(图文详解)

HashMap概述 HashMap实现了Map接口,我们常用HashMap进行put和get操作读存键值对数据。下面介绍基于jdk1.8深入了解HashMap底层原理。 开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取 链接:点这里!!! 79921…

HashMap底层实现原理及面试题

文章目录 1. 常见的数据结构有三种结构1.1 各自数据结构的特点 2. HashMap2.1 概述2.2 底层结构2.2.1 HashMa实现原理:2.2.1.1 map.put(k,v)实现原理2.2.1.2 map.get(k)实现原理2.2.1.3 resize源码 2.2.2 HashMap常用的变量2.2.3 HashMap构造函数 2.3 JDK1.8之前存在…