sqlsever基础知识及详细笔记超爷

记录:每一行对应的实体,在数据库中,通常叫做记录

数据表:不同类型组织在一起,形成了数据库表,也可以说表示实体的集合,用来存储数据。

数据库:并不是简单地存储这些实体的,还有实体的关系,这种关系要数据库来表示,关系是数据库的一部分

数据库管理系统:是系统软件,由一个相互关联的数据集合和一组访问数据构成。这个数据集合称为数据库,包含了很多有用信息,数据库管理系统是基本目标是提供一个有效的存储数据的环境,维护数据库。访问数据库信息。

数据库系统:是一个实际可运行的系统,可以对系统数据存储,维护,信用!

数据冗余:数据重复现象

数据完整性:指数据库数据的准确性

新建数据库连接:文件----连接对象资源管理器

服务器下拉框选择已经连接的服务器

选择身份验证方式

赋予操作限权

数据库文件

事物日志文件

文件组

步骤:选择新建数据库---输入名字—设置参数

分离和附加数据库

分离:右击数据库---任务 ---分离

附加:数据库右击—附加----然后添加

备份和还原:

备份:任务---备份----填写数据

还原:数据库右击—还原---目标数据库---设置位置

属性—选项----自动收缩

检验每行数据是否符合要求

检验每列数据是否符合要求

实体完整性:要求每行数据都反应不同的实体,不能存在相同的数据行  通过索引,唯一约束,主键约束或标识列可以实现实体完整性

域完整性:域完整性指给指定列输入有效性。

引用完整性约束:在输入或删除时,引用完整性约束保持表之间的定义关系

自定义完整性约束:用户自定义完整性来定义的规则

主键:如果在存储了很多行时,如何判断表中没有重复的数据行,这时需要的列,这个列的值用来标识表中的每一行,用于强制表实体完整性,这样的列就是主键。

一个表只能一个主键,并且不允许为空

外键:外键就是用来和主键建立引用关系,相对主表,就是从表的列,这个值要求与主键想对应,外键用来引用完整性,一个表可以有多个外键。

步骤:单机数据库的表节点—奖显示数据表

二进制数据类型

用来储存非字符的数据

Binary。Varbinary。image

固定长度二进制

可变长度二进制

储存图像

文本数据类型

字符数据包括任意字母,符号或数字

Char,varchar,nchar,nvarchar,text,ntext

固定长度非unicode字符

可变长度非unicode字符

固定长度unicode字符

可变长度unicode字符

储存长文本信息

储存可变长度的文本

用于储存日期

Datetime

日期

数字数据类型

数字,正数,负数,分数

Int,smallint,tinyint,bigint,float,real

整数,浮点型

货币数据类型

储存货币值

Money

金钱

Bit数据类型

是/否

Bit

布尔类型

数据库书否允许为空是一项约束,如果该列为空,则输入这行的时候,这一项可以不输入

选择列---右击---然后设置主键(有个钥匙说明成功)

默认值:在不输入的情况下,指点的值!!

添加了标识列,就可以实现自增,要有种子和标识增量

在设计表的时候,可以添加关系(右键)

单击表和列最右侧,弹出建立关系,及主键对话框,

选择表,主键列对应的外键列,单击确定,并保存结构,这样就确立了关系

Check约束:用来控制输入的值得范围的,(如果输入不在范围就报错)

右击数据库表,右击删除(如果有建立的关系,一定要先删除从表的数据,在删主表的数据)

数据需要一套指令集,能够识别指令,执行相应的操作并微程序提供数据。

Sql语言:是针对数据库的一门语言,他可以创建数据库,数据表,可以进行增 删 改 插,可以创建视图,存储过程

DML  用来插入,修改,删除,数据库,(关键词:insert,update,delete)

DDL:用来建立数据库,数据库对象和定义其列,以create完成指令,如create table(建表)

DQL用来查询数据库的,如SELECt(查询关键词)

DCL用来控制数据库组件许可

取商

取余

赋值运算符,等于

比较运算符

>

大于

<

小于

>=

大于等于

<=

小于等于

<>

不等于

And

并且

Or

或者

Not

逻辑运算符    不是

语法:insert 【into】 表名   (列名)   values(列值)

Insert  select(必须先创建表)

语法:insert  into 新表名(列名)  select  列名(旧表中的列)1,2,3  from 旧表

Select  into (会自动创建表)

Select 旧表的列1,列2,列3   into  新表   from  旧表

插入标识列:  select  identity(数据类型,种子,增长量) as  别名  into   新表   from  旧表

通过Union  插入多条数据

