SQLServer基础笔记总结
SQL Server基础笔记总结
//1.数据库
1.1 连接数据库
当可以连接到⼀台电脑进⾏操作时:Windows
当只能连接到电脑的数据库时:SQL Server
1.2 ⽂件
主要数据⽂件.mdf:存放数据和初始化信息。有且只有⼀个
次要数据⽂件.ndf:存放主要数据以外的所有⽂件。可能没有或有多个
事务⽇志⽂件.ldf:存放所有⽇志信息。有或有多个
1.3 组成
数据操作语⾔:DML、manage、插⼊删除修改数据
数据控制语⾔:DCL、control、控制存取许可,存取权限等
数据查询语⾔:DQL、query、查询数据
数据定义语⾔:DDL、define、定义列
D:data数据 L:language语⾔
1.4 约束:确保完整性
⾮空约束Primary Key:⼀列或多列成为表的主键,⼀个表只能⼀个主键
唯⼀约束Unique:确保⼀列数据没有相同的值,⽤于⾮主键的⼀列或多列的组合,⼀个表可定义多个操作: 右击列名-索引/值-常规类型-唯⼀键
检查约束Check:设置⼀列或多列的值的范围,值必需满⾜Check条件
操作: 右击列名-CHECK约束-写约束表达式
默认值约束Default:没指定数据时,会赋默认值,⽽需要列添加默认(系统默认值:NULL)
操作: 常规-默认值或绑定-设置⼤⼩
外键约束Foreign Key:对关系进⾏有效性检查,当然有关系时,也可以不做外键
1.5 完整性
域完整性:数据⾏不能存在重复
实体完整性:对输⼊到特点列的数值的限制
引⽤完整性:⼦表的相关项必须在主表中存在
⾃定义完整性:强化约束
1.6 主键
⽤于唯⼀标识数据的⼀条列,不能有重复的,不允许为空
1.7 外键
表的外键是另⼀表的主键, 外键可以有重复的, 可以是空值
1.8 注释
-- ⽂本
//1.数据库常⽤对象
1.1 表
包含数据库中所有数据的数据库对象,由⾏和列组成
1.2 字段
表中每列称为⼀个字段,它的属性有字段类型,字段⼤⼩等
1.3 索引
单独的、物理的数据库结构。它是依赖于表建⽴的,可以数据
1.4 视图
从⼀张或多张表中导出的表(虚拟表),表中包括⼏个被定义的数据⾏或列
1.5 存储过程
⼀组功能的语句合集,经编译后存储在数据库,由⽤户通过指定名称来执⾏。当被调⽤时,这些操作也会同时执⾏//2:局部变量的声明与赋值
2.1 变量:可以变化的量就是变量说明我的变量的值不固定是随时可以进⾏变化操作
2.2 取名:@开头表⽰局部变量、@@表⽰全局变量
2.3声明与赋值
声明:declare 变量名 数据类型
赋值:set 变量名 = 值
声明并赋值:declare 变量名 数据类型 = 值
例如:declare @i int = 100
2.4 系统定义的全局变量
最后⼀次插⼊的ID(标识值)、没有则返回null:@@identity
最后⼀个T-SQL错误的错误号:@@error
当前使⽤的语⾔名称:@@language
本地服务器的名称:@@servername
可以创建的同时连接的最⼤数⽬:@@max-connections
SQL Server的版本信息:@@version
2.5 输出:print 输出内容
//3.数据类型
3.1 图形数据image:存储图像
image 字节 取值范围:0 ~ 2147483647
3.2 ⾮unicode数据char - varchar:字节,英⽂占⼀个字节,中⽂占两个字节
可变长度:varchar 字节 取值范围:1-8000
固定长度:char
3.3 unicode数据nchar - nvarchar:字符,中英都占⼀个字符,字符=2字节
可变长度:nvarchar 字符 取值范围:1-4000
固定长度:nchar
3.4 ⽂本型数据text:需要存储⼤量字符时
text 占2048字节 最⼤长度为:2147483647字节
ntext 占2048字节 最⼤长度为:1073741283字符
3.5 整数数据int - bigint - smallint - tinyint
tinyint 1字节 取值范围:0-255
smallint 2字节 取值范围:-32768 ~ 32767
int 4字节 取值范围:-2147483648 ~ 2147483647
bigint 8字节 取值范围:-2的63次⽅ ~ 2的63次⽅-1
3.6 数字数据float - decimal - numeric:精度为n1,⼩数位占n2
decimal(n,n) 取值范围:10^38 +1、(精度最⼤38、默认18)
numeric(n,n)
精度1 - 9:5字节 精度10 - 19:9字节
精度20 - 28:13字节 精度29 - 38:17字节
浮点型:float(n) 取值范围:1-53、(精度最⼤53、默认53)
精度1 - 24:4字节 精度25 - 53:8字节
3.7 ⽇期和时间数据datetime - smalldatetime:年-⽉-⽇时:分:秒.毫秒
datetime 8字节 ⽇期范围:1753-1-1 ~ 9999-12-31
smalldatetime 4字节 ⽇期范围:1900-1-1 ~ 2079-12-31 (没毫秒)
3.8 货币数据money - smallmoney
money 8字节 取值范围:-2的63次⽅ ~ 2的63次⽅-1
smallmoney 4字节 取值范围:-2147483648 ~ 2147483647
3.9 布尔型bit:只存储"0"和"1",0是false,1是true
//4.类型转换
4.1 ⾃动类型转换:
整数+⼩数=⼩数
字符串+整数=整数
字符串’1.3’只能转⼩数,不能转整数
4.2 强制类型转换:
cast(字段或表达式 as 要改的类型)
基本的增删改查语句
convert(int,字段) 例如:select convert(int,‘3’)
//4.运算符和通配符
5.1 算术运算符
+(加) - (减) *(乘) /(除) %(模)
5.2 ⽐较运算符
> < >= <= =(等于) != 或 <>(不等于)
5.3 逻辑运算符
逻辑运算符作⽤
and与
all操作⾄少三个‘与’
or或
any操作⾄少三个‘或’
not⾮
some操作⾄少三个,有⾄少两个为true
模糊查询作⽤
like模糊
between在连续范围内
in⾮连续范围内5.4 位运算符
&(1个为0就为0)
|(1个为1就为1)
^(不相同为1,相同为0)
5.5 查询通配符
%(多个任意字符)
_ (单个任意字符)
[](指定范围的单个字符)
[^](不在指定范围的单个字符)
//1.⽂件
1.1 附加与分离:程序员与程序员交换数据
1.2 备份与恢复:程序员从⾃⼰数据安全⾓度做操作
1.3 导出与导出:程序员与⾮程序员交换数据
导出记事本:平⾯⽂档、⼀次只能导出⼀个表
导出Excel表格:⾮平⾯⽂件、⼀个表格就是⼀个⼯作薄,可以存放多个表导⼊:可修改并导⼊、默认是varchar类型,在映射修改
SQL Server 增删改查
//1.增加
1.1 部分列插⼊:值与给出的列顺序对应
insert into 表名(列名1,列名n) values(值1,值n)
1.2 部分列多⾏插⼊
insert into 表名(列名1,列名n) values(值1,值n) , values(值1,值n) 1.3 全列插⼊:值与表字段的顺序对应
insert into 表名 values(列1的值,列n的值)
insert into 表名 select 列1的值,列n的值
1.4 全列多⾏插⼊
insert into 表名 values(列1的值,列n的值) , (列1的值,列n的值)
insert into 表名 select 列1的值, 列n的值 union select 列1的值, 列n的值1.5 查询旧表数据插⼊到新表
select 列名1,列名n into 新表名 from 表名
1.6 插⼊常量列
select 列名,‘常量列值’ from 表名
//2.删除
2.1 基本删除:delete from 表名 where 条件
范围:表格、视图、不会减少所占⽤空间
2.2 删除全部⾏、且不记录⽇志:truncate table 表名
范围:表格、删除后占⽤空间恢复为初始⼤⼩
2.3 删除整个表、且不记录⽇志:drop table 表名
范围:表格、占⽤空间全部释放,存储过程和函数变更为invalid
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论