目录
SQL SERVER概念
1.创建服务器
方式:工具创建 /脚本创建
身份验证 Windows【无需密码】/ SQL Server身份验证【需要密码】
【windows身份验证登录】安全性——登录名——右键登陆名,选择新建登录名
【SQL server身份验证】设置密码,给他设置服务器角色(类似于权限)。
SQLserver登录通常使用较多,不会
创建数据库:找到数据库节点,选择新建数据库,设置数据库名称,大小,自动增长、路径即可。
2.数据库文件
数据库:文件的形式 ,由文件和文件组组成
2.1文件的存在形式
1)主要数据文件 存放数据和数据库初始化信息。每个数据库有且只能有一个主要数据文件。 .mdf 拓展名
2)次要数据文件 存放除了主要文件以外的所有数据的文件。 次要数据文件后缀名.ndf拓展名【次要文件并不是必须的,可以没有,如果有,可以能是一个,也可能是多个。】
3)事务日志文件 (默认.ldf拓展名) 存放用于恢复数据库的所有日志信息。每个数据库至少要有一个日志文件,也可以是多个。
2.2文件组
数据库文件的一种逻辑管理单位,将数据库文件分成不同的文件组,方便对文件进行分配和管理。
1)主文件组 primary 包含主要数据文件和没有明确指派给其他数据组的文件、
2)用户自定义的文件组 Create DateBase 或 alter DateBase 语句中,用于 fileGroup 关键指定的文件组 。
设计原则
a. 文件只能是一个文件组的成员。
b. 文件或文件组不能有一个以上的数据库使用。
c. 数据和日志信息不能属于同一个文件或文件组。
d. 日志文件不能作为文件组的一部分。
3.数据库对象
1.表 包含数据库中所有数据的对象,由行和列组成,用于组织和存储数据。
2.字段 表中的列,一个表可以由多个列,拥有自己的属性:列名、数据类型(决定存储那种类型的数据)、大小(长度)
3.视图 表(虚拟表)一张或多张表中导出的表 用户查看数据的一种方式,结构和数据的建立在对表的查询基础之上的。
4.索引 为了给用户提供一种快速访问数据的途径,索引依赖于表建立的,检索数据无需对整张表进行扫描,可以快速找到所需的数据。
5.存储过程 是一组为了完成特定功能的SQL语句的 集合(查询、插入、修改、删除),编译后,存储过程就会存储在数据库中,以名称/参数进行调用,当调用执行时,里面定义的操作就会被执行。
6.触发器 在数据库中,用户自定义的SQL事务命令集合,针对于表来说,当对表执行增删改操作时,事务命令就会自动触发去执行。
7.约束 对数据表的列,进行一种限制,可以更好的规范表中的列。
8.缺省值 对表中的列可以指定一个默认值,当进行插入时,如果没有为这个列插入值,那么就会自动以预算设置的默认值进行自动补充。
4.数据类型
4.1数值型
整形数据类型:bigint 8字节 > int 4字节 > smalint 2字节 > tinyint 1字节
浮点型:
float 表示近似数值,存在精度损失,数据类型是float(n)
real 也表示近似值,可以直接用float(24)表示
decimal 表示精确数值,不存在精度损失,数据类型是 decimal(p,s)需要分别指定小数的最大位(p)和最小位(s), p表示指定小数的最大位数,s表示小数点右侧的位数。
货币类型(可以精确到万分之一):
smallmoney 介于 -214,748.3648和214,748.3647之间
money 介于 -922,337,203,685,477.5808和923,337,203,685,477.5807之间
4.2二进制数据类型
bit 允许 0、1或null
binary(n) 固定长度的二进制,最多8,000字节。
varbinary(n)可变长度的二进制,最多8,000字节。
varbinary(max)可变长度的二进制,最多2GB。
image 可变长度的二进制数据,最多2GB。——图片存储位置
4.3字符型
character 字符串:
char(n) 固定长度的字符串,最多8,000字节。 char ——固定位数,若表中字节不足,则以空格填满。
varchar(n) 可变长度的字符串,最多8,000字节。 varchar ——非固定位数,可自定义字节。
varchar(max) 可变长度的字符串,最多1,073,741,824字节。
text 可变长度的字符串,最多2G字符数据。
unicode字符串:
nchar(n) 固定长度的 unicode 数据 ,最多4000字节。 (前面带n的不管是中文汉字还是英文或数字,他的存储大小都是两个字节)
nvarchar(n) 可变长度的 unicode数据,最多4000字节。——存储大小位两个字节,存储中文信息最常用。
nvarchar(max) 可变长度的 unicode数据,最多536,870,912字节。
ntext 可变长度的 unicode数据,最多2GB字符数据。
4.4日期类型
datetime 从1753年1月1日到9999年12月31日,精度3.33毫秒。——精度大
datetime2 从1753年1月1日到9999年12月31日,精度100纳秒。——精度最准
smalldatetime 从1900年1月1日到2079年6月6日,精度位1分钟。——精度小
date 仅存储日期,从0001年到1月1日到9999年21月31日。 ——仅存储日期
time 进存储时间,精度位100纳秒。
datetimeoffset 与datetime2相同,外加时间偏移。
timesstamp 存储唯一的数字,每当创建或修改某行时,该数字和时间会更新。timestamp是基于内部时钟,不对应真实时间,每个表只能由一个timestamp变量。
getdate() 创建日期
4.5其他类型
sql variant 存储最多8000字节不同数据类型的数据,除了text、ntext以及timestamp
uniqueidentifier *存储全局标识符 (GUID)
xml 存储xml格式化的数据,最多2GB。
cursor 存储在用于数据库操作的指针的引用。
table 存储结果集,供稍后处理。
5.创建表
5.1工具创建表
表中含有:列 数据类型 是否null
一个表中,会有很多条记录,需要一个列唯一标识一条数据
主键:唯一表示一条数据。
【设置为主键的条件:值 不能重复,不能为空】
标识列: 不能手动插入,是数据插入时自动生成的
【若表中设置有标识列,数据库里删除了数据,因为有标识列的存在,再插入就会导致数据不连续】
【设置标识列条件:数据类型是整形,不带小数】
【标识种子,以1开始及为1,以100开始及为100,增量设置为几就每次自动增长多少。】
5.2创建主键
联合主键:唯一标识; 创建一个主键,同时自动创建一个聚集索引
5.3创建外键
外键:一般两个表之间要建立关联的时候,需要创建外键
【设置外键的条件:一个列创建为外键,它在另一个表中必须是主键】 【添加外键的方式:SQL SERVER进入表,右键对应列中的关系,添加外键,选择外键关系,选定对应字段。】
【一个表可以有多个外键关系,一个表只能有一个主键,也可以没有主键】
外键约束:两个表一但建立外键关系,外键表里对应的外键列,它的值必须是他对应的主键表里的主键值,如果想插入一个不存在的值,无法插入。
5.约束
5.1定义
规定表中的数据规则,如果存在违反约束的数据行为,行为就会被阻止。
什么时候可以创建约束:【a.使用软件工具创建,在创建表之后;b.使用脚本创建表,可以在创建过程中,也可以在创建表之后】
5.2分类
主键约束(Primary key):主键唯一标识、不能重复、不能为空、不能被修改。
外键约束(Foreign key):加强两个表(主表从表)一列或多列数据之间的连接。【配置顺序:先建立主表的主键,然后再定义从表中的外键,只有主表中的主键才能被从表用来作为外键使用。】
唯一约束(Unique 约束):唯一性约束,确保表中的一列数据没有相同的值。与主键约束相似,但又不同,主键只能有一个,但一个表中可以定义多个唯一约束。
检查约束(Check约束):通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。
默认约束(Default约束):默认值约束,在插入新的数据行时,如果该行没有指定数据,那么系统就会将默认值赋给该列,如果没有设置默认值,系统就会默认为NULL。
6.数据库脚本
数据库脚本:用于创建数据库对象的语句结合。
T-SQL:Transact-SQL 基于SQL的结构化查询语言,用于应用程序和数据库之间沟通的编程语言。Sql server支持的脚本语言。
SQL语言:一种有目的的编程语言,用于存取数据、查询、更新和管理关系数据库,高级非过程化的编程语言。【作用:可以完成移植,可以提高数据访问效率,同时完成对数据的相关处理】
SQL语言分类:
1)DQL 数据查询语言
Select From 表面 where 条件
2)DML 数据操作语言
a. Insert插入 insert into 表名 (列1,列2,...) values (对应的值,对应的值)
b. Update更新 update 表名 set 列名 = 值,列明 = 值 where条件
c. Delete删除 delete from 表名 where 条件
3)DDL 数据定义语言
创建数据库及其对象 Create Datebase(数据库)/Table(表)/View(视图)/Proc(存储过程)/Index(索引)
4)DCL 数据控制语言 用于授权或回收访问数据库某种权限 commit 提交、rollback回滚、grant 授权
7.创建数据库(使用TSQL)
为什么要选择master数据库?【不要修改master数据库的初始文件,可以进行查询,别修改】
master数据库:
a.系统数据库,它记录了SQL Server系统的所有系统级信息;
b.记录了所有其他数据库的存在,数据库文件的位置;
c.SQL Server的初始环境。
7.1 创建新数据库的脚本
create database 数据库名称
on primary --主文件组 其中添加主要数据文件
(
name='主要数据库的逻辑文件名',
filename='数据库路径.mdf', --绝对路径
size=‘初始大小’
filegrowth='文件增量'
)
log on--创建日志文件
(
name='数据库日志文件的逻辑名',
filename='日志文件的路径.ldf', --绝对路径
size=‘初始大小’
filegrowth='文件增量'--设置为10%即可
)
go--go语句分隔的部分会被分别编译为两个执行计划
7.2 删除数据库
drop database 数据库名称
本文详细介绍了SQLSERVER的概念,包括创建服务器、数据库文件的构成、数据类型分类、表的设计、主键、外键和约束的使用,以及数据库脚本和T-SQL语言的应用。涵盖了创建新数据库、删除数据库以及数据操作的方方面面。

被折叠的 条评论
为什么被折叠?