Insert  表名(列名)

Select 列值   union

Select 列值   union

Select 列值   union

最后一个不要union

Update  表名   set   列名=值   [where 条件]

语法:DELETE 【from】 表名   【where 条件】

数据在接收查询请求时,可以理解为逐行判断,判断是否符合查询条件,如果符合,就抽取出来,形成一个类似于表的结构,这就是记录集

语法:select 列名(或者*全部) from  表名  where +条件  order  by  +列名(asc/desc)

查询所有:select *  from  表名

查询部分列:select  列名1,列名2,from  表名    where +条件

在查询中取别名:select  列 as +别名    列的别名

在查询中取别名:select  表 as +别名    表的别名

查询空值:select  列名   from  表  where  列名(另一个) is  null

查询中使用常量:select   姓名=Sname ,地址=address  as  学校  from  表名

查询返回的行数:select  top  5  name,address  from  表  where  sex=0

Order  by+列名  desc /asc

Charindex

查找指定字符串其始位置

Select charindex (‘值’,字符串,1)返回数字

Len

返回字符串长度

Select  len (字符串)

Ltrim

清除左空格

Select trim  (字符串)

Ritrim

清除右空格

Select ritrim  (字符串

Right

重右边截取字符串

Select right(字符串,3)(3表示截取长度)

Replace

替换一个字符串的字符

Selct replace (字符串,替换额字符,替换为那个字符)

Stuff

在字符串中删除一定长度,在该文置插入另一个

Select stuff(之前的很字符串,替换的坐标,替换的长度,替换为什么)

Getedate()

Select  getdate()

Dateadd()

Datediff

将制定的值添加到日期的指定日期后面

Select date (mm,4,日期

返回:)相当于月份增加4,最后返回日期

Datename

两个日期指定位置的差

Select datediff(mm,日期一,当前日期)

dateprat

日期以字符串的形式显示

Select datename(dw,日期。返回日期的形式(dw,表示周))

日期中指定的部分显示出来

Select datepart (day,日期),返回  日

Rand

返回0~1的随机数

Select rand()

Abs

取绝对值

Select abs(数值)

Celing

向上取整

Floor

向下取整

Power

去表达式的幂值

Select  power(5,2) 五的二次方

Round

将表达式四舍五入

Sign

正数取1,负数取-1,0取0

Select sign (-23)返回-1

Sqrt

取浮点的平方根

Select sort(9) 返回3

输入一个字符

A like ‘C_’   cs/cd 都符合

输入任意长度

B like ‘o%’   const/coke  都符合

[ ]

括号中表示范围值

C like ‘9wo[1-2]’ 9wo1/9wo2 f符合

[^ ]

不在 括号里面

D like  ‘9w0[^1-2]’ 9w03/9wo7符合

[01]

表示值是0或者1

C like ‘[01]’,

例:select * from student where sname  like  ‘张%’    表示后面任意

例:select * from student where sname  like  ‘%张%’   只要有张字符就合法

Select * from student where sex like ‘[01]’,     表示性别可以选择0 或者 1

Select  *  from  student  where gradeId   in  (“0” , ”1”),  表示gradeId的值是0或则1都符合条件

Select  * from scroe  where  score (not) between   60  and  80

使用in在列举值中查询

例:select  sname as 学生姓名,from  student where  address  in (’北京’,’上海’,’广州’) order  by  address

(group by)用于对列进行分组,前面必须先select 后面有列(此列),才能使用 group by 加此列

Having也是相当于where条件关键词:但having用于使用了聚合函数的表达式进行加条件    having  +用于聚合函数使用的表达式(条件)

SUM(列名) 返回一个值,返回的是此列名的所有值的和

AVG(列名) 返回的是此列的所有的值的平均值

max返回此列所有值得最大值,min返回此列所有值得最小值

分组查询就是把列进行不同值得分组,然后在分组的基础上分开查询! 分组查询一般结合着聚合函数一起使用!

例子(语法):select couseID ,(第二个分组列) AVG(Score)  as 别名  from 表名 group by couseID,(第二个分组列)

注意:如果是多分列的话,直接在couseID后面和group by 后面的cousrID加列就行了

如果使用了group  by 关键词查询,在select 后面指定的列是有限的,允许:

要分组的列

值得表达式 :如聚合函数

Having和where条件类似,不过having条件只能用于group  by 分组过后进行加条件

顺序:(where     group by       having)

内连接查询

内连接查询一般用于两个表有朱外键关系的表,(更具表中的共同的列匹配)

语法1:select  列,列 from 表名,表名   where 表.列名=表.列名(两个列有朱外键关系)

语法2:select  列,列 from 表名  inner  join  表名   on表.列名=表.列名(两个列有朱外键关系)

(如果是多个表,直接在列后面加,或者在后面加inner  join  on  条件)

外连接查询

外连接查询至少返回表中的所有记录,根据匹配的有选择的返回另一章表的记录

(一般,如果主表中有的记录可能没有,也会以null的形式返回,一主表为中心,返回主表那么多条数据)

左外链接:

语法:select  列,列 from 表名 left  join  表名   on表.列名=表.列名(两个列有朱外键关系)

右外链接:

语法:select  列,列 from 表名 right  join  表名   on表.列名=表.列名(两个列有朱外键关系)

(一般以from后面的表为主表)外连接查询,以主表为中心,返回主表那么多条数据你,即使有的数据可能没有,以null显示

u  Case   when   列 =值   then  ‘别名值’  when   列 =值   then  ‘别名值’  end

DataSet:是专门为独立任何数据源的数据访问而设计的.使用它,可以不必直接和数据源打交道,大批量的独立操作,也可以将数据绑定在空件上.

Connetion

建立数据源的连接功能

Commend

对数据库执行命令(比如sql语句)

DataReader

从数据源中读取只进且只读的数据源

DateAdpter

用数据源填充DateSet并解析更新

属性

说明

ConnectionString

设置/获取应用程序连接数据库的连接字符串

方法

说明

Void  open()

使用connectionString属性打开数据库连接

Viod  Close()

关闭数据库连接

建立数据库与应用程序建立联系三步走:

Try-catch-finally:

Try:一般把容易出现问题的代码的语句放在try结构里面.

Finally:一定会执行的代码,一般把关闭数据库连接的代码放在里面

例子:SqlCommend  commend=new   sqlcommend(string sql, sqlconnection  conn);

Commend对象的主要属性和方法

属性

说明

Connection

Commend对象使用数据库连接

CommandText

执行sql语句

方法

说明

IntExcuteNonQuery()

执行不返回的语句,如增,删,改

sqlDataReader ExcuteReader()

执行sql语句,返回dataReader对象,用于查询

Object ExcuteScalar()

返回单个值,,如执行count(*),返回首行的第一列

创建:SringBuffer  stb=new  StringBuffer();

可以节省空间,应为在后面用AppendLine追加字符串的时候不会从新创建空间

String Buffer常用的属性和方法

属性

说明

Capacity

获取或设置可包含在当前对象所分配的内存中的最大字符个数

Lenth

获取当前对象长度

方法

说明

String Budffer  AppendFroma(string fromat,object arg0,object arg1)

添加特点格式的字符串

StringBuffer Insert (int index,string Value

在指定的位置插入指定的字符串

String Buffer  Append (string value)

在尾部追加字符串

Remove  (int startInedx,int length)

移除指定字符串

Z转化为字符串格式的字符

Commend对象:ExcuteReader()方法,返回的是dataReader对象,通过DataReader就可以从据库读取多条数据了.

DataReader对象的主要属性和方法

属性

说明

HasRows

FieldCount

当前的行数

方法

说明

Bool Read()

Void  Colse()

关闭DataReader对象

创建一个DataReader对象需要调用Commend对象的ExcuteReader() 方法,返回值是一个DataReader对象,可以调用Reader()方法读取一行记录

步骤:

例:(string)dataReader[“StudentName”];

EXcuteNonQuery()  此方法是用来进行增,删,改 用comm. EXcuteNonQuery()方法,

15.3:commend对象的ExcuteNonQuery()方法用于执行指定的sql语句,如update,dalete,它返回的是受影响的记录行数,现在使用Commend对象的ExcuteNonquery();

THE END
0.SQLServerManagementStudio(SSMS)|MicrosoftLearnLearn SQL Server Management Studio 焦点模式 什么是 SQL Server Management Studio (SSMS)?适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsSQL Server Management Studio (SSMS)是用于管理任何 SQL 基础结构的集成环 jvzquC41nggsp7rketutqoy0eqs0|q2ep1yto|4usn3tg{{gt/sbpjlgogtu/|ywfku.u|ruAxofyFxsn/yftjt/xks3>
1.史上最全SQL数据库入门到精通笔记合集本笔记系统梳理了SQL数据库的全部基础知识,涵盖数据库类型、核心语法(DDL、DML、SELECT、JOIN、分页)、数据库设计范式(1NF、2NF、3NF、BCNF)、性能优化策略(索引、查询优化、分区、缓存)、安全机制(权限、加密、审计)以及SQL Server特有功能(T-SQL、分布式处理、报表服务)。内容结构清晰,理论结合实践,适合初学者全面jvzquC41dnuh0lxfp0tfv8|gkzooa=77339858ftvkimg8igvcomu86762:8::8
2.關於每個資料庫系統管理員應該知道的SQLServer中使用磁碟機的您的SQL Server 安裝停用磁碟快取,並提供穩定的 I/O 快取的控制站的能力而定。順序將資料寫入各個磁碟不是 SQL Server 的障礙,只要控制站能提供正確的穩定媒體快取功能。控制站設計的複雜性會隨進階的資料安全性技術 (如鏡像)。 若要完整保護您jvzquC41uwvqq{y0okisq|thv0ipo8j/jq0vxuke1+F;.>9';I&G?*;8'HD'N;'CH+9H.J7':6&:K*G:'H4'A<'G8+:8.>;'G;&DJ*CD'K8'K8'DD+F9.G7'D7&G@*CG'G2'N<';2+98.J7';9&C:*G8'>8'A>'G:+B;.G4'G=&;O*C7'K:'A6';5+F9.>C'::.uzq/ugxwg{2'G6+C:.FF'G:&DM*DH'K8'B9'C:+F9.F5':7&G@*C4'?G'N;'C;+:H.J9';G&:=*G7'HG'JG'G7+9H.>8'G=&;J*:6'K9'K8':9+F:.F:':G.9n:g96i6/n766/77:92d2f8.9B8eh8?eel52
3.从0到1吃透SQL:这份笔记帮我搞定数据库操作核心刚接触数据库时,我总被各种 SQL 命令绕得晕头转向 —— 明明都是字母组合,怎么有的负责建表、有的负责删数据,还有的能玩出分组查询的花样?后来跟着项目实操,边学边记整理出这份笔记,没想到竟成了我应对日常开发和面试的 “救命稻草”。今天就把这份干货拆解开来,从 SQL 分类到实战命令,带你一步步搞懂数据库操jvzquC41dnuh0lxfp0tfv869;=:;:981cxuklqg1fkucrqu13;29;:3;7
4.SQLServer2022|Microsoft借助集成的数据平台,轻松调整和适应快速发展的环境,为应用程序添加智能层,发现预测性见解,并治理任何地方的数据。 了解详细信息 技术社区论坛:SQL Server 和 Azure 数据库 通过留言板与 Microsoft Engineering 专家和社区的其他成员联系,并访问其他资源。 SQL ServerAzure 数据库 jvzquC41yy}/orhtquugv7hqo1€i/ls1usr.unwxgt5tsu2ugt|ft67244
5.基础知识RMAN基础知识Part2腾讯云开发者社区文章被收录于专栏:数据库学习笔记 关联问题 换一批 RMAN是什么? RMAN的主要功能有哪些? 如何使用RMAN进行备份? 接上一篇【基础知识】RMAN基础知识-Part1 利用两篇将之前学的内容整理出来,又做了一遍实验,常用不常用的都有。有很多可以深挖的点,后面再慢慢搞 一、配置备份集-备份片-压缩-加密 1.配置备份集最大大小 代 jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk03A6893=
6.AI训练营SQLSQL基础:初识数据库与SQL-安装与基本介绍等学习打卡点击开启学习 02 Task 2 SQL基础:查询与排序-select、运算符、聚合分组查询等学习打卡点击开启学习 03 Task 3 SQL进阶:复杂查询方法-视图、子查询、函数等学习打卡点击开启学习 04 Task 4 SQL进阶: 集合运算-表的加减法和join等学习打卡点击开启学习 训练营规则 jvzquC41vkgoeqn0cnozww3eqo5trnhkcny0r{toqvopp8fkecsquzq
7.史上最全SQL基础知识总结(理论+举例)sql数据库基础知识SQL基础知识 一、SQL 概述 1、什么是 SQL 2、语法要求 二、SQL 分类 三、DDL(Data Definition Language):数据定义语言 基本操作 1.操作数据库 2.数据类型 3.操作表 四、DML(Data Manipulation Language):数据操作语言 1.插入数据 2.修改数据 3.删除数据 jvzquC41dnuh0lxfp0tfv8r2a8=52;5481gsvrhng1jfvjnnu1737<=;79>
8.SQLServer笔记(超详细,值得收藏)sqlserver学习笔记本文详细介绍了SQL的基础知识,包括数据库和表的创建与管理、数据的增删改查操作、索引和事务的使用等内容。 💂 个人网站:【紫陌】【笔记分享网】 💅 想寻找共同学习交流、共同成长的伙伴,请点击【前端学习交流群】 目录 1.创建数据库 2.创建,删除表和使用表 jvzquC41dnuh0lxfp0tfv8|gkzooa><8999128ftvkimg8igvcomu86487>:6>5
9.数据库基础数据库基础 本文对数据库进行了简要概述:什么是数据库、为什么要使用数据库以及数据库不同部件的作用。 术语适用于 MicrosoftAccess 数据库,但这些概念适用于所有数据库产品。 本文内容 什么是数据库? Access 数据库部件 什么是数据库? 数据库是一种用于收集和组织信息的工具。 数据库可以存储有关用户、产品和订单 jvzquC41uwvqq{y0okisq|thv0ipo8j/et0c{ykenk0cA9;ce77/9.5l=e;6g8e;56Apy>p~qn(xksurtp?3<
10.数据库复习笔记(全覆盖,包括往年部分真题)腾讯云开发者社区文章介绍数据库系统知识,涵盖数据库基本概念、数据模型、系统结构、关系数据库基础、SQL语言、数据库设计、保护及新技术等内容,还分享学习心得与博文排版问题。jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk049:7866
11.mysql基础知识笔记wangfan000mysql基础知识笔记 0. 介绍和安装 0.1 介绍 RDBMS : 关系型数据库 ,代表产品: Oracle MySQL MSSQL PG NoSQL:非关系型的数据库,易拓展,大数据量,高性能,代表产品:MongoDB Redis ES NewSQL:不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID(原子性、一致性、隔离性、持久性)和SQL(结构化查jvzquC41yy}/ewgnqiy/exr1hctgcwf1r1765::9954ivvq
12.数据库入门笔记(基础篇)数据库基础学习数据库入门笔记(基础篇) 本文介绍了数据库的基本概念,包括数据库管理系统(DBMS)和SQL语言。详细阐述了关系型数据库的特征,如使用表存储数据和SQL进行操作。接着,讲解了SQL的通用语法、分类以及DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)的用途。此外,讨论了数据类型、表的操作(jvzquC41dnuh0lxfp0tfv8hqps{fthoul1gsvrhng1jfvjnnu1742>57;2;
13.SQL基础(超详细版!!)基础sql一、SQL概述 1.1 什么是SQL SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server等。SQL标准(ANSI/ISO)有: SQL-92:1992年发布的SQL语言标准; SQL:1999:1999年发布的SQL语言标签; jvzquC41dnuh0lxfp0tfv8Gqpatfp~q1ctzjeuj1fgzbkux133?49B547
14.SQL基础(自己笔记)sql练习笔记SQL基础(自己笔记) SQL基础 基本知识点 SQL 分类 基本数据类型 基础篇 DDL(数据库操作) DDL(数据表操作) DML(数据操作) DQL(查询操作) 查询条件: 1.基础查询: 2.排序查询: 3.聚合函数: 4.分组查询: 5.分页查询: 6.书写顺序: 约束 事务 1.方法一jvzquC41dnuh0lxfp0tfv8MG;;<0c{ykenk0fnyckny03=798:<:5
15.计算机网络计算机网络基础知识笔记腾讯云开发者社区【计算机网络】计算机网络基础知识笔记 相关视频——计算机网络微课堂(有字幕无背景音乐版) 前言 因特网概述 网络、互联(连)网和因特网 网络是由若干结点和连接这些结点的链路组成的。 多个网络还可以通过路由器互联起来,这样就构成了一个范围更大的网络,即互联网。因此,互联网是网络的网络。jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk04;=8266
16.SQLServer数据库收缩相关知识笔记腾讯云开发者社区1、为什么要进行数据库收缩? SQL Server 数据库采取预先分配空间的方法来建立数据库的数据文件或者日志文件,比如数据文件的空间分配了300MB,而实际上只占用了20MB空间,这样就会造成磁盘存储空间的浪费。可以通过数据库收缩技术对数据库中的每个文件进行收缩,删除已经分配但没有使用的页。从而节省服务器的存储的成本。 2jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk03A6277?
17.SQLServer基础学习笔记sqlserver软件操作笔记Server 基础学习笔记 一、SQLServer简介 SQL Server 是微软公司开发的一种关系型数据库管理系统(RDBMS),它支持 ANSI SQL 标准并且拥有自己的 T-SQL 扩展。SQL Server 被广泛应用于企业级数据管理和商业智能应用。 二、SQL Server 安装与配置 安装步骤: jvzquC41dnuh0lxfp0tfv8jvjpodk}~dgvg0c{ykenk0fnyckny03<=;83974